From ec1cc69c8e362d1a647763a1210de42f9fa37823 Mon Sep 17 00:00:00 2001 From: Ashwin Ramaswami Date: Wed, 18 Jan 2023 19:47:26 +0000 Subject: [PATCH 1/7] Test indexed_gzip code with GzipStream --- indexed_gzip/tests/ctest_indexed_gzip.pyx | 115 ++++++++- indexed_gzip/tests/test_indexed_gzip.py | 234 +++++++++--------- .../tests/test_indexed_gzip_threading.py | 80 +++--- .../tests/test_nibabel_integration.py | 98 ++++---- indexed_gzip/tests/test_zran.py | 174 ++++++------- indexed_gzip/zran.c | 8 +- 6 files changed, 411 insertions(+), 298 deletions(-) diff --git a/indexed_gzip/tests/ctest_indexed_gzip.pyx b/indexed_gzip/tests/ctest_indexed_gzip.pyx index 1c22848c..1d0023ae 100644 --- a/indexed_gzip/tests/ctest_indexed_gzip.pyx +++ b/indexed_gzip/tests/ctest_indexed_gzip.pyx @@ -36,11 +36,113 @@ from . import tempdir from . import touch from . import compress +from collections import deque + from libc.stdio cimport (SEEK_SET, SEEK_CUR, SEEK_END) +class BytesBuffer(BytesIO): + """ + A class for a buffer of bytes. Unlike io.BytesIO(), this class + keeps track of the buffer's size (in bytes). + """ + + def __init__(self): + self.__buf = deque() + self.__size = 0 + self.__pos = 0 + + def __len__(self): + return self.__size + + def write(self, data): + self.__buf.append(data) + self.__size += len(data) + # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") + + def read(self, size = None): + if size is None: + size = self.__size + ret_list = [] + while size > 0 and len(self.__buf): + s = self.__buf.popleft() + size -= len(s) + # print(f"In BytesBUffer read, current size to read: {size}") + ret_list.append(s) + if size < 0: + # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") + ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] + self.__buf.appendleft(remainder) + + ret = b''.join(ret_list) + self.__size -= len(ret) + # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") + self.__pos += len(ret) + return ret + + def peek(self, size: int): + b = bytearray() + for i in range(0, min(size, len(self.__buf))): + b.extend(self.__buf[i]) + return bytes(b)[:size] + + def flush(self): + pass + + def close(self): + pass + + def tell(self): + return self.__pos + + def __bool__(self): + return True + + +class GzipStream(BytesIO): + """A stream that gzips a file in chunks. + """ + + def __init__(self, fileobj): + self.__input = fileobj + self.__buffer = BytesBuffer() + self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) + self.__size = 0 + + def _fill_buf_bytes(self, num_bytes=None): + while num_bytes is None or len(self.__buffer) < num_bytes: + s = self.__input.read(num_bytes) + print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + if not s: + self.__gzip.close() + break + self.__gzip.write(s) # gzip the current file + + def read(self, num_bytes=None): + self._fill_buf_bytes(num_bytes) + # print(f"In GzipStream read(). num_bytes = {num_bytes}") + data = self.__buffer.read(num_bytes) + # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") + self.__size += len(data) + print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") + return data + + def close(self): + self.__input.close() + + def peek(self, num_bytes): + self._fill_buf_bytes(num_bytes) + return self.__buffer.peek(num_bytes) + + def tell(self): + print("In GzipStream, tell() is called") + return self.__size + + def seekable(self): + return False + def error_fn(*args, **kwargs): raise Exception("Error") @@ -918,7 +1020,7 @@ def test_build_index_from_unseekable(): idxfname = op.join(td, 'test.gzidx') # make a test file - data = np.arange(524288, dtype=np.uint64) + data = np.arange(5242, dtype=np.uint64) with gzip.open(fname, 'wb') as f: f.write(data.tostring()) @@ -928,7 +1030,9 @@ def test_build_index_from_unseekable(): b = f.read() fileobj = BytesIO(b) - def new_seek(*args, **kwargs): + fileobj = GzipStream(data) + + """def new_seek(*args, **kwargs): raise OSError() def new_tell(*args, **kwargs): raise OSError() @@ -936,12 +1040,17 @@ def test_build_index_from_unseekable(): old_tell = fileobj.tell fileobj.seekable = lambda: False fileobj.seek = new_seek - fileobj.tell = new_tell + fileobj.tell = new_tell""" + + + # generate an index file with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: f.build_full_index() f.export_index(idxfname) points = list(f.seek_points()) + + return fileobj.seek = old_seek fileobj.tell = old_tell fileobj.seekable = lambda: True diff --git a/indexed_gzip/tests/test_indexed_gzip.py b/indexed_gzip/tests/test_indexed_gzip.py index c1c85a28..aaf5cda1 100644 --- a/indexed_gzip/tests/test_indexed_gzip.py +++ b/indexed_gzip/tests/test_indexed_gzip.py @@ -14,175 +14,175 @@ pytestmark = pytest.mark.indexed_gzip_test -def test_open_close(testfile, nelems, seed): - ctest_indexed_gzip.test_open_close(testfile, nelems, seed, False) +# def test_open_close(testfile, nelems, seed): +# ctest_indexed_gzip.test_open_close(testfile, nelems, seed, False) -def test_open_function(testfile, nelems): - ctest_indexed_gzip.test_open_function(testfile, nelems) +# def test_open_function(testfile, nelems): +# ctest_indexed_gzip.test_open_function(testfile, nelems) -def test_open_close_drop_handles(testfile, nelems, seed): - ctest_indexed_gzip.test_open_close(testfile, nelems, seed, True) +# def test_open_close_drop_handles(testfile, nelems, seed): +# ctest_indexed_gzip.test_open_close(testfile, nelems, seed, True) -def test_open_close_ctxmanager(testfile, nelems, seed): - ctest_indexed_gzip.test_open_close_ctxmanager( - testfile, nelems, seed, False) +# def test_open_close_ctxmanager(testfile, nelems, seed): +# ctest_indexed_gzip.test_open_close_ctxmanager( +# testfile, nelems, seed, False) -def test_open_close_ctxmanager_drop_handles(testfile, nelems, seed): - ctest_indexed_gzip.test_open_close_ctxmanager(testfile, nelems, seed, True) +# def test_open_close_ctxmanager_drop_handles(testfile, nelems, seed): +# ctest_indexed_gzip.test_open_close_ctxmanager(testfile, nelems, seed, True) -def test_open_mode(): - ctest_indexed_gzip.test_open_mode() +# def test_open_mode(): +# ctest_indexed_gzip.test_open_mode() -def test_atts(testfile): - ctest_indexed_gzip.test_atts(testfile, False) +# def test_atts(testfile): +# ctest_indexed_gzip.test_atts(testfile, False) -def test_atts_drop_handles(testfile): - ctest_indexed_gzip.test_atts(testfile, True) +# def test_atts_drop_handles(testfile): +# ctest_indexed_gzip.test_atts(testfile, True) -def test_init_failure_cases(concat): - ctest_indexed_gzip.test_init_failure_cases(concat, False) +# def test_init_failure_cases(concat): +# ctest_indexed_gzip.test_init_failure_cases(concat, False) -def test_init_failure_cases_drop_handles(concat): - ctest_indexed_gzip.test_init_failure_cases(concat, True) +# def test_init_failure_cases_drop_handles(concat): +# ctest_indexed_gzip.test_init_failure_cases(concat, True) -def test_init_success_cases(concat): - ctest_indexed_gzip.test_init_success_cases(concat, False) +# def test_init_success_cases(concat): +# ctest_indexed_gzip.test_init_success_cases(concat, False) -def test_init_success_cases_drop_handles(concat): - ctest_indexed_gzip.test_init_success_cases(concat, True) +# def test_init_success_cases_drop_handles(concat): +# ctest_indexed_gzip.test_init_success_cases(concat, True) -def test_accept_filename_or_fileobj(testfile, nelems): - ctest_indexed_gzip.test_accept_filename_or_fileobj(testfile, nelems) +# def test_accept_filename_or_fileobj(testfile, nelems): +# ctest_indexed_gzip.test_accept_filename_or_fileobj(testfile, nelems) -def test_prioritize_fd_over_f(testfile, nelems): - ctest_indexed_gzip.test_prioritize_fd_over_f(testfile, nelems) +# def test_prioritize_fd_over_f(testfile, nelems): +# ctest_indexed_gzip.test_prioritize_fd_over_f(testfile, nelems) -def test_create_from_open_handle(testfile, nelems, seed): - ctest_indexed_gzip.test_create_from_open_handle( - testfile, nelems, seed, False, False) +# def test_create_from_open_handle(testfile, nelems, seed): +# ctest_indexed_gzip.test_create_from_open_handle( +# testfile, nelems, seed, False, False) -def test_create_from_open_handle_drop_handles(testfile, nelems, seed): - ctest_indexed_gzip.test_create_from_open_handle( - testfile, nelems, seed, True, False) +# def test_create_from_open_handle_drop_handles(testfile, nelems, seed): +# ctest_indexed_gzip.test_create_from_open_handle( +# testfile, nelems, seed, True, False) -def test_create_from_file_like_obj(testfile, nelems, seed): - ctest_indexed_gzip.test_create_from_open_handle( - testfile, nelems, seed, False, True) +# def test_create_from_file_like_obj(testfile, nelems, seed): +# ctest_indexed_gzip.test_create_from_open_handle( +# testfile, nelems, seed, False, True) -def test_create_from_file_like_obj_drop_handles(testfile, nelems, seed): - ctest_indexed_gzip.test_create_from_open_handle( - testfile, nelems, seed, True, True) +# def test_create_from_file_like_obj_drop_handles(testfile, nelems, seed): +# ctest_indexed_gzip.test_create_from_open_handle( +# testfile, nelems, seed, True, True) -def test_handles_not_dropped(testfile, nelems, seed): - ctest_indexed_gzip.test_handles_not_dropped(testfile, nelems, seed) +# def test_handles_not_dropped(testfile, nelems, seed): +# ctest_indexed_gzip.test_handles_not_dropped(testfile, nelems, seed) -def test_manual_build(): - ctest_indexed_gzip.test_manual_build() +# def test_manual_build(): +# ctest_indexed_gzip.test_manual_build() -def test_read_all(testfile, nelems, use_mmap): - ctest_indexed_gzip.test_read_all(testfile, nelems, use_mmap, False) +# def test_read_all(testfile, nelems, use_mmap): +# ctest_indexed_gzip.test_read_all(testfile, nelems, use_mmap, False) -def test_read_all_drop_handles(testfile, nelems, use_mmap): - ctest_indexed_gzip.test_read_all(testfile, nelems, use_mmap, True) +# def test_read_all_drop_handles(testfile, nelems, use_mmap): +# ctest_indexed_gzip.test_read_all(testfile, nelems, use_mmap, True) -def test_simple_read_with_null_padding(): - ctest_indexed_gzip.test_simple_read_with_null_padding() +# def test_simple_read_with_null_padding(): +# ctest_indexed_gzip.test_simple_read_with_null_padding() -def test_read_with_null_padding(testfile, nelems, use_mmap): - ctest_indexed_gzip.test_read_with_null_padding(testfile, nelems, use_mmap) +# def test_read_with_null_padding(testfile, nelems, use_mmap): +# ctest_indexed_gzip.test_read_with_null_padding(testfile, nelems, use_mmap) -def test_read_beyond_end(concat): - ctest_indexed_gzip.test_read_beyond_end(concat, False) +# def test_read_beyond_end(concat): +# ctest_indexed_gzip.test_read_beyond_end(concat, False) -def test_seek(concat): - ctest_indexed_gzip.test_seek(concat) +# def test_seek(concat): +# ctest_indexed_gzip.test_seek(concat) -def test_read_beyond_end_drop_handles(concat): - ctest_indexed_gzip.test_read_beyond_end(concat, True) +# def test_read_beyond_end_drop_handles(concat): +# ctest_indexed_gzip.test_read_beyond_end(concat, True) -def test_seek_and_read(testfile, nelems, niters, seed): - ctest_indexed_gzip.test_seek_and_read( - testfile, nelems, niters, seed, False) +# def test_seek_and_read(testfile, nelems, niters, seed): +# ctest_indexed_gzip.test_seek_and_read( +# testfile, nelems, niters, seed, False) -def test_seek_and_read_drop_handles(testfile, nelems, niters, seed): - ctest_indexed_gzip.test_seek_and_read(testfile, nelems, niters, seed, True) +# def test_seek_and_read_drop_handles(testfile, nelems, niters, seed): +# ctest_indexed_gzip.test_seek_and_read(testfile, nelems, niters, seed, True) -def test_seek_and_tell(testfile, nelems, niters, seed): - ctest_indexed_gzip.test_seek_and_tell( - testfile, nelems, niters, seed, False) +# def test_seek_and_tell(testfile, nelems, niters, seed): +# ctest_indexed_gzip.test_seek_and_tell( +# testfile, nelems, niters, seed, False) -def test_seek_and_tell_drop_handles(testfile, nelems, niters, seed): - ctest_indexed_gzip.test_seek_and_tell(testfile, nelems, niters, seed, True) +# def test_seek_and_tell_drop_handles(testfile, nelems, niters, seed): +# ctest_indexed_gzip.test_seek_and_tell(testfile, nelems, niters, seed, True) -def test_pread(): - ctest_indexed_gzip.test_pread() +# def test_pread(): +# ctest_indexed_gzip.test_pread() -def test_readinto(): - ctest_indexed_gzip.test_readinto(False) +# def test_readinto(): +# ctest_indexed_gzip.test_readinto(False) -def test_readinto_drop_handles(): - ctest_indexed_gzip.test_readinto(True) +# def test_readinto_drop_handles(): +# ctest_indexed_gzip.test_readinto(True) -def test_readline(): - ctest_indexed_gzip.test_readline(False) +# def test_readline(): +# ctest_indexed_gzip.test_readline(False) -def test_readline_drop_handles(): - ctest_indexed_gzip.test_readline(True) +# def test_readline_drop_handles(): +# ctest_indexed_gzip.test_readline(True) -def test_readline_sizelimit(): - ctest_indexed_gzip.test_readline_sizelimit(False) +# def test_readline_sizelimit(): +# ctest_indexed_gzip.test_readline_sizelimit(False) -def test_readline_sizelimit_drop_handles(): - ctest_indexed_gzip.test_readline_sizelimit(True) +# def test_readline_sizelimit_drop_handles(): +# ctest_indexed_gzip.test_readline_sizelimit(True) -def test_readlines(): - ctest_indexed_gzip.test_readlines(False) +# def test_readlines(): +# ctest_indexed_gzip.test_readlines(False) -def test_readlines_drop_handles(): - ctest_indexed_gzip.test_readlines(True) +# def test_readlines_drop_handles(): +# ctest_indexed_gzip.test_readlines(True) -def test_readlines_sizelimit(): - ctest_indexed_gzip.test_readlines_sizelimit(False) +# def test_readlines_sizelimit(): +# ctest_indexed_gzip.test_readlines_sizelimit(False) -def test_readlines_sizelimit_drop_handles(): - ctest_indexed_gzip.test_readlines_sizelimit(True) +# def test_readlines_sizelimit_drop_handles(): +# ctest_indexed_gzip.test_readlines_sizelimit(True) -def test_iter(): - ctest_indexed_gzip.test_iter(False) +# def test_iter(): +# ctest_indexed_gzip.test_iter(False) -def test_iter_drop_handles(): - ctest_indexed_gzip.test_iter(True) +# def test_iter_drop_handles(): +# ctest_indexed_gzip.test_iter(True) -@pytest.mark.slow_test -def test_get_index_seek_points(): - ctest_indexed_gzip.test_get_index_seek_points() +# @pytest.mark.slow_test +# def test_get_index_seek_points(): +# ctest_indexed_gzip.test_get_index_seek_points() -def test_import_export_index(): - ctest_indexed_gzip.test_import_export_index() +# def test_import_export_index(): +# ctest_indexed_gzip.test_import_export_index() -def test_import_export_index_open_file(): - ctest_indexed_gzip.test_import_export_index_open_file() +# def test_import_export_index_open_file(): +# ctest_indexed_gzip.test_import_export_index_open_file() def test_build_index_from_unseekable(): ctest_indexed_gzip.test_build_index_from_unseekable() -def test_wrapper_class(): - ctest_indexed_gzip.test_wrapper_class() +# def test_wrapper_class(): +# ctest_indexed_gzip.test_wrapper_class() -def test_size_multiple_of_readbuf(seed): - ctest_indexed_gzip.test_size_multiple_of_readbuf() +# def test_size_multiple_of_readbuf(seed): +# ctest_indexed_gzip.test_size_multiple_of_readbuf() -@pytest.mark.slow_test -def test_picklable(): - ctest_indexed_gzip.test_picklable() +# @pytest.mark.slow_test +# def test_picklable(): +# ctest_indexed_gzip.test_picklable() -def test_copyable(): - ctest_indexed_gzip.test_copyable() +# def test_copyable(): +# ctest_indexed_gzip.test_copyable() -@pytest.mark.slow_test -def test_multiproc_serialise(): - ctest_indexed_gzip.test_multiproc_serialise() +# @pytest.mark.slow_test +# def test_multiproc_serialise(): +# ctest_indexed_gzip.test_multiproc_serialise() -@pytest.mark.slow_test -def test_32bit_overflow(niters, seed): - ctest_indexed_gzip.test_32bit_overflow(niters, seed) +# @pytest.mark.slow_test +# def test_32bit_overflow(niters, seed): +# ctest_indexed_gzip.test_32bit_overflow(niters, seed) diff --git a/indexed_gzip/tests/test_indexed_gzip_threading.py b/indexed_gzip/tests/test_indexed_gzip_threading.py index d803641c..3cf93a88 100644 --- a/indexed_gzip/tests/test_indexed_gzip_threading.py +++ b/indexed_gzip/tests/test_indexed_gzip_threading.py @@ -23,59 +23,59 @@ pytestmark = pytest.mark.indexed_gzip_test -def test_IndexedGzipFile_open_close(testfile, nelems, concat): - _test_IndexedGzipFile_open_close(testfile, False) +# def test_IndexedGzipFile_open_close(testfile, nelems, concat): +# _test_IndexedGzipFile_open_close(testfile, False) -def test_IndexedGzipFile_open_close_drop_handles(testfile, nelems, concat): - _test_IndexedGzipFile_open_close(testfile, True) +# def test_IndexedGzipFile_open_close_drop_handles(testfile, nelems, concat): +# _test_IndexedGzipFile_open_close(testfile, True) -@pytest.mark.slow_test -def test_IndexedGzipFile_pread_threaded(testfile, nelems, concat): - _test_IndexedGzipFile_pread_threaded(testfile, nelems, False) +# @pytest.mark.slow_test +# def test_IndexedGzipFile_pread_threaded(testfile, nelems, concat): +# _test_IndexedGzipFile_pread_threaded(testfile, nelems, False) -@pytest.mark.slow_test -def test_IndexedGzipFile_pread_threaded_drop_handles(testfile, nelems, concat): - _test_IndexedGzipFile_pread_threaded(testfile, nelems, True) +# @pytest.mark.slow_test +# def test_IndexedGzipFile_pread_threaded_drop_handles(testfile, nelems, concat): +# _test_IndexedGzipFile_pread_threaded(testfile, nelems, True) -def _test_IndexedGzipFile_open_close(testfile, drop): +# def _test_IndexedGzipFile_open_close(testfile, drop): - f = igzip.IndexedGzipFile(filename=testfile, drop_handles=drop) - f.seek(10) - f.read(10) - f.close() +# f = igzip.IndexedGzipFile(filename=testfile, drop_handles=drop) +# f.seek(10) +# f.read(10) +# f.close() -def _test_IndexedGzipFile_pread_threaded(testfile, nelems, drop): +# def _test_IndexedGzipFile_pread_threaded(testfile, nelems, drop): - filesize = nelems * 8 - indexSpacing = max(524288, filesize // 2000) +# filesize = nelems * 8 +# indexSpacing = max(524288, filesize // 2000) - with igzip.IndexedGzipFile(filename=testfile, - spacing=indexSpacing, - drop_handles=drop) as f: +# with igzip.IndexedGzipFile(filename=testfile, +# spacing=indexSpacing, +# drop_handles=drop) as f: - readelems = 50 - readsize = readelems * 8 - nthreads = 100 - allreads = [] +# readelems = 50 +# readsize = readelems * 8 +# nthreads = 100 +# allreads = [] - def do_pread(nbytes, offset): - data = f.pread(nbytes, int(offset * 8)) - allreads.append((offset, data)) +# def do_pread(nbytes, offset): +# data = f.pread(nbytes, int(offset * 8)) +# allreads.append((offset, data)) - offsets = np.linspace(0, nelems - readelems, nthreads, - dtype=np.uint64) - threads = [threading.Thread(target=do_pread, args=(readsize, o)) - for o in offsets] - [t.start() for t in threads] - [t.join() for t in threads] +# offsets = np.linspace(0, nelems - readelems, nthreads, +# dtype=np.uint64) +# threads = [threading.Thread(target=do_pread, args=(readsize, o)) +# for o in offsets] +# [t.start() for t in threads] +# [t.join() for t in threads] - assert len(allreads) == nthreads - for offset, data in allreads: +# assert len(allreads) == nthreads +# for offset, data in allreads: - assert len(data) == readsize +# assert len(data) == readsize - data = np.ndarray(shape=readelems, dtype=np.uint64, - buffer=data) - assert check_data_valid(data, offset, offset + readelems) +# data = np.ndarray(shape=readelems, dtype=np.uint64, +# buffer=data) +# assert check_data_valid(data, offset, offset + readelems) diff --git a/indexed_gzip/tests/test_nibabel_integration.py b/indexed_gzip/tests/test_nibabel_integration.py index bbc0d7e0..486c2293 100644 --- a/indexed_gzip/tests/test_nibabel_integration.py +++ b/indexed_gzip/tests/test_nibabel_integration.py @@ -69,52 +69,52 @@ def load_image(fname): return image -def test_nibabel_integration(): - with tempdir(): - - data = create_random_image((50, 50, 50, 50), 'image.nii.gz') - image = load_image('image.nii.gz') - - idata = np.asanyarray(image.dataobj) - assert np.all(np.isclose(data, idata)) - assert not image.in_memory - - if nibver < Version('2.2.0'): - assert isinstance(image.file_map['image'].fileobj, - igzip.IndexedGzipFile) - else: - assert isinstance(image.dataobj._opener.fobj, - igzip.IndexedGzipFile) - - -# https://github.com/pauldmccarthy/indexed_gzip/issues/40 -def test_readdata_twice(): - with tempdir(): - # the bug only occurs on relatively small images, - # where the full index comprises only one or two - # index points - data = create_random_image((10, 10, 10, 10), 'image.nii.gz') - image = load_image('image.nii.gz') - - d1 = np.asanyarray(image.dataobj) - d2 = np.asanyarray(image.dataobj) - - assert np.all(np.isclose(data, d1)) - assert np.all(np.isclose(data, d2)) - - -# https://github.com/pauldmccarthy/indexed_gzip/pull/45 -def test_bad_image_error(): - - if nibver < Version('2.3.0'): - return - - with tempdir(): - create_random_image((10, 10, 10, 10), 'image.nii.gz') - shutil.move('image.nii.gz', 'image.nii') - with pytest.raises(ImageFileError): - nib.load('image.nii') - create_random_image((10, 10, 10, 10), 'image.nii') - shutil.move('image.nii', 'image.nii.gz') - with pytest.raises(ImageFileError): - nib.load('image.nii.gz') +# def test_nibabel_integration(): +# with tempdir(): + +# data = create_random_image((50, 50, 50, 50), 'image.nii.gz') +# image = load_image('image.nii.gz') + +# idata = np.asanyarray(image.dataobj) +# assert np.all(np.isclose(data, idata)) +# assert not image.in_memory + +# if nibver < Version('2.2.0'): +# assert isinstance(image.file_map['image'].fileobj, +# igzip.IndexedGzipFile) +# else: +# assert isinstance(image.dataobj._opener.fobj, +# igzip.IndexedGzipFile) + + +# # https://github.com/pauldmccarthy/indexed_gzip/issues/40 +# def test_readdata_twice(): +# with tempdir(): +# # the bug only occurs on relatively small images, +# # where the full index comprises only one or two +# # index points +# data = create_random_image((10, 10, 10, 10), 'image.nii.gz') +# image = load_image('image.nii.gz') + +# d1 = np.asanyarray(image.dataobj) +# d2 = np.asanyarray(image.dataobj) + +# assert np.all(np.isclose(data, d1)) +# assert np.all(np.isclose(data, d2)) + + +# # https://github.com/pauldmccarthy/indexed_gzip/pull/45 +# def test_bad_image_error(): + +# if nibver < Version('2.3.0'): +# return + +# with tempdir(): +# create_random_image((10, 10, 10, 10), 'image.nii.gz') +# shutil.move('image.nii.gz', 'image.nii') +# with pytest.raises(ImageFileError): +# nib.load('image.nii') +# create_random_image((10, 10, 10, 10), 'image.nii') +# shutil.move('image.nii', 'image.nii.gz') +# with pytest.raises(ImageFileError): +# nib.load('image.nii.gz') diff --git a/indexed_gzip/tests/test_zran.py b/indexed_gzip/tests/test_zran.py index 2c4a56eb..9d501983 100644 --- a/indexed_gzip/tests/test_zran.py +++ b/indexed_gzip/tests/test_zran.py @@ -19,120 +19,120 @@ pytestmark = pytest.mark.zran_test - def test_fread(): - ctest_zran.test_fread() + # def test_fread(): + # ctest_zran.test_fread() - def test_ftell(): - ctest_zran.test_ftell() + # def test_ftell(): + # ctest_zran.test_ftell() - def test_fseek(): - ctest_zran.test_fseek() + # def test_fseek(): + # ctest_zran.test_fseek() - def test_feof(): - ctest_zran.test_feof() + # def test_feof(): + # ctest_zran.test_feof() - def test_ferror(): - ctest_zran.test_ferror() + # def test_ferror(): + # ctest_zran.test_ferror() - def test_fflush(): - ctest_zran.test_fflush() + # def test_fflush(): + # ctest_zran.test_fflush() - def test_fwrite(): - ctest_zran.test_fwrite() + # def test_fwrite(): + # ctest_zran.test_fwrite() - def test_getc(): - ctest_zran.test_getc() + # def test_getc(): + # ctest_zran.test_getc() - def test_seekable(): - ctest_zran.test_seekable() + # def test_seekable(): + # ctest_zran.test_seekable() - def test_init(testfile): - for no_fds in (True, False): - ctest_zran.test_init(testfile, no_fds) + # def test_init(testfile): + # for no_fds in (True, False): + # ctest_zran.test_init(testfile, no_fds) - def test_init_file_modes(testfile): - for no_fds in (True, False): - ctest_zran.test_init_file_modes(testfile, no_fds) + # def test_init_file_modes(testfile): + # for no_fds in (True, False): + # ctest_zran.test_init_file_modes(testfile, no_fds) - def test_no_auto_build(testfile, nelems): - for no_fds in (True, False): - ctest_zran.test_no_auto_build(testfile, no_fds, nelems) + # def test_no_auto_build(testfile, nelems): + # for no_fds in (True, False): + # ctest_zran.test_no_auto_build(testfile, no_fds, nelems) - def test_seek_to_end(testfile, nelems): - for no_fds in (True, False): - ctest_zran.test_seek_to_end(testfile, no_fds, nelems) + # def test_seek_to_end(testfile, nelems): + # for no_fds in (True, False): + # ctest_zran.test_seek_to_end(testfile, no_fds, nelems) - def test_seek_cur(testfile, nelems): - for no_fds in (True, False): - ctest_zran.test_seek_cur(testfile, no_fds, nelems) + # def test_seek_cur(testfile, nelems): + # for no_fds in (True, False): + # ctest_zran.test_seek_cur(testfile, no_fds, nelems) - def test_seek_end(testfile, nelems): - for no_fds in (True, False): - ctest_zran.test_seek_end(testfile, no_fds, nelems) + # def test_seek_end(testfile, nelems): + # for no_fds in (True, False): + # ctest_zran.test_seek_end(testfile, no_fds, nelems) - def test_seek_beyond_end(testfile, nelems): - for no_fds in (True, False): - ctest_zran.test_seek_beyond_end(testfile, no_fds, nelems) + # def test_seek_beyond_end(testfile, nelems): + # for no_fds in (True, False): + # ctest_zran.test_seek_beyond_end(testfile, no_fds, nelems) - def test_sequential_seek_to_end(testfile, nelems, niters): - for no_fds in (True, False): - ctest_zran.test_sequential_seek_to_end(testfile, no_fds, nelems, niters) + # def test_sequential_seek_to_end(testfile, nelems, niters): + # for no_fds in (True, False): + # ctest_zran.test_sequential_seek_to_end(testfile, no_fds, nelems, niters) - def test_random_seek(testfile, nelems, niters, seed): - for no_fds in (True, False): - ctest_zran.test_random_seek(testfile, no_fds, nelems, niters, seed) + # def test_random_seek(testfile, nelems, niters, seed): + # for no_fds in (True, False): + # ctest_zran.test_random_seek(testfile, no_fds, nelems, niters, seed) - def test_read_all(testfile, nelems, use_mmap): - for no_fds in (True, False): - ctest_zran.test_read_all(testfile, no_fds, nelems, use_mmap) + # def test_read_all(testfile, nelems, use_mmap): + # for no_fds in (True, False): + # ctest_zran.test_read_all(testfile, no_fds, nelems, use_mmap) - @pytest.mark.slow_test - def test_seek_then_read_block(testfile, nelems, niters, seed, use_mmap): - for no_fds in (True, False): - ctest_zran.test_seek_then_read_block( - testfile, no_fds, nelems, niters, seed, use_mmap - ) + # @pytest.mark.slow_test + # def test_seek_then_read_block(testfile, nelems, niters, seed, use_mmap): + # for no_fds in (True, False): + # ctest_zran.test_seek_then_read_block( + # testfile, no_fds, nelems, niters, seed, use_mmap + # ) - def test_random_seek_and_read(testfile, nelems, niters, seed): - for no_fds in (True, False): - ctest_zran.test_random_seek_and_read(testfile, no_fds, nelems, niters, seed) + # def test_random_seek_and_read(testfile, nelems, niters, seed): + # for no_fds in (True, False): + # ctest_zran.test_random_seek_and_read(testfile, no_fds, nelems, niters, seed) - @pytest.mark.slow_test - def test_read_all_sequential(testfile, nelems): - for no_fds in (True, False): - ctest_zran.test_read_all_sequential(testfile, no_fds, nelems) + # @pytest.mark.slow_test + # def test_read_all_sequential(testfile, nelems): + # for no_fds in (True, False): + # ctest_zran.test_read_all_sequential(testfile, no_fds, nelems) - @pytest.mark.slow_test - def test_build_then_read(testfile, nelems, seed, use_mmap): - for no_fds in (True, False): - ctest_zran.test_build_then_read(testfile, no_fds, nelems, seed, use_mmap) + # @pytest.mark.slow_test + # def test_build_then_read(testfile, nelems, seed, use_mmap): + # for no_fds in (True, False): + # ctest_zran.test_build_then_read(testfile, no_fds, nelems, seed, use_mmap) - @pytest.mark.slow_test - def test_readbuf_spacing_sizes(testfile, nelems, niters, seed): - for no_fds in (True, False): - ctest_zran.test_readbuf_spacing_sizes( - testfile, no_fds, nelems, niters, seed - ) + # @pytest.mark.slow_test + # def test_readbuf_spacing_sizes(testfile, nelems, niters, seed): + # for no_fds in (True, False): + # ctest_zran.test_readbuf_spacing_sizes( + # testfile, no_fds, nelems, niters, seed + # ) - def test_export_then_import(testfile): - for no_fds in (True, False): - ctest_zran.test_export_then_import(testfile, no_fds) + # def test_export_then_import(testfile): + # for no_fds in (True, False): + # ctest_zran.test_export_then_import(testfile, no_fds) - def test_export_import_no_points(): - for no_fds in (True, False): - ctest_zran.test_export_import_no_points(no_fds) + # def test_export_import_no_points(): + # for no_fds in (True, False): + # ctest_zran.test_export_import_no_points(no_fds) - def test_export_import_format_v0(): - ctest_zran.test_export_import_format_v0() + # def test_export_import_format_v0(): + # ctest_zran.test_export_import_format_v0() - def test_crc_validation(concat): - ctest_zran.test_crc_validation(concat) + # def test_crc_validation(concat): + # ctest_zran.test_crc_validation(concat) - def test_standard_usage_with_null_padding(concat): - ctest_zran.test_standard_usage_with_null_padding(concat) + # def test_standard_usage_with_null_padding(concat): + # ctest_zran.test_standard_usage_with_null_padding(concat) - def test_inflateInit_leak_on_error(): - ctest_zran.test_inflateInit_leak_on_error() + # def test_inflateInit_leak_on_error(): + # ctest_zran.test_inflateInit_leak_on_error() - def test_read_eof_memmove_rotate_bug(seed): - ctest_zran.test_read_eof_memmove_rotate_bug(seed) + # def test_read_eof_memmove_rotate_bug(seed): + # ctest_zran.test_read_eof_memmove_rotate_bug(seed) diff --git a/indexed_gzip/zran.c b/indexed_gzip/zran.c index 73e749f5..b9469560 100644 --- a/indexed_gzip/zran.c +++ b/indexed_gzip/zran.c @@ -63,7 +63,7 @@ static double round(double val) * * #define ZRAN_VERBOSE */ -//#define ZRAN_VERBOSE +#define ZRAN_VERBOSE #ifdef ZRAN_VERBOSE @@ -800,6 +800,7 @@ void zran_free(zran_index_t *index) { /* Discard all points in the index after the specified compressed offset. */ int _zran_invalidate_index(zran_index_t *index, uint64_t from) { + zran_log("_zran_invalidate_index", from); uint64_t i; zran_point_t *p; @@ -824,6 +825,7 @@ int _zran_invalidate_index(zran_index_t *index, uint64_t from) if (i <= 1) index->npoints = 0; else index->npoints = i - 1; + zran_log("at the end of _zran_invalidate_index"); return _zran_free_unused(index); } @@ -832,8 +834,10 @@ int _zran_invalidate_index(zran_index_t *index, uint64_t from) int zran_build_index(zran_index_t *index, uint64_t from, uint64_t until) { - if (_zran_invalidate_index(index, from) != 0) + if (_zran_invalidate_index(index, from) != 0) { + zran_log("returning ZRAN_BUILD_INDEX_FAIL"); return ZRAN_BUILD_INDEX_FAIL; + } return _zran_expand_index(index, until); } From d947f5188c44b2e2fb8efcedf4e659fb610365ca Mon Sep 17 00:00:00 2001 From: Ashwin Ramaswami Date: Wed, 18 Jan 2023 22:15:29 +0000 Subject: [PATCH 2/7] more debug --- indexed_gzip/zran.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/indexed_gzip/zran.c b/indexed_gzip/zran.c index b9469560..bfb8aa31 100644 --- a/indexed_gzip/zran.c +++ b/indexed_gzip/zran.c @@ -598,8 +598,8 @@ int zran_init(zran_index_t *index, zran_point_t *point_list = NULL; int64_t compressed_size; - zran_log("zran_init(%u, %u, %u, %u)\n", - spacing, window_size, readbuf_size, flags); + zran_log("zran_init(%u, %u, %u, %u, %u, %u)\n", + spacing, window_size, readbuf_size, flags, fd, f); if (spacing == 0) spacing = 1048576; if (window_size == 0) window_size = 32768; @@ -800,7 +800,6 @@ void zran_free(zran_index_t *index) { /* Discard all points in the index after the specified compressed offset. */ int _zran_invalidate_index(zran_index_t *index, uint64_t from) { - zran_log("_zran_invalidate_index", from); uint64_t i; zran_point_t *p; @@ -825,7 +824,6 @@ int _zran_invalidate_index(zran_index_t *index, uint64_t from) if (i <= 1) index->npoints = 0; else index->npoints = i - 1; - zran_log("at the end of _zran_invalidate_index"); return _zran_free_unused(index); } @@ -835,7 +833,6 @@ int zran_build_index(zran_index_t *index, uint64_t from, uint64_t until) { if (_zran_invalidate_index(index, from) != 0) { - zran_log("returning ZRAN_BUILD_INDEX_FAIL"); return ZRAN_BUILD_INDEX_FAIL; } @@ -1394,6 +1391,11 @@ static int _zran_read_data_from_file(zran_index_t *index, index->f); if (ferror_(index->fd, index->f)) { + zran_log("FAIL: _zran_read_data_from_file, %u, %u, %u, %u\n", index->readbuf + stream->avail_in, + 1, + index->readbuf_size - stream->avail_in, + index->fd, + index->f); goto fail; } @@ -1602,7 +1604,7 @@ static int _zran_inflate(zran_index_t *index, * return_val/error_return_val is * the return value for this function. */ - int z_ret; + int z_ret = -100; int off; int return_val = ZRAN_INFLATE_OK; int error_return_val = ZRAN_INFLATE_ERROR; @@ -1745,8 +1747,9 @@ static int _zran_inflate(zran_index_t *index, */ if (inflate_init_readbuf(flags)) { index->readbuf = calloc(1, index->readbuf_size); - if (index->readbuf == NULL) + if (index->readbuf == NULL) { goto fail; + } } /* @@ -1823,6 +1826,7 @@ static int _zran_inflate(zran_index_t *index, cmp_offset, uncmp_offset, index->readbuf_size) != 0) { + zran_log("zran_inflate goto fail 4\n"); goto fail; } } @@ -2211,6 +2215,7 @@ static int _zran_inflate(zran_index_t *index, cmp_offset, uncmp_offset); /* Phew. */ + zran_log("ZRAN_INFLATE SUCCESS, return val is %u", return_val); return return_val; fail: @@ -2220,7 +2225,7 @@ static int _zran_inflate(zran_index_t *index, index->readbuf_offset = 0; index->readbuf_end = 0; } - + zran_log("ZRAN_INFLATE FAIL, return val is %u", error_return_val); return error_return_val; } @@ -2230,7 +2235,7 @@ static int _zran_inflate(zran_index_t *index, * compressed offset specified by 'until'. */ int _zran_expand_index(zran_index_t *index, uint64_t until) { - + zran_log("====starting _zran_expand_index\n"); /* * Used to store return code when * an error occurs. @@ -2457,6 +2462,7 @@ int _zran_expand_index(zran_index_t *index, uint64_t until) { if (z_ret == ZRAN_INFLATE_CRC_ERROR) { error_return_val = ZRAN_EXPAND_INDEX_CRC_ERROR; } + zran_log("====goto fail 5, z_ret is: %u\n", z_ret); goto fail; } From 99b179772f85ab97c9000c9fea922ac2727661eb Mon Sep 17 00:00:00 2001 From: Ashwin Ramaswami Date: Wed, 18 Jan 2023 22:16:08 +0000 Subject: [PATCH 3/7] fix --- indexed_gzip/zran.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indexed_gzip/zran.c b/indexed_gzip/zran.c index bfb8aa31..6b052e85 100644 --- a/indexed_gzip/zran.c +++ b/indexed_gzip/zran.c @@ -2462,7 +2462,7 @@ int _zran_expand_index(zran_index_t *index, uint64_t until) { if (z_ret == ZRAN_INFLATE_CRC_ERROR) { error_return_val = ZRAN_EXPAND_INDEX_CRC_ERROR; } - zran_log("====goto fail 5, z_ret is: %u\n", z_ret); + zran_log("\n====goto fail 5, z_ret is: %u\n", z_ret); goto fail; } From d15d90736af575aba875274104ef3cf564b2cea1 Mon Sep 17 00:00:00 2001 From: Jiani Wang Date: Thu, 19 Jan 2023 16:01:54 -0800 Subject: [PATCH 4/7] debug f and fd --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 416 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 420 bytes indexed_gzip/indexed_gzip.c | 25341 ++++++++ .../indexed_gzip.cpython-36m-darwin.so | Bin 0 -> 377216 bytes .../indexed_gzip.cpython-37m-darwin.so | Bin 0 -> 458016 bytes .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 4762 bytes .../tests/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 5808 bytes .../tests/__pycache__/__main__.cpython-36.pyc | Bin 0 -> 895 bytes .../tests/__pycache__/__main__.cpython-37.pyc | Bin 0 -> 901 bytes .../conftest.cpython-37-pytest-7.2.1.pyc | Bin 0 -> 2439 bytes ...t_indexed_gzip.cpython-37-pytest-7.2.1.pyc | Bin 0 -> 539 bytes ...gzip_threading.cpython-37-pytest-7.2.1.pyc | Bin 0 -> 575 bytes ...el_integration.cpython-37-pytest-7.2.1.pyc | Bin 0 -> 2209 bytes .../test_zran.cpython-37-pytest-7.2.1.pyc | Bin 0 -> 501 bytes indexed_gzip/tests/ctest_indexed_gzip.c | 51671 ++++++++++++++++ .../ctest_indexed_gzip.cpython-36m-darwin.so | Bin 0 -> 861064 bytes .../ctest_indexed_gzip.cpython-37m-darwin.so | Bin 0 -> 1166144 bytes indexed_gzip/tests/ctest_zran.c | 40508 ++++++++++++ .../tests/ctest_zran.cpython-36m-darwin.so | Bin 0 -> 484944 bytes .../tests/ctest_zran.cpython-37m-darwin.so | Bin 0 -> 743664 bytes indexed_gzip/zran.c | 5 +- indexed_gzip/zran_file_util.c | 12 +- 22 files changed, 117535 insertions(+), 2 deletions(-) create mode 100644 indexed_gzip/__pycache__/__init__.cpython-36.pyc create mode 100644 indexed_gzip/__pycache__/__init__.cpython-37.pyc create mode 100644 indexed_gzip/indexed_gzip.c create mode 100755 indexed_gzip/indexed_gzip.cpython-36m-darwin.so create mode 100755 indexed_gzip/indexed_gzip.cpython-37m-darwin.so create mode 100644 indexed_gzip/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 indexed_gzip/tests/__pycache__/__init__.cpython-37.pyc create mode 100644 indexed_gzip/tests/__pycache__/__main__.cpython-36.pyc create mode 100644 indexed_gzip/tests/__pycache__/__main__.cpython-37.pyc create mode 100644 indexed_gzip/tests/__pycache__/conftest.cpython-37-pytest-7.2.1.pyc create mode 100644 indexed_gzip/tests/__pycache__/test_indexed_gzip.cpython-37-pytest-7.2.1.pyc create mode 100644 indexed_gzip/tests/__pycache__/test_indexed_gzip_threading.cpython-37-pytest-7.2.1.pyc create mode 100644 indexed_gzip/tests/__pycache__/test_nibabel_integration.cpython-37-pytest-7.2.1.pyc create mode 100644 indexed_gzip/tests/__pycache__/test_zran.cpython-37-pytest-7.2.1.pyc create mode 100644 indexed_gzip/tests/ctest_indexed_gzip.c create mode 100755 indexed_gzip/tests/ctest_indexed_gzip.cpython-36m-darwin.so create mode 100755 indexed_gzip/tests/ctest_indexed_gzip.cpython-37m-darwin.so create mode 100644 indexed_gzip/tests/ctest_zran.c create mode 100755 indexed_gzip/tests/ctest_zran.cpython-36m-darwin.so create mode 100755 indexed_gzip/tests/ctest_zran.cpython-37m-darwin.so diff --git a/indexed_gzip/__pycache__/__init__.cpython-36.pyc b/indexed_gzip/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1ab13ed83010be21aab15153a7e1b0780e561a07 GIT binary patch literal 416 zcmZ9Hu};G<5Qd$^N!mh1C02&4T@p~mh7eK(g{4bj@p3ZpQC!7#xhVT1)Y&$ygs^p#7t^|FDPKXmUX7N!lvdW=Gj-^h7OZ<05==Q#2Kz+ zh3&y^ftnh1doVT2v3W*|;?i1U+y2yCb1f>|$S$*7|2^07Nq(A-ro&#F0tizAu>I{E z*8j{#9@HcDNIX&pb~xh?xEo>*!0m3N(ExA6_PpEUXHwiXu2HPGo-ZWVvREy2F*X8= m(g literal 0 HcmV?d00001 diff --git a/indexed_gzip/__pycache__/__init__.cpython-37.pyc b/indexed_gzip/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4f6bab522be06b64d02b1dcf0d1d39f013640fbc GIT binary patch literal 420 zcmZ9HzfQw25XPPVZJ}x93<{Mny;-<|jSJ!0$Q{jD7OgnT;jS5}iV+s)X56H2(p{mPR*^<_W<8PZTj zG?FomWkM5=U_d)Opj{r$$S7JL-aKF`6vt=eFkg#0RZL=2vl6rP%d?-3;&uqv8^_cd zE=7gyVD}=_HL7+{=;cH|p+SCOj5ck*&{s_H3OBM#4O73zb##;+XX9ejYZCyjO8~mR zox`}zOyCeYL=Le-VnGjP>>hVQ&^-V6&WY6gvBFaqr*Uz@Ank +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PY_NOGIL) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #ifndef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 1 + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 1 + #endif + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #elif !defined(CYTHON_FAST_THREAD_STATE) + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #elif !defined(CYTHON_USE_EXC_INFO_STACK) + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #if PY_MAJOR_VERSION < 3 + #include "longintrepr.h" + #endif + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_DefaultClassType PyType_Type +#if PY_VERSION_HEX >= 0x030B00A1 + static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, + PyObject *code, PyObject *c, PyObject* n, PyObject *v, + PyObject *fv, PyObject *cell, PyObject* fn, + PyObject *name, int fline, PyObject *lnos) { + PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; + PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; + const char *fn_cstr=NULL; + const char *name_cstr=NULL; + PyCodeObject* co=NULL; + PyObject *type, *value, *traceback; + PyErr_Fetch(&type, &value, &traceback); + if (!(kwds=PyDict_New())) goto end; + if (!(argcount=PyLong_FromLong(a))) goto end; + if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; + if (!(posonlyargcount=PyLong_FromLong(0))) goto end; + if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; + if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; + if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; + if (!(nlocals=PyLong_FromLong(l))) goto end; + if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; + if (!(stacksize=PyLong_FromLong(s))) goto end; + if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; + if (!(flags=PyLong_FromLong(f))) goto end; + if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; + if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; + if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; + if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; + if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; + if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here + if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; + Py_XDECREF((PyObject*)co); + co = (PyCodeObject*)call_result; + call_result = NULL; + if (0) { + cleanup_code_too: + Py_XDECREF((PyObject*)co); + co = NULL; + } + end: + Py_XDECREF(kwds); + Py_XDECREF(argcount); + Py_XDECREF(posonlyargcount); + Py_XDECREF(kwonlyargcount); + Py_XDECREF(nlocals); + Py_XDECREF(stacksize); + Py_XDECREF(replace); + Py_XDECREF(call_result); + Py_XDECREF(empty); + if (type) { + PyErr_Restore(type, value, traceback); + } + return co; + } +#else + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #if PY_VERSION_HEX >= 0x030C0000 + #define __Pyx_PyUnicode_READY(op) (0) + #else + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #endif + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #if PY_VERSION_HEX >= 0x030C0000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) + #else + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) + #endif + #endif +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if PY_VERSION_HEX >= 0x030900A4 + #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) +#else + #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) + #if !defined(_USE_MATH_DEFINES) + #define _USE_MATH_DEFINES + #endif +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + +#define __PYX_MARK_ERR_POS(f_index, lineno) \ + { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } +#define __PYX_ERR(f_index, lineno, Ln_error) \ + { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__indexed_gzip__indexed_gzip +#define __PYX_HAVE_API__indexed_gzip__indexed_gzip +/* Early includes */ +#include +#include +#include +#include +#include "zran.h" +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "indexed_gzip/indexed_gzip.pyx", + "stringsource", + "venv/lib/python3.7/site-packages/Cython/Includes/cpython/type.pxd", +}; +/* NoFastGil.proto */ +#define __Pyx_PyGILState_Ensure PyGILState_Ensure +#define __Pyx_PyGILState_Release PyGILState_Release +#define __Pyx_FastGIL_Remember() +#define __Pyx_FastGIL_Forget() +#define __Pyx_FastGilFuncInit() + +/* ForceInitThreads.proto */ +#ifndef __PYX_FORCE_INIT_THREADS + #define __PYX_FORCE_INIT_THREADS 0 +#endif + + +/*--- Type declarations ---*/ +struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile; +struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer; +struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle; +struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy; +struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points; + +/* "indexed_gzip/indexed_gzip.pyx":215 + * + * + * cdef class _IndexedGzipFile: # <<<<<<<<<<<<<< + * """The ``_IndexedGzipFile`` class allows for fast random access of a gzip + * file by using the ``zran`` library to build and maintain an index of seek + */ +struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile { + PyObject_HEAD + zran_index_t index; + uint32_t spacing; + uint32_t window_size; + uint32_t readbuf_size; + unsigned int readall_buf_size; + int auto_build; + int skip_crc_check; + PyObject *filename; + int own_file; + int drop_handles; + PyObject *pyfid; + int finalized; +}; + + +/* "indexed_gzip/indexed_gzip.pyx":1037 + * + * + * cdef class ReadBuffer: # <<<<<<<<<<<<<< + * """Wrapper around a chunk of memory. + * + */ +struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer { + PyObject_HEAD + void *buffer; + size_t size; +}; + + +/* "indexed_gzip/indexed_gzip.pyx":440 + * + * + * def __file_handle(self): # <<<<<<<<<<<<<< + * """This method is used as a context manager whenever access to the + * underlying file stream is required. It makes sure that ``index.fd`` + */ +struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle { + PyObject_HEAD + struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self; +}; + + +/* "indexed_gzip/indexed_gzip.pyx":453 + * # dropping support for cython < 0.26. + * @contextlib.contextmanager + * def proxy(): # <<<<<<<<<<<<<< + * + * # If a file handle already exists, + */ +struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy { + PyObject_HEAD + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *__pyx_outer_scope; +}; + + +/* "indexed_gzip/indexed_gzip.pyx":481 + * + * + * def seek_points(self): # <<<<<<<<<<<<<< + * """Return the seek point locations that currently exist in the index. + * + */ +struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points { + PyObject_HEAD + uint32_t __pyx_v_i; + zran_point_t __pyx_v_point; + struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self; + uint32_t __pyx_t_0; + uint32_t __pyx_t_1; + uint32_t __pyx_t_2; +}; + + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* Profile.proto */ +#ifndef CYTHON_PROFILE +#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON + #define CYTHON_PROFILE 0 +#else + #define CYTHON_PROFILE 1 +#endif +#endif +#ifndef CYTHON_TRACE_NOGIL + #define CYTHON_TRACE_NOGIL 0 +#else + #if CYTHON_TRACE_NOGIL && !defined(CYTHON_TRACE) + #define CYTHON_TRACE 1 + #endif +#endif +#ifndef CYTHON_TRACE + #define CYTHON_TRACE 0 +#endif +#if CYTHON_TRACE + #undef CYTHON_PROFILE_REUSE_FRAME +#endif +#ifndef CYTHON_PROFILE_REUSE_FRAME + #define CYTHON_PROFILE_REUSE_FRAME 0 +#endif +#if CYTHON_PROFILE || CYTHON_TRACE + #include "compile.h" + #include "frameobject.h" + #include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif + #if CYTHON_PROFILE_REUSE_FRAME + #define CYTHON_FRAME_MODIFIER static + #define CYTHON_FRAME_DEL(frame) + #else + #define CYTHON_FRAME_MODIFIER + #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame) + #endif + #define __Pyx_TraceDeclarations\ + static PyCodeObject *__pyx_frame_code = NULL;\ + CYTHON_FRAME_MODIFIER PyFrameObject *__pyx_frame = NULL;\ + int __Pyx_use_tracing = 0; + #define __Pyx_TraceFrameInit(codeobj)\ + if (codeobj) __pyx_frame_code = (PyCodeObject*) codeobj; +#if PY_VERSION_HEX >= 0x030b00a2 + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->cframe->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate) PyThreadState_EnterTracing(tstate) + #define __Pyx_LeaveTracing(tstate) PyThreadState_LeaveTracing(tstate) +#elif PY_VERSION_HEX >= 0x030a00b1 + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->cframe->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate)\ + do { tstate->tracing++; tstate->cframe->use_tracing = 0; } while (0) + #define __Pyx_LeaveTracing(tstate)\ + do {\ + tstate->tracing--;\ + tstate->cframe->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ + || tstate->c_profilefunc != NULL);\ + } while (0) +#else + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate)\ + do { tstate->tracing++; tstate->use_tracing = 0; } while (0) + #define __Pyx_LeaveTracing(tstate)\ + do {\ + tstate->tracing--;\ + tstate->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ + || tstate->c_profilefunc != NULL);\ + } while (0) +#endif + #ifdef WITH_THREAD + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + }\ + PyGILState_Release(state);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } else {\ + PyThreadState* tstate = PyThreadState_GET();\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } + #else + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ + { PyThreadState* tstate = PyThreadState_GET();\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } + #endif + #define __Pyx_TraceException()\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 1)) {\ + __Pyx_EnterTracing(tstate);\ + PyObject *exc_info = __Pyx_GetExceptionTuple(tstate);\ + if (exc_info) {\ + if (CYTHON_TRACE && tstate->c_tracefunc)\ + tstate->c_tracefunc(\ + tstate->c_traceobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ + tstate->c_profilefunc(\ + tstate->c_profileobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ + Py_DECREF(exc_info);\ + }\ + __Pyx_LeaveTracing(tstate);\ + }\ + } + static void __Pyx_call_return_trace_func(PyThreadState *tstate, PyFrameObject *frame, PyObject *result) { + PyObject *type, *value, *traceback; + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + __Pyx_EnterTracing(tstate); + if (CYTHON_TRACE && tstate->c_tracefunc) + tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result); + if (tstate->c_profilefunc) + tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result); + CYTHON_FRAME_DEL(frame); + __Pyx_LeaveTracing(tstate); + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + } + #ifdef WITH_THREAD + #define __Pyx_TraceReturn(result, nogil)\ + if (likely(!__Pyx_use_tracing)); else {\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + PyGILState_Release(state);\ + }\ + } else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + }\ + } + #else + #define __Pyx_TraceReturn(result, nogil)\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + } + #endif + static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno); + static int __Pyx_TraceSetupAndCall(PyCodeObject** code, PyFrameObject** frame, PyThreadState* tstate, const char *funcname, const char *srcfile, int firstlineno); +#else + #define __Pyx_TraceDeclarations + #define __Pyx_TraceFrameInit(codeobj) + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) if ((1)); else goto_error; + #define __Pyx_TraceException() + #define __Pyx_TraceReturn(result, nogil) +#endif +#if CYTHON_TRACE + static int __Pyx_call_line_trace_func(PyThreadState *tstate, PyFrameObject *frame, int lineno) { + int ret; + PyObject *type, *value, *traceback; + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + __Pyx_PyFrame_SetLineNumber(frame, lineno); + __Pyx_EnterTracing(tstate); + ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL); + __Pyx_LeaveTracing(tstate); + if (likely(!ret)) { + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + } else { + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(traceback); + } + return ret; + } + #ifdef WITH_THREAD + #define __Pyx_TraceLine(lineno, nogil, goto_error)\ + if (likely(!__Pyx_use_tracing)); else {\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + int ret = 0;\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + }\ + PyGILState_Release(state);\ + if (unlikely(ret)) goto_error;\ + }\ + } else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + if (unlikely(ret)) goto_error;\ + }\ + }\ + } + #else + #define __Pyx_TraceLine(lineno, nogil, goto_error)\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + if (unlikely(ret)) goto_error;\ + }\ + } + #endif +#else + #define __Pyx_TraceLine(lineno, nogil, goto_error) if ((1)); else goto_error; +#endif + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) do {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} while(0) +#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} while(0) +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* PyDictContains.proto */ +static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) { + int result = PyDict_Contains(dict, item); + return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); +} + +/* DictGetItem.proto */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); +#define __Pyx_PyObject_Dict_GetItem(obj, name)\ + (likely(PyDict_CheckExact(obj)) ?\ + __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) +#else +#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) +#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) +#endif + +/* py_dict_pop.proto */ +static CYTHON_INLINE PyObject *__Pyx_PyDict_Pop(PyObject *d, PyObject *key, PyObject *default_value); + +/* UnpackUnboundCMethod.proto */ +typedef struct { + PyObject *type; + PyObject **method_name; + PyCFunction func; + PyObject *method; + int flag; +} __Pyx_CachedCFunction; + +/* CallUnboundCMethod2.proto */ +static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2); +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1 +static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2); +#else +#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2) +#endif + +/* CallUnboundCMethod1.proto */ +static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); +#else +#define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif +#if CYTHON_FAST_PYCALL + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif // CYTHON_FAST_PYCALL +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyObjectSetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); +#else +#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) +#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) +#endif + +/* PyObjectLookupSpecial.proto */ +#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) { + PyObject *res; + PyTypeObject *tp = Py_TYPE(obj); +#if PY_MAJOR_VERSION < 3 + if (unlikely(PyInstance_Check(obj))) + return __Pyx_PyObject_GetAttrStr(obj, attr_name); +#endif + res = _PyType_Lookup(tp, attr_name); + if (likely(res)) { + descrgetfunc f = Py_TYPE(res)->tp_descr_get; + if (!f) { + Py_INCREF(res); + } else { + res = f(res, obj, (PyObject *)tp); + } + } else { + PyErr_SetObject(PyExc_AttributeError, attr_name); + } + return res; +} +#else +#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) +#endif + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* PyIntCompare.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* GetAttr3.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); + +/* IncludeStringH.proto */ +#include + +/* BytesEquals.proto */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); + +/* UnicodeEquals.proto */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); + +/* StrEquals.proto */ +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals +#else +#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals +#endif + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* None.proto */ +static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname); + +/* SwapException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* FetchCommonType.proto */ +static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); + +/* CythonFunctionShared.proto */ +#define __Pyx_CyFunction_USED 1 +#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 +#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 +#define __Pyx_CYFUNCTION_CCLASS 0x04 +#define __Pyx_CyFunction_GetClosure(f)\ + (((__pyx_CyFunctionObject *) (f))->func_closure) +#define __Pyx_CyFunction_GetClassObj(f)\ + (((__pyx_CyFunctionObject *) (f))->func_classobj) +#define __Pyx_CyFunction_Defaults(type, f)\ + ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) +#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ + ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) +typedef struct { + PyCFunctionObject func; +#if PY_VERSION_HEX < 0x030500A0 + PyObject *func_weakreflist; +#endif + PyObject *func_dict; + PyObject *func_name; + PyObject *func_qualname; + PyObject *func_doc; + PyObject *func_globals; + PyObject *func_code; + PyObject *func_closure; + PyObject *func_classobj; + void *defaults; + int defaults_pyobjects; + size_t defaults_size; // used by FusedFunction for copying defaults + int flags; + PyObject *defaults_tuple; + PyObject *defaults_kwdict; + PyObject *(*defaults_getter)(PyObject *); + PyObject *func_annotations; +} __pyx_CyFunctionObject; +static PyTypeObject *__pyx_CyFunctionType = 0; +#define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType)) +static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, + int flags, PyObject* qualname, + PyObject *self, + PyObject *module, PyObject *globals, + PyObject* code); +static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, + size_t size, + int pyobjects); +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, + PyObject *tuple); +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, + PyObject *dict); +static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, + PyObject *dict); +static int __pyx_CyFunction_init(void); + +/* CythonFunction.proto */ +static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, + int flags, PyObject* qualname, + PyObject *closure, + PyObject *module, PyObject *globals, + PyObject* code); + +/* KeywordStringCheck.proto */ +static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); + +/* WriteUnraisableException.proto */ +static void __Pyx_WriteUnraisable(const char *name, int clineno, + int lineno, const char *filename, + int full_traceback, int nogil); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* ListAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + __Pyx_SET_SIZE(list, len + 1); + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) +#endif + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* PyObjectGetAttrStrNoError.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* CalculateMetaclass.proto */ +static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); + +/* SetNameInClass.proto */ +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 +#define __Pyx_SetNameInClass(ns, name, value)\ + (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) +#elif CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_SetNameInClass(ns, name, value)\ + (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) +#else +#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) +#endif + +/* Py3ClassCreate.proto */ +static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, + PyObject *mkw, PyObject *modname, PyObject *doc); +static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, + PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* GCCDiagnostics.proto */ +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +#define __Pyx_HAS_GCC_DIAGNOSTIC +#endif + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* PyObjectGetMethod.proto */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +/* PyObjectCallMethod1.proto */ +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); + +/* CoroutineBase.proto */ +typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyThreadState *, PyObject *); +#if CYTHON_USE_EXC_INFO_STACK +#define __Pyx_ExcInfoStruct _PyErr_StackItem +#else +typedef struct { + PyObject *exc_type; + PyObject *exc_value; + PyObject *exc_traceback; +} __Pyx_ExcInfoStruct; +#endif +typedef struct { + PyObject_HEAD + __pyx_coroutine_body_t body; + PyObject *closure; + __Pyx_ExcInfoStruct gi_exc_state; + PyObject *gi_weakreflist; + PyObject *classobj; + PyObject *yieldfrom; + PyObject *gi_name; + PyObject *gi_qualname; + PyObject *gi_modulename; + PyObject *gi_code; + PyObject *gi_frame; + int resume_label; + char is_running; +} __pyx_CoroutineObject; +static __pyx_CoroutineObject *__Pyx__Coroutine_New( + PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, + PyObject *name, PyObject *qualname, PyObject *module_name); +static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( + __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, + PyObject *name, PyObject *qualname, PyObject *module_name); +static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); +static int __Pyx_Coroutine_clear(PyObject *self); +static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); +static PyObject *__Pyx_Coroutine_Close(PyObject *self); +static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); +#if CYTHON_USE_EXC_INFO_STACK +#define __Pyx_Coroutine_SwapException(self) +#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) +#else +#define __Pyx_Coroutine_SwapException(self) {\ + __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ + __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ + } +#define __Pyx_Coroutine_ResetAndClearException(self) {\ + __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ + (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ + } +#endif +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ + __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) +#else +#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ + __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) +#endif +static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); +static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); + +/* PatchModuleWithCoroutine.proto */ +static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); + +/* PatchGeneratorABC.proto */ +static int __Pyx_patch_abc(void); + +/* Generator.proto */ +#define __Pyx_Generator_USED +static PyTypeObject *__pyx_GeneratorType = 0; +#define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType) +#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\ + __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name) +static PyObject *__Pyx_Generator_Next(PyObject *self); +static int __pyx_Generator_init(void); + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from 'libc.stdint' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'posix.types' */ + +/* Module declarations from 'indexed_gzip.zran' */ + +/* Module declarations from 'indexed_gzip.indexed_gzip' */ +static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile = 0; +static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer = 0; +static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle = 0; +static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy = 0; +static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points = 0; +#define __Pyx_MODULE_NAME "indexed_gzip.indexed_gzip" +extern int __pyx_module_is_main_indexed_gzip__indexed_gzip; +int __pyx_module_is_main_indexed_gzip__indexed_gzip = 0; + +/* Implementation of 'indexed_gzip.indexed_gzip' */ +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_builtin_IOError; +static PyObject *__pyx_builtin_OSError; +static PyObject *__pyx_builtin_object; +static PyObject *__pyx_builtin_super; +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_StopIteration; +static PyObject *__pyx_builtin_NotImplementedError; +static PyObject *__pyx_builtin_TypeError; +static PyObject *__pyx_builtin_MemoryError; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_r[] = "r"; +static const char __pyx_k_fd[] = "fd"; +static const char __pyx_k_io[] = "io"; +static const char __pyx_k_op[] = "op"; +static const char __pyx_k_os[] = "os"; +static const char __pyx_k_rb[] = "rb"; +static const char __pyx_k_wb[] = "wb"; +static const char __pyx_k__27[] = ""; +static const char __pyx_k__28[] = "\n"; +static const char __pyx_k__51[] = "*"; +static const char __pyx_k_buf[] = "buf"; +static const char __pyx_k_doc[] = "__doc__"; +static const char __pyx_k_eof[] = "eof"; +static const char __pyx_k_log[] = "log"; +static const char __pyx_k_n_a[] = "n/a"; +static const char __pyx_k_off[] = "off"; +static const char __pyx_k_pop[] = "pop"; +static const char __pyx_k_ret[] = "ret"; +static const char __pyx_k_args[] = "args"; +static const char __pyx_k_exit[] = "__exit__"; +static const char __pyx_k_find[] = "find"; +static const char __pyx_k_fobj[] = "fobj"; +static const char __pyx_k_hint[] = "hint"; +static const char __pyx_k_init[] = "__init__"; +static const char __pyx_k_line[] = "line"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_mode[] = "mode"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_open[] = "open"; +static const char __pyx_k_pbuf[] = "pbuf"; +static const char __pyx_k_read[] = "read"; +static const char __pyx_k_seek[] = "seek"; +static const char __pyx_k_self[] = "self"; +static const char __pyx_k_send[] = "send"; +static const char __pyx_k_size[] = "size"; +static const char __pyx_k_tell[] = "tell"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_vbuf[] = "vbuf"; +static const char __pyx_k_RLock[] = "RLock"; +static const char __pyx_k_bufsz[] = "bufsz"; +static const char __pyx_k_close[] = "close"; +static const char __pyx_k_debug[] = "debug"; +static const char __pyx_k_enter[] = "__enter__"; +static const char __pyx_k_flush[] = "flush"; +static const char __pyx_k_gzobj[] = "gzobj"; +static const char __pyx_k_index[] = "index"; +static const char __pyx_k_lines[] = "lines"; +static const char __pyx_k_nread[] = "nread"; +static const char __pyx_k_point[] = "point"; +static const char __pyx_k_pread[] = "pread"; +static const char __pyx_k_proxy[] = "proxy"; +static const char __pyx_k_pybuf[] = "pybuf"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_state[] = "state"; +static const char __pyx_k_super[] = "super"; +static const char __pyx_k_throw[] = "throw"; +static const char __pyx_k_write[] = "write"; +static const char __pyx_k_buffer[] = "buffer"; +static const char __pyx_k_closed[] = "closed"; +static const char __pyx_k_encode[] = "encode"; +static const char __pyx_k_fileno[] = "fileno"; +static const char __pyx_k_format[] = "format"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_isfile[] = "isfile"; +static const char __pyx_k_kwargs[] = "kwargs"; +static const char __pyx_k_module[] = "__module__"; +static const char __pyx_k_name_2[] = "name"; +static const char __pyx_k_nbytes[] = "nbytes"; +static const char __pyx_k_object[] = "object"; +static const char __pyx_k_offset[] = "offset"; +static const char __pyx_k_pickle[] = "pickle"; +static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_resize[] = "resize"; +static const char __pyx_k_whence[] = "whence"; +static const char __pyx_k_BytesIO[] = "BytesIO"; +static const char __pyx_k_IOError[] = "IOError"; +static const char __pyx_k_OSError[] = "OSError"; +static const char __pyx_k_errname[] = "errname"; +static const char __pyx_k_fileobj[] = "fileobj"; +static const char __pyx_k_linebuf[] = "linebuf"; +static const char __pyx_k_lineidx[] = "lineidx"; +static const char __pyx_k_logging[] = "logging"; +static const char __pyx_k_npoints[] = "npoints"; +static const char __pyx_k_os_path[] = "os.path"; +static const char __pyx_k_prepare[] = "__prepare__"; +static const char __pyx_k_s_close[] = "%s.close()"; +static const char __pyx_k_spacing[] = "spacing"; +static const char __pyx_k_CrcError[] = "CrcError"; +static const char __pyx_k_c_whence[] = "c_whence"; +static const char __pyx_k_filename[] = "filename"; +static const char __pyx_k_getstate[] = "__getstate__"; +static const char __pyx_k_getvalue[] = "getvalue"; +static const char __pyx_k_haveline[] = "haveline"; +static const char __pyx_k_own_file[] = "own_file"; +static const char __pyx_k_qualname[] = "__qualname__"; +static const char __pyx_k_readable[] = "readable"; +static const char __pyx_k_readinto[] = "readinto"; +static const char __pyx_k_readline[] = "readline"; +static const char __pyx_k_s_read_s[] = "%s.read(%s)"; +static const char __pyx_k_s_seek_s[] = "%s.seek(%s)"; +static const char __pyx_k_seekable[] = "seekable"; +static const char __pyx_k_setstate[] = "__setstate__"; +static const char __pyx_k_startpos[] = "startpos"; +static const char __pyx_k_unpickle[] = "unpickle"; +static const char __pyx_k_warnings[] = "warnings"; +static const char __pyx_k_writable[] = "writable"; +static const char __pyx_k_TypeError[] = "TypeError"; +static const char __pyx_k_ZRAN_READ[] = "ZRAN_READ"; +static const char __pyx_k_ZRAN_SEEK[] = "ZRAN_SEEK"; +static const char __pyx_k_ZranError[] = "ZranError"; +static const char __pyx_k_getLogger[] = "getLogger"; +static const char __pyx_k_metaclass[] = "__metaclass__"; +static const char __pyx_k_pyx_state[] = "__pyx_state"; +static const char __pyx_k_readlines[] = "readlines"; +static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; +static const char __pyx_k_threading[] = "threading"; +static const char __pyx_k_totalsize[] = "totalsize"; +static const char __pyx_k_ReadBuffer[] = "ReadBuffer"; +static const char __pyx_k_ValueError[] = "ValueError"; +static const char __pyx_k_ZRAN_BUILD[] = "ZRAN_BUILD"; +static const char __pyx_k_auto_build[] = "auto_build"; +static const char __pyx_k_close_file[] = "close_file"; +static const char __pyx_k_contextlib[] = "contextlib"; +static const char __pyx_k_index_file[] = "index_file"; +static const char __pyx_k_MemoryError[] = "MemoryError"; +static const char __pyx_k_ZRAN_ERRORS[] = "ZRAN_ERRORS"; +static const char __pyx_k_ZRAN_EXPORT[] = "ZRAN_EXPORT"; +static const char __pyx_k_ZRAN_IMPORT[] = "ZRAN_IMPORT"; +static const char __pyx_k_buffer_size[] = "buffer_size"; +static const char __pyx_k_file_handle[] = "__file_handle"; +static const char __pyx_k_seek_points[] = "seek_points"; +static const char __pyx_k_window_size[] = "window_size"; +static const char __pyx_k_builtin_open[] = "builtin_open"; +static const char __pyx_k_drop_handles[] = "drop_handles"; +static const char __pyx_k_export_index[] = "export_index"; +static const char __pyx_k_import_index[] = "import_index"; +static const char __pyx_k_readbuf_size[] = "readbuf_size"; +static const char __pyx_k_stringsource[] = "stringsource"; +static const char __pyx_k_NoHandleError[] = "NoHandleError"; +static const char __pyx_k_PicklingError[] = "PicklingError"; +static const char __pyx_k_StopIteration[] = "StopIteration"; +static const char __pyx_k_ZRAN_READ_EOF[] = "ZRAN_READ_EOF"; +static const char __pyx_k_ZRAN_SEEK_EOF[] = "ZRAN_SEEK_EOF"; +static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; +static const char __pyx_k_BufferedReader[] = "BufferedReader"; +static const char __pyx_k_ZRAN_IMPORT_OK[] = "ZRAN_IMPORT_OK"; +static const char __pyx_k_ZRAN_READ_FAIL[] = "ZRAN_READ_FAIL"; +static const char __pyx_k_ZRAN_SEEK_FAIL[] = "ZRAN_SEEK_FAIL"; +static const char __pyx_k_contextmanager[] = "contextmanager"; +static const char __pyx_k_skip_crc_check[] = "skip_crc_check"; +static const char __pyx_k_IndexedGzipFile[] = "IndexedGzipFile"; +static const char __pyx_k_NotCoveredError[] = "NotCoveredError"; +static const char __pyx_k_ZRAN_IMPORT_EOF[] = "ZRAN_IMPORT_EOF"; +static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; +static const char __pyx_k_ZRAN_IMPORT_FAIL[] = "ZRAN_IMPORT_FAIL"; +static const char __pyx_k_build_full_index[] = "build_full_index"; +static const char __pyx_k_readall_buf_size[] = "readall_buf_size"; +static const char __pyx_k_IndexedGzipFile_2[] = "_IndexedGzipFile"; +static const char __pyx_k_PyMem_Malloc_fail[] = "PyMem_Malloc fail"; +static const char __pyx_k_ReadBuffer_resize[] = "ReadBuffer.resize"; +static const char __pyx_k_PyMem_Realloc_fail[] = "PyMem_Realloc fail"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_s_build_full_index[] = "%s.build_full_index()"; +static const char __pyx_k_s_export_index_s_s[] = "%s.export_index(%s, %s)"; +static const char __pyx_k_s_import_index_s_s[] = "%s.import_index(%s, %s)"; +static const char __pyx_k_File_does_not_exist[] = "File {} does not exist"; +static const char __pyx_k_NotImplementedError[] = "NotImplementedError"; +static const char __pyx_k_ReadBuffer_resize_s[] = "ReadBuffer.resize(%s)"; +static const char __pyx_k_ZRAN_READ_CRC_ERROR[] = "ZRAN_READ_CRC_ERROR"; +static const char __pyx_k_ZRAN_SEEK_CRC_ERROR[] = "ZRAN_SEEK_CRC_ERROR"; +static const char __pyx_k_IndexedGzipFile_read[] = "_IndexedGzipFile.read"; +static const char __pyx_k_IndexedGzipFile_seek[] = "_IndexedGzipFile.seek"; +static const char __pyx_k_IndexedGzipFile_tell[] = "_IndexedGzipFile.tell"; +static const char __pyx_k_ReadBuffer___dealloc[] = "ReadBuffer.__dealloc__()"; +static const char __pyx_k_UnsupportedOperation[] = "UnsupportedOperation"; +static const char __pyx_k_IndexedGzipFile_close[] = "_IndexedGzipFile.close"; +static const char __pyx_k_IndexedGzipFile_flush[] = "_IndexedGzipFile.flush"; +static const char __pyx_k_IndexedGzipFile_pread[] = "IndexedGzipFile.pread"; +static const char __pyx_k_IndexedGzipFile_write[] = "_IndexedGzipFile.write"; +static const char __pyx_k_ZRAN_BUILD_INDEX_FAIL[] = "ZRAN_BUILD_INDEX_FAIL"; +static const char __pyx_k_ZRAN_READ_NOT_COVERED[] = "ZRAN_READ_NOT_COVERED"; +static const char __pyx_k_ZRAN_SEEK_NOT_COVERED[] = "ZRAN_SEEK_NOT_COVERED"; +static const char __pyx_k_IndexedGzipFile___exit[] = "_IndexedGzipFile.__exit__"; +static const char __pyx_k_IndexedGzipFile___init[] = "IndexedGzipFile.__init__"; +static const char __pyx_k_IndexedGzipFile_fileno[] = "_IndexedGzipFile.fileno"; +static const char __pyx_k_ReadBuffer___cinit___s[] = "ReadBuffer.__cinit__(%s)"; +static const char __pyx_k_ZRAN_IMPORT_READ_ERROR[] = "ZRAN_IMPORT_READ_ERROR"; +static const char __pyx_k_IndexedGzipFile___enter[] = "_IndexedGzipFile.__enter__"; +static const char __pyx_k_IndexedGzipFile_fileobj[] = "_IndexedGzipFile.fileobj"; +static const char __pyx_k_IndexedGzipFile_pread_2[] = "_IndexedGzipFile.pread"; +static const char __pyx_k_ZRAN_EXPORT_WRITE_ERROR[] = "ZRAN_EXPORT_WRITE_ERROR"; +static const char __pyx_k_IndexedGzipFile___reduce[] = "IndexedGzipFile.__reduce__"; +static const char __pyx_k_IndexedGzipFile_readable[] = "_IndexedGzipFile.readable"; +static const char __pyx_k_IndexedGzipFile_readinto[] = "_IndexedGzipFile.readinto"; +static const char __pyx_k_IndexedGzipFile_readline[] = "_IndexedGzipFile.readline"; +static const char __pyx_k_IndexedGzipFile_seekable[] = "_IndexedGzipFile.seekable"; +static const char __pyx_k_IndexedGzipFile_writable[] = "_IndexedGzipFile.writable"; +static const char __pyx_k_Invalid_value_for_whence[] = "Invalid value for whence: {}"; +static const char __pyx_k_ZRAN_IMPORT_INCONSISTENT[] = "ZRAN_IMPORT_INCONSISTENT"; +static const char __pyx_k_ZRAN_IMPORT_MEMORY_ERROR[] = "ZRAN_IMPORT_MEMORY_ERROR"; +static const char __pyx_k_file_handle_locals_proxy[] = "__file_handle..proxy"; +static const char __pyx_k_s___init___s_s_s_s_s_s_s[] = "%s.__init__(%s, %s, %s, %s, %s, %s, %s)"; +static const char __pyx_k_IndexedGzipFile__igz_fobj[] = "_IndexedGzipFile__igz_fobj"; +static const char __pyx_k_IndexedGzipFile_readlines[] = "_IndexedGzipFile.readlines"; +static const char __pyx_k_ZRAN_SEEK_INDEX_NOT_BUILT[] = "ZRAN_SEEK_INDEX_NOT_BUILT"; +static const char __pyx_k_indexed_gzip_indexed_gzip[] = "indexed_gzip.indexed_gzip"; +static const char __pyx_k_IndexedGzipFile__file_lock[] = "_IndexedGzipFile__file_lock"; +static const char __pyx_k_ReadBuffer___reduce_cython[] = "ReadBuffer.__reduce_cython__"; +static const char __pyx_k_ZRAN_BUILD_INDEX_CRC_ERROR[] = "ZRAN_BUILD_INDEX_CRC_ERROR"; +static const char __pyx_k_ZRAN_IMPORT_UNKNOWN_FORMAT[] = "ZRAN_IMPORT_UNKNOWN_FORMAT"; +static const char __pyx_k_Index_does_not_cover_offset[] = "Index does not cover offset {}"; +static const char __pyx_k_IndexedGzipFile_seek_points[] = "_IndexedGzipFile.seek_points"; +static const char __pyx_k_IndexedGzipFile__buffer_size[] = "_IndexedGzipFile__buffer_size"; +static const char __pyx_k_IndexedGzipFile_export_index[] = "_IndexedGzipFile.export_index"; +static const char __pyx_k_IndexedGzipFile_import_index[] = "_IndexedGzipFile.import_index"; +static const char __pyx_k_Invalid_mode_must_be_r_or_rb[] = "Invalid mode ({}), must be \"r\" or \"rb\""; +static const char __pyx_k_ReadBuffer___setstate_cython[] = "ReadBuffer.__setstate_cython__"; +static const char __pyx_k_IndexedGzipFile___file_handle[] = "_IndexedGzipFile.__file_handle"; +static const char __pyx_k_indexed_gzip_indexed_gzip_pyx[] = "indexed_gzip/indexed_gzip.pyx"; +static const char __pyx_k_zran_init_returned_error_file[] = "zran_init returned error (file: {})"; +static const char __pyx_k_zran_read_returned_error_file[] = "zran_read returned error: {} (file: {})"; +static const char __pyx_k_zran_seek_returned_error_file[] = "zran_seek returned error: {} (file: {})"; +static const char __pyx_k_File_should_be_opened_read_only[] = "File should be opened read-only binary mode."; +static const char __pyx_k_IndexedGzipFile___reduce_cython[] = "_IndexedGzipFile.__reduce_cython__"; +static const char __pyx_k_IndexedGzipFile___setstate_cyth[] = "_IndexedGzipFile.__setstate_cython__"; +static const char __pyx_k_IndexedGzipFile_build_full_inde[] = "_IndexedGzipFile.build_full_index"; +static const char __pyx_k_IndexedGzipFile_does_not_suppor[] = "_IndexedGzipFile does not support writing"; +static const char __pyx_k_IndexedGzipFile_is_already_clos[] = "_IndexedGzipFile is already closed (file: {})"; +static const char __pyx_k_One_of_filename_or_fileobj_must[] = "One of filename or fileobj must be specified"; +static const char __pyx_k_One_of_fileobj_or_filename_must[] = "One of fileobj or filename must be specified"; +static const char __pyx_k_Only_one_of_filename_or_fileobj[] = "Only one of filename or fileobj must be specified"; +static const char __pyx_k_ZRAN_IMPORT_UNSUPPORTED_VERSION[] = "ZRAN_IMPORT_UNSUPPORTED_VERSION"; +static const char __pyx_k_zran_build_index_returned_error[] = "zran_build_index returned error: {} (file: {})"; +static const char __pyx_k_CRC_size_validation_failed_the_G[] = "CRC/size validation failed - the GZIP data might be corrupt (file: {})"; +static const char __pyx_k_Cannot_pickle_IndexedGzipFile_th[] = "Cannot pickle IndexedGzipFile that has been created with an open file object, or that has been created with drop_handles=False"; +static const char __pyx_k_Contains_text_versions_of_all_er[] = "Contains text versions of all error codes emitted by zran.c. "; +static const char __pyx_k_Exception_raised_by_the_class__I[] = "Exception raised by the :class:`_IndexedGzipFile` when an attempt is\n made to seek to/read from a location that is not covered by the\n index. If the ``_IndexedGzipFile`` was created with ``auto_build=True``,\n this error will only occur on attempts to call the ``seek`` method\n with ``whence=SEEK_END``, where the index has not been completely built.\n "; +static const char __pyx_k_File_should_be_opened_in_writeab[] = "File should be opened in writeable binary mode."; +static const char __pyx_k_Index_does_not_cover_current_off[] = "Index does not cover current offset"; +static const char __pyx_k_Index_must_be_completely_built_i[] = "Index must be completely built in order to seek from SEEK_END"; +static const char __pyx_k_Invalid_mode_fileobj_must_be_ope[] = "Invalid mode - fileobj must be opened in read-only binary (\"rb\") mode"; +static const char __pyx_k_The_IndexedGzipFile_class_allows[] = "The ``IndexedGzipFile`` class allows for fast random access of a gzip\n file by using the ``zran`` library to build and maintain an index of seek\n points into the file.\n\n ``IndexedGzipFile`` is an ``io.BufferedReader`` which wraps an\n :class:`_IndexedGzipFile` instance. By accessing the ``_IndexedGzipFile``\n instance through an ``io.BufferedReader``, read performance is improved\n through buffering, and access to the I/O methods is made thread-safe.\n\n A :meth:`pread` method is also implemented, as it is not implemented by\n the ``io.BufferedReader``.\n "; +static const char __pyx_k_This_module_provides_the_class_I[] = "This module provides the :class:`IndexedGzipFile` class, a drop-in\nreplacement for the built-in ``gzip.GzipFile`` class, for faster read-only\nrandom access to gzip files.\n"; +static const char __pyx_k_export_index_returned_error_file[] = "export_index returned error: {} (file: {})"; +static const char __pyx_k_import_index_returned_error_file[] = "import_index returned error: {} (file: {})"; +static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__"; +static const char __pyx_k_self_index_cannot_be_converted_t[] = "self.index cannot be converted to a Python object for pickling"; +static const char __pyx_k_Exception_raised_by_the_class__I_2[] = "Exception raised by the :class:`_IndexedGzipFile` when the ``zran``\n library signals an error.\n "; +static const char __pyx_k_Exception_raised_by_the_class__I_3[] = "Exception raised by the :class:`_IndexedGzipFile` when a CRC/size\n validation check fails, which suggests that the GZIP data might be\n corrupt.\n "; +static const char __pyx_k_Exception_raised_by_the_class__I_4[] = "Exception raised by the :class:`_IndexedGzipFile` when\n ``drop_handles is True`` and an attempt is made to access the underlying\n file object.\n "; +static PyObject *__pyx_n_s_BufferedReader; +static PyObject *__pyx_n_s_BytesIO; +static PyObject *__pyx_kp_s_CRC_size_validation_failed_the_G; +static PyObject *__pyx_kp_s_Cannot_pickle_IndexedGzipFile_th; +static PyObject *__pyx_kp_s_Contains_text_versions_of_all_er; +static PyObject *__pyx_n_s_CrcError; +static PyObject *__pyx_kp_s_Exception_raised_by_the_class__I; +static PyObject *__pyx_kp_s_Exception_raised_by_the_class__I_2; +static PyObject *__pyx_kp_s_Exception_raised_by_the_class__I_3; +static PyObject *__pyx_kp_s_Exception_raised_by_the_class__I_4; +static PyObject *__pyx_kp_s_File_does_not_exist; +static PyObject *__pyx_kp_s_File_should_be_opened_in_writeab; +static PyObject *__pyx_kp_s_File_should_be_opened_read_only; +static PyObject *__pyx_n_s_IOError; +static PyObject *__pyx_kp_s_Index_does_not_cover_current_off; +static PyObject *__pyx_kp_s_Index_does_not_cover_offset; +static PyObject *__pyx_kp_s_Index_must_be_completely_built_i; +static PyObject *__pyx_n_s_IndexedGzipFile; +static PyObject *__pyx_n_s_IndexedGzipFile_2; +static PyObject *__pyx_n_s_IndexedGzipFile___enter; +static PyObject *__pyx_n_s_IndexedGzipFile___exit; +static PyObject *__pyx_n_s_IndexedGzipFile___file_handle; +static PyObject *__pyx_n_s_IndexedGzipFile___init; +static PyObject *__pyx_n_s_IndexedGzipFile___reduce; +static PyObject *__pyx_n_s_IndexedGzipFile___reduce_cython; +static PyObject *__pyx_n_s_IndexedGzipFile___setstate_cyth; +static PyObject *__pyx_n_s_IndexedGzipFile__buffer_size; +static PyObject *__pyx_n_s_IndexedGzipFile__file_lock; +static PyObject *__pyx_n_s_IndexedGzipFile__igz_fobj; +static PyObject *__pyx_n_s_IndexedGzipFile_build_full_inde; +static PyObject *__pyx_n_s_IndexedGzipFile_close; +static PyObject *__pyx_kp_s_IndexedGzipFile_does_not_suppor; +static PyObject *__pyx_n_s_IndexedGzipFile_export_index; +static PyObject *__pyx_n_s_IndexedGzipFile_fileno; +static PyObject *__pyx_n_s_IndexedGzipFile_fileobj; +static PyObject *__pyx_n_s_IndexedGzipFile_flush; +static PyObject *__pyx_n_s_IndexedGzipFile_import_index; +static PyObject *__pyx_kp_s_IndexedGzipFile_is_already_clos; +static PyObject *__pyx_n_s_IndexedGzipFile_pread; +static PyObject *__pyx_n_s_IndexedGzipFile_pread_2; +static PyObject *__pyx_n_s_IndexedGzipFile_read; +static PyObject *__pyx_n_s_IndexedGzipFile_readable; +static PyObject *__pyx_n_s_IndexedGzipFile_readinto; +static PyObject *__pyx_n_s_IndexedGzipFile_readline; +static PyObject *__pyx_n_s_IndexedGzipFile_readlines; +static PyObject *__pyx_n_s_IndexedGzipFile_seek; +static PyObject *__pyx_n_s_IndexedGzipFile_seek_points; +static PyObject *__pyx_n_s_IndexedGzipFile_seekable; +static PyObject *__pyx_n_s_IndexedGzipFile_tell; +static PyObject *__pyx_n_s_IndexedGzipFile_writable; +static PyObject *__pyx_n_s_IndexedGzipFile_write; +static PyObject *__pyx_kp_s_Invalid_mode_fileobj_must_be_ope; +static PyObject *__pyx_kp_s_Invalid_mode_must_be_r_or_rb; +static PyObject *__pyx_kp_s_Invalid_value_for_whence; +static PyObject *__pyx_n_s_MemoryError; +static PyObject *__pyx_n_s_NoHandleError; +static PyObject *__pyx_n_s_NotCoveredError; +static PyObject *__pyx_n_s_NotImplementedError; +static PyObject *__pyx_n_s_OSError; +static PyObject *__pyx_kp_s_One_of_filename_or_fileobj_must; +static PyObject *__pyx_kp_s_One_of_fileobj_or_filename_must; +static PyObject *__pyx_kp_s_Only_one_of_filename_or_fileobj; +static PyObject *__pyx_n_s_PicklingError; +static PyObject *__pyx_kp_s_PyMem_Malloc_fail; +static PyObject *__pyx_kp_s_PyMem_Realloc_fail; +static PyObject *__pyx_n_s_RLock; +static PyObject *__pyx_n_s_ReadBuffer; +static PyObject *__pyx_kp_s_ReadBuffer___cinit___s; +static PyObject *__pyx_kp_s_ReadBuffer___dealloc; +static PyObject *__pyx_n_s_ReadBuffer___reduce_cython; +static PyObject *__pyx_n_s_ReadBuffer___setstate_cython; +static PyObject *__pyx_n_s_ReadBuffer_resize; +static PyObject *__pyx_kp_s_ReadBuffer_resize_s; +static PyObject *__pyx_n_s_StopIteration; +static PyObject *__pyx_kp_s_The_IndexedGzipFile_class_allows; +static PyObject *__pyx_n_s_TypeError; +static PyObject *__pyx_n_s_UnsupportedOperation; +static PyObject *__pyx_n_s_ValueError; +static PyObject *__pyx_n_s_ZRAN_BUILD; +static PyObject *__pyx_n_s_ZRAN_BUILD_INDEX_CRC_ERROR; +static PyObject *__pyx_n_s_ZRAN_BUILD_INDEX_FAIL; +static PyObject *__pyx_n_s_ZRAN_ERRORS; +static PyObject *__pyx_n_s_ZRAN_EXPORT; +static PyObject *__pyx_n_s_ZRAN_EXPORT_WRITE_ERROR; +static PyObject *__pyx_n_s_ZRAN_IMPORT; +static PyObject *__pyx_n_s_ZRAN_IMPORT_EOF; +static PyObject *__pyx_n_s_ZRAN_IMPORT_FAIL; +static PyObject *__pyx_n_s_ZRAN_IMPORT_INCONSISTENT; +static PyObject *__pyx_n_s_ZRAN_IMPORT_MEMORY_ERROR; +static PyObject *__pyx_n_s_ZRAN_IMPORT_OK; +static PyObject *__pyx_n_s_ZRAN_IMPORT_READ_ERROR; +static PyObject *__pyx_n_s_ZRAN_IMPORT_UNKNOWN_FORMAT; +static PyObject *__pyx_n_s_ZRAN_IMPORT_UNSUPPORTED_VERSION; +static PyObject *__pyx_n_s_ZRAN_READ; +static PyObject *__pyx_n_s_ZRAN_READ_CRC_ERROR; +static PyObject *__pyx_n_s_ZRAN_READ_EOF; +static PyObject *__pyx_n_s_ZRAN_READ_FAIL; +static PyObject *__pyx_n_s_ZRAN_READ_NOT_COVERED; +static PyObject *__pyx_n_s_ZRAN_SEEK; +static PyObject *__pyx_n_s_ZRAN_SEEK_CRC_ERROR; +static PyObject *__pyx_n_s_ZRAN_SEEK_EOF; +static PyObject *__pyx_n_s_ZRAN_SEEK_FAIL; +static PyObject *__pyx_n_s_ZRAN_SEEK_INDEX_NOT_BUILT; +static PyObject *__pyx_n_s_ZRAN_SEEK_NOT_COVERED; +static PyObject *__pyx_n_s_ZranError; +static PyObject *__pyx_kp_b__27; +static PyObject *__pyx_kp_b__28; +static PyObject *__pyx_n_s__51; +static PyObject *__pyx_n_s_args; +static PyObject *__pyx_n_s_auto_build; +static PyObject *__pyx_n_s_buf; +static PyObject *__pyx_n_s_buffer; +static PyObject *__pyx_n_s_buffer_size; +static PyObject *__pyx_n_s_bufsz; +static PyObject *__pyx_n_s_build_full_index; +static PyObject *__pyx_n_s_builtin_open; +static PyObject *__pyx_n_s_c_whence; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_close; +static PyObject *__pyx_n_s_close_file; +static PyObject *__pyx_n_s_closed; +static PyObject *__pyx_n_s_contextlib; +static PyObject *__pyx_n_s_contextmanager; +static PyObject *__pyx_n_s_debug; +static PyObject *__pyx_n_s_doc; +static PyObject *__pyx_n_s_drop_handles; +static PyObject *__pyx_n_s_encode; +static PyObject *__pyx_n_s_enter; +static PyObject *__pyx_n_s_eof; +static PyObject *__pyx_n_s_errname; +static PyObject *__pyx_n_s_exit; +static PyObject *__pyx_n_s_export_index; +static PyObject *__pyx_kp_s_export_index_returned_error_file; +static PyObject *__pyx_n_s_fd; +static PyObject *__pyx_n_s_file_handle; +static PyObject *__pyx_n_s_file_handle_locals_proxy; +static PyObject *__pyx_n_s_filename; +static PyObject *__pyx_n_s_fileno; +static PyObject *__pyx_n_s_fileobj; +static PyObject *__pyx_n_s_find; +static PyObject *__pyx_n_s_flush; +static PyObject *__pyx_n_s_fobj; +static PyObject *__pyx_n_s_format; +static PyObject *__pyx_n_s_getLogger; +static PyObject *__pyx_n_s_getstate; +static PyObject *__pyx_n_s_getvalue; +static PyObject *__pyx_n_s_gzobj; +static PyObject *__pyx_n_s_haveline; +static PyObject *__pyx_n_s_hint; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_import_index; +static PyObject *__pyx_kp_s_import_index_returned_error_file; +static PyObject *__pyx_n_s_index; +static PyObject *__pyx_n_s_index_file; +static PyObject *__pyx_n_s_indexed_gzip_indexed_gzip; +static PyObject *__pyx_kp_s_indexed_gzip_indexed_gzip_pyx; +static PyObject *__pyx_n_s_init; +static PyObject *__pyx_n_s_io; +static PyObject *__pyx_n_s_isfile; +static PyObject *__pyx_n_s_kwargs; +static PyObject *__pyx_n_s_line; +static PyObject *__pyx_n_s_linebuf; +static PyObject *__pyx_n_s_lineidx; +static PyObject *__pyx_n_s_lines; +static PyObject *__pyx_n_s_log; +static PyObject *__pyx_n_s_logging; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_metaclass; +static PyObject *__pyx_n_s_mode; +static PyObject *__pyx_n_s_module; +static PyObject *__pyx_kp_s_n_a; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_name_2; +static PyObject *__pyx_n_s_nbytes; +static PyObject *__pyx_kp_s_no_default___reduce___due_to_non; +static PyObject *__pyx_n_s_npoints; +static PyObject *__pyx_n_s_nread; +static PyObject *__pyx_n_s_object; +static PyObject *__pyx_n_s_off; +static PyObject *__pyx_n_s_offset; +static PyObject *__pyx_n_s_op; +static PyObject *__pyx_n_s_open; +static PyObject *__pyx_n_s_os; +static PyObject *__pyx_n_s_os_path; +static PyObject *__pyx_n_s_own_file; +static PyObject *__pyx_n_s_pbuf; +static PyObject *__pyx_n_s_pickle; +static PyObject *__pyx_n_s_point; +static PyObject *__pyx_n_s_pop; +static PyObject *__pyx_n_s_pread; +static PyObject *__pyx_n_s_prepare; +static PyObject *__pyx_n_s_proxy; +static PyObject *__pyx_n_s_pybuf; +static PyObject *__pyx_n_s_pyx_state; +static PyObject *__pyx_n_s_qualname; +static PyObject *__pyx_n_s_r; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_rb; +static PyObject *__pyx_n_s_read; +static PyObject *__pyx_n_s_readable; +static PyObject *__pyx_n_s_readall_buf_size; +static PyObject *__pyx_n_s_readbuf_size; +static PyObject *__pyx_n_s_readinto; +static PyObject *__pyx_n_s_readline; +static PyObject *__pyx_n_s_readlines; +static PyObject *__pyx_n_s_reduce; +static PyObject *__pyx_n_s_reduce_cython; +static PyObject *__pyx_n_s_reduce_ex; +static PyObject *__pyx_n_s_resize; +static PyObject *__pyx_n_s_ret; +static PyObject *__pyx_kp_s_s___init___s_s_s_s_s_s_s; +static PyObject *__pyx_kp_s_s_build_full_index; +static PyObject *__pyx_kp_s_s_close; +static PyObject *__pyx_kp_s_s_export_index_s_s; +static PyObject *__pyx_kp_s_s_import_index_s_s; +static PyObject *__pyx_kp_s_s_read_s; +static PyObject *__pyx_kp_s_s_seek_s; +static PyObject *__pyx_n_s_seek; +static PyObject *__pyx_n_s_seek_points; +static PyObject *__pyx_n_s_seekable; +static PyObject *__pyx_n_s_self; +static PyObject *__pyx_kp_s_self_index_cannot_be_converted_t; +static PyObject *__pyx_n_s_send; +static PyObject *__pyx_n_s_setstate; +static PyObject *__pyx_n_s_setstate_cython; +static PyObject *__pyx_n_s_size; +static PyObject *__pyx_n_s_skip_crc_check; +static PyObject *__pyx_n_s_spacing; +static PyObject *__pyx_n_s_startpos; +static PyObject *__pyx_n_s_state; +static PyObject *__pyx_kp_s_stringsource; +static PyObject *__pyx_n_s_super; +static PyObject *__pyx_n_s_tell; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_threading; +static PyObject *__pyx_n_s_throw; +static PyObject *__pyx_n_s_totalsize; +static PyObject *__pyx_n_s_unpickle; +static PyObject *__pyx_n_s_vbuf; +static PyObject *__pyx_n_s_warnings; +static PyObject *__pyx_n_s_wb; +static PyObject *__pyx_n_s_whence; +static PyObject *__pyx_n_s_window_size; +static PyObject *__pyx_n_s_writable; +static PyObject *__pyx_n_s_write; +static PyObject *__pyx_kp_s_zran_build_index_returned_error; +static PyObject *__pyx_kp_s_zran_init_returned_error_file; +static PyObject *__pyx_kp_s_zran_read_returned_error_file; +static PyObject *__pyx_kp_s_zran_seek_returned_error_file; +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_open(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj, CYTHON_UNUSED PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_nbytes, PyObject *__pyx_v_offset); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ +static int __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj, PyObject *__pyx_v_mode, PyObject *__pyx_v_auto_build, PyObject *__pyx_v_spacing, PyObject *__pyx_v_window_size, PyObject *__pyx_v_readbuf_size, PyObject *__pyx_v_readall_buf_size, PyObject *__pyx_v_drop_handles, PyObject *__pyx_v_index_file, PyObject *__pyx_v_skip_crc_check); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_proxy(PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode___get__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */ +static void __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_25__dealloc__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_whence); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_nbytes); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_nbytes, PyObject *__pyx_v_offset); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_size); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_hint); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ +static int __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer___cinit__(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, size_t __pyx_v_size); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, size_t __pyx_v_size); /* proto */ +static void __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_4__dealloc__(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_2unpickle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */ +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip_ReadBuffer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_pop = {0, &__pyx_n_s_pop, 0, 0, 0}; +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_32768; +static PyObject *__pyx_int_1048576; +static PyObject *__pyx_int_4194304; +static PyObject *__pyx_int_16777216; +static PyObject *__pyx_int_neg_1; +static PyObject *__pyx_k__21; +static PyObject *__pyx_codeobj_; +static PyObject *__pyx_tuple__4; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_tuple__7; +static PyObject *__pyx_tuple__31; +static PyObject *__pyx_tuple__34; +static PyObject *__pyx_tuple__35; +static PyObject *__pyx_tuple__36; +static PyObject *__pyx_tuple__38; +static PyObject *__pyx_tuple__40; +static PyObject *__pyx_tuple__42; +static PyObject *__pyx_tuple__43; +static PyObject *__pyx_tuple__45; +static PyObject *__pyx_tuple__47; +static PyObject *__pyx_tuple__49; +static PyObject *__pyx_tuple__52; +static PyObject *__pyx_tuple__53; +static PyObject *__pyx_tuple__54; +static PyObject *__pyx_tuple__55; +static PyObject *__pyx_tuple__56; +static PyObject *__pyx_tuple__57; +static PyObject *__pyx_tuple__58; +static PyObject *__pyx_tuple__59; +static PyObject *__pyx_tuple__60; +static PyObject *__pyx_tuple__61; +static PyObject *__pyx_tuple__62; +static PyObject *__pyx_tuple__63; +static PyObject *__pyx_tuple__64; +static PyObject *__pyx_tuple__65; +static PyObject *__pyx_tuple__66; +static PyObject *__pyx_tuple__67; +static PyObject *__pyx_tuple__68; +static PyObject *__pyx_tuple__69; +static PyObject *__pyx_tuple__70; +static PyObject *__pyx_tuple__71; +static PyObject *__pyx_tuple__72; +static PyObject *__pyx_tuple__73; +static PyObject *__pyx_tuple__74; +static PyObject *__pyx_tuple__75; +static PyObject *__pyx_tuple__76; +static PyObject *__pyx_tuple__77; +static PyObject *__pyx_tuple__78; +static PyObject *__pyx_tuple__79; +static PyObject *__pyx_tuple__80; +static PyObject *__pyx_tuple__81; +static PyObject *__pyx_tuple__82; +static PyObject *__pyx_tuple__83; +static PyObject *__pyx_tuple__84; +static PyObject *__pyx_tuple__85; +static PyObject *__pyx_tuple__86; +static PyObject *__pyx_tuple__87; +static PyObject *__pyx_tuple__88; +static PyObject *__pyx_tuple__89; +static PyObject *__pyx_codeobj__2; +static PyObject *__pyx_codeobj__3; +static PyObject *__pyx_codeobj__5; +static PyObject *__pyx_codeobj__8; +static PyObject *__pyx_codeobj__9; +static PyObject *__pyx_codeobj__10; +static PyObject *__pyx_codeobj__11; +static PyObject *__pyx_codeobj__12; +static PyObject *__pyx_codeobj__13; +static PyObject *__pyx_codeobj__14; +static PyObject *__pyx_codeobj__15; +static PyObject *__pyx_codeobj__16; +static PyObject *__pyx_codeobj__17; +static PyObject *__pyx_codeobj__18; +static PyObject *__pyx_codeobj__19; +static PyObject *__pyx_codeobj__20; +static PyObject *__pyx_codeobj__22; +static PyObject *__pyx_codeobj__23; +static PyObject *__pyx_codeobj__24; +static PyObject *__pyx_codeobj__25; +static PyObject *__pyx_codeobj__26; +static PyObject *__pyx_codeobj__29; +static PyObject *__pyx_codeobj__30; +static PyObject *__pyx_codeobj__32; +static PyObject *__pyx_codeobj__33; +static PyObject *__pyx_codeobj__37; +static PyObject *__pyx_codeobj__39; +static PyObject *__pyx_codeobj__41; +static PyObject *__pyx_codeobj__44; +static PyObject *__pyx_codeobj__46; +static PyObject *__pyx_codeobj__48; +static PyObject *__pyx_codeobj__50; +/* Late includes */ + +/* "indexed_gzip/indexed_gzip.pyx":60 + * + * + * def open(filename=None, fileobj=None, *args, **kwargs): # <<<<<<<<<<<<<< + * """Create and return an ``IndexedGzipFile``. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_open[] = "open(filename=None, fileobj=None, *args, **kwargs)\nCreate and return an ``IndexedGzipFile``.\n\n :arg filename: File name or open file handle.\n :arg fileobj: Open file handle.\n\n See the ``IndexedGzipFile`` class for details on the other arguments.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_1open = {"open", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_1open, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_open}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_filename = 0; + PyObject *__pyx_v_fileobj = 0; + CYTHON_UNUSED PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_kwargs = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("open (wrapper)", 0); + __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; + __Pyx_GOTREF(__pyx_v_kwargs); + if (PyTuple_GET_SIZE(__pyx_args) > 2) { + __pyx_v_args = PyTuple_GetSlice(__pyx_args, 2, PyTuple_GET_SIZE(__pyx_args)); + if (unlikely(!__pyx_v_args)) { + __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; + __Pyx_RefNannyFinishContext(); + return NULL; + } + __Pyx_GOTREF(__pyx_v_args); + } else { + __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple); + } + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_fileobj,0}; + PyObject* values[2] = {0,0}; + values[0] = ((PyObject *)((PyObject *)Py_None)); + values[1] = ((PyObject *)((PyObject *)Py_None)); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + default: + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename); + if (value) { values[0] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + const Py_ssize_t used_pos_args = (pos_args < 2) ? pos_args : 2; + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "open") < 0)) __PYX_ERR(0, 60, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + default: + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + } + } + __pyx_v_filename = values[0]; + __pyx_v_fileobj = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; + __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.open", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_open(__pyx_self, __pyx_v_filename, __pyx_v_fileobj, __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_open(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj, CYTHON_UNUSED PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj_) + __Pyx_RefNannySetupContext("open", 0); + __Pyx_TraceCall("open", __pyx_f[0], 60, 0, __PYX_ERR(0, 60, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":68 + * See the ``IndexedGzipFile`` class for details on the other arguments. + * """ + * return IndexedGzipFile(filename, fileobj, **kwargs) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(68,0,__PYX_ERR(0, 68, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_filename); + __Pyx_INCREF(__pyx_v_fileobj); + __Pyx_GIVEREF(__pyx_v_fileobj); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_fileobj); + __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":60 + * + * + * def open(filename=None, fileobj=None, *args, **kwargs): # <<<<<<<<<<<<<< + * """Create and return an ``IndexedGzipFile``. + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.open", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":86 + * + * + * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Create an ``IndexedGzipFile``. The file may be specified either + * with an open file handle (``fileobj``), or with a ``filename``. If the + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__[] = "IndexedGzipFile.__init__(self, *args, **kwargs)\nCreate an ``IndexedGzipFile``. The file may be specified either\n with an open file handle (``fileobj``), or with a ``filename``. If the\n former, the file must have been opened in ``'rb'`` mode.\n\n .. note:: The ``auto_build`` behaviour only takes place on calls to\n :meth:`seek`.\n\n :arg filename: File name or open file handle.\n\n :arg fileobj: Open file handle.\n\n :arg mode: Opening mode. Must be either ``'r'`` or ``'rb``.\n\n :arg auto_build: If ``True`` (the default), the index is\n automatically built on calls to :meth:`seek`.\n\n :arg skip_crc_check: Defaults to ``False``. If ``True``, CRC/size\n validation of the uncompressed data is not\n performed.\n\n :arg spacing: Number of bytes between index seek points.\n\n :arg window_size: Number of bytes of uncompressed data stored with\n each seek point.\n\n :arg readbuf_size: Size of buffer in bytes for storing compressed\n data read in from the file.\n\n :arg readall_buf_size: Size of buffer in bytes used by :meth:`read`\n when reading until EOF.\n\n :arg drop_handles: Has no effect if an open ``fid`` is specified,\n rather than a ``filename``. If ``True`` (the\n default), a handle to the file is opened and\n closed on every access. Otherwise the file is\n opened at ``__cinit__``, and kept open until\n this ``_IndexedGzipFile`` is destroyed.\n\n :arg index_file: Pre-generated index for this ``gz`` file -\n if provided, passed thr""ough to\n :meth:`import_index`.\n\n :arg buffer_size: Optional, must be passed as a keyword argument.\n Passed through to\n ``io.BufferedReader.__init__``. If not provided,\n a default value of 4 * spacing is used if spacing\n is given else 4 MiB is used.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_args = 0; + PyObject *__pyx_v_kwargs = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; + __Pyx_GOTREF(__pyx_v_kwargs); + if (PyTuple_GET_SIZE(__pyx_args) > 1) { + __pyx_v_args = PyTuple_GetSlice(__pyx_args, 1, PyTuple_GET_SIZE(__pyx_args)); + if (unlikely(!__pyx_v_args)) { + __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; + __Pyx_RefNannyFinishContext(); + return NULL; + } + __Pyx_GOTREF(__pyx_v_args); + } else { + __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple); + } + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + default: + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1; + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(0, 86, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) < 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_self = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 86, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; + __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__(__pyx_self, __pyx_v_self, __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + PyObject *__pyx_v_spacing = NULL; + PyObject *__pyx_v_buffer_size = NULL; + struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_fobj = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + long __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__2) + __Pyx_RefNannySetupContext("__init__", 0); + __Pyx_TraceCall("__init__", __pyx_f[0], 86, 0, __PYX_ERR(0, 86, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":144 + * # Note that setting the buffer_size too high might incur performance + * # penalties for usecases with a lot of seeks and only small reads. + * spacing = kwargs['spacing'] if ('spacing' in kwargs # <<<<<<<<<<<<<< + * and kwargs['spacing'] > 0) else 1024 * 1024 + * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) + */ + __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error)) + __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_spacing, __pyx_v_kwargs, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 144, __pyx_L1_error) + __pyx_t_4 = (__pyx_t_3 != 0); + if (__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L3_bool_binop_done; + } + + /* "indexed_gzip/indexed_gzip.pyx":145 + * # penalties for usecases with a lot of seeks and only small reads. + * spacing = kwargs['spacing'] if ('spacing' in kwargs + * and kwargs['spacing'] > 0) else 1024 * 1024 # <<<<<<<<<<<<<< + * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) + * + */ + __Pyx_TraceLine(145,0,__PYX_ERR(0, 145, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_n_s_spacing); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 145, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 145, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __pyx_t_4; + __pyx_L3_bool_binop_done:; + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":144 + * # Note that setting the buffer_size too high might incur performance + * # penalties for usecases with a lot of seeks and only small reads. + * spacing = kwargs['spacing'] if ('spacing' in kwargs # <<<<<<<<<<<<<< + * and kwargs['spacing'] > 0) else 1024 * 1024 + * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) + */ + __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_n_s_spacing); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __pyx_t_6; + __pyx_t_6 = 0; + } else { + __Pyx_INCREF(__pyx_int_1048576); + __pyx_t_1 = __pyx_int_1048576; + } + __pyx_v_spacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":146 + * spacing = kwargs['spacing'] if ('spacing' in kwargs + * and kwargs['spacing'] > 0) else 1024 * 1024 + * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) # <<<<<<<<<<<<<< + * + * fobj = _IndexedGzipFile(*args, **kwargs) + */ + __Pyx_TraceLine(146,0,__PYX_ERR(0, 146, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_int_4, __pyx_v_spacing); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = 0x1000; + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_2) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_6 = __pyx_t_1; + } else { + __pyx_t_8 = __Pyx_PyInt_From_long(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __pyx_t_8; + __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_Pop(__pyx_v_kwargs, __pyx_n_s_buffer_size, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_v_buffer_size = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":148 + * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) + * + * fobj = _IndexedGzipFile(*args, **kwargs) # <<<<<<<<<<<<<< + * self.__file_lock = threading.RLock() + * self.__igz_fobj = fobj + */ + __Pyx_TraceLine(148,0,__PYX_ERR(0, 148, __pyx_L1_error)) + __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile), __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 148, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_fobj = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_t_6); + __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":149 + * + * fobj = _IndexedGzipFile(*args, **kwargs) + * self.__file_lock = threading.RLock() # <<<<<<<<<<<<<< + * self.__igz_fobj = fobj + * self.__buffer_size = buffer_size + */ + __Pyx_TraceLine(149,0,__PYX_ERR(0, 149, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_threading); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_RLock); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 149, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 149, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__file_lock, __pyx_t_6) < 0) __PYX_ERR(0, 149, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":150 + * fobj = _IndexedGzipFile(*args, **kwargs) + * self.__file_lock = threading.RLock() + * self.__igz_fobj = fobj # <<<<<<<<<<<<<< + * self.__buffer_size = buffer_size + * + */ + __Pyx_TraceLine(150,0,__PYX_ERR(0, 150, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__igz_fobj, ((PyObject *)__pyx_v_fobj)) < 0) __PYX_ERR(0, 150, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":151 + * self.__file_lock = threading.RLock() + * self.__igz_fobj = fobj + * self.__buffer_size = buffer_size # <<<<<<<<<<<<<< + * + * self.build_full_index = fobj.build_full_index + */ + __Pyx_TraceLine(151,0,__PYX_ERR(0, 151, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__buffer_size, __pyx_v_buffer_size) < 0) __PYX_ERR(0, 151, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":153 + * self.__buffer_size = buffer_size + * + * self.build_full_index = fobj.build_full_index # <<<<<<<<<<<<<< + * self.import_index = fobj.import_index + * self.export_index = fobj.export_index + */ + __Pyx_TraceLine(153,0,__PYX_ERR(0, 153, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_build_full_index, __pyx_t_6) < 0) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":154 + * + * self.build_full_index = fobj.build_full_index + * self.import_index = fobj.import_index # <<<<<<<<<<<<<< + * self.export_index = fobj.export_index + * self.fileobj = fobj.fileobj + */ + __Pyx_TraceLine(154,0,__PYX_ERR(0, 154, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_import_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_import_index, __pyx_t_6) < 0) __PYX_ERR(0, 154, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":155 + * self.build_full_index = fobj.build_full_index + * self.import_index = fobj.import_index + * self.export_index = fobj.export_index # <<<<<<<<<<<<<< + * self.fileobj = fobj.fileobj + * self.drop_handles = fobj.drop_handles + */ + __Pyx_TraceLine(155,0,__PYX_ERR(0, 155, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_export_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_export_index, __pyx_t_6) < 0) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":156 + * self.import_index = fobj.import_index + * self.export_index = fobj.export_index + * self.fileobj = fobj.fileobj # <<<<<<<<<<<<<< + * self.drop_handles = fobj.drop_handles + * self.seek_points = fobj.seek_points + */ + __Pyx_TraceLine(156,0,__PYX_ERR(0, 156, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_fileobj); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_fileobj, __pyx_t_6) < 0) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":157 + * self.export_index = fobj.export_index + * self.fileobj = fobj.fileobj + * self.drop_handles = fobj.drop_handles # <<<<<<<<<<<<<< + * self.seek_points = fobj.seek_points + * + */ + __Pyx_TraceLine(157,0,__PYX_ERR(0, 157, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_fobj->drop_handles); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 157, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_drop_handles, __pyx_t_6) < 0) __PYX_ERR(0, 157, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":158 + * self.fileobj = fobj.fileobj + * self.drop_handles = fobj.drop_handles + * self.seek_points = fobj.seek_points # <<<<<<<<<<<<<< + * + * super(IndexedGzipFile, self).__init__(fobj, buffer_size) + */ + __Pyx_TraceLine(158,0,__PYX_ERR(0, 158, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_seek_points); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 158, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_seek_points, __pyx_t_6) < 0) __PYX_ERR(0, 158, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":160 + * self.seek_points = fobj.seek_points + * + * super(IndexedGzipFile, self).__init__(fobj, buffer_size) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(160,0,__PYX_ERR(0, 160, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_8); + __Pyx_INCREF(__pyx_v_self); + __Pyx_GIVEREF(__pyx_v_self); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self); + __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_8, ((PyObject *)__pyx_v_fobj), __pyx_v_buffer_size}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_8, ((PyObject *)__pyx_v_fobj), __pyx_v_buffer_size}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_8) { + __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL; + } + __Pyx_INCREF(((PyObject *)__pyx_v_fobj)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_fobj)); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, ((PyObject *)__pyx_v_fobj)); + __Pyx_INCREF(__pyx_v_buffer_size); + __Pyx_GIVEREF(__pyx_v_buffer_size); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_buffer_size); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":86 + * + * + * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Create an ``IndexedGzipFile``. The file may be specified either + * with an open file handle (``fileobj``), or with a ``filename``. If the + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_spacing); + __Pyx_XDECREF(__pyx_v_buffer_size); + __Pyx_XDECREF((PyObject *)__pyx_v_fobj); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":163 + * + * + * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< + * """Seeks to ``offset``, then reads and returns up to ``nbytes``. + * The calls to seek and read are protected by a ``threading.RLock``. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread[] = "IndexedGzipFile.pread(self, nbytes, offset)\nSeeks to ``offset``, then reads and returns up to ``nbytes``.\n The calls to seek and read are protected by a ``threading.RLock``.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread = {"pread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_nbytes = 0; + PyObject *__pyx_v_offset = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("pread (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_nbytes,&__pyx_n_s_offset,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nbytes)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("pread", 1, 3, 3, 1); __PYX_ERR(0, 163, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("pread", 1, 3, 3, 2); __PYX_ERR(0, 163, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pread") < 0)) __PYX_ERR(0, 163, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_self = values[0]; + __pyx_v_nbytes = values[1]; + __pyx_v_offset = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("pread", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 163, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread(__pyx_self, __pyx_v_self, __pyx_v_nbytes, __pyx_v_offset); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_nbytes, PyObject *__pyx_v_offset) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__3) + __Pyx_RefNannySetupContext("pread", 0); + __Pyx_TraceCall("pread", __pyx_f[0], 163, 0, __PYX_ERR(0, 163, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":167 + * The calls to seek and read are protected by a ``threading.RLock``. + * """ + * with self.__file_lock: # <<<<<<<<<<<<<< + * self.seek(offset) + * return self.read(nbytes) + */ + __Pyx_TraceLine(167,0,__PYX_ERR(0, 167, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__file_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 167, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":168 + * """ + * with self.__file_lock: + * self.seek(offset) # <<<<<<<<<<<<<< + * return self.read(nbytes) + * + */ + __Pyx_TraceLine(168,0,__PYX_ERR(0, 168, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":169 + * with self.__file_lock: + * self.seek(offset) + * return self.read(nbytes) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(169,0,__PYX_ERR(0, 169, __pyx_L7_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_nbytes) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_nbytes); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "indexed_gzip/indexed_gzip.pyx":167 + * The calls to seek and read are protected by a ``threading.RLock``. + * """ + * with self.__file_lock: # <<<<<<<<<<<<<< + * self.seek(offset) + * return self.read(nbytes) + */ + } + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 167, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 167, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 167, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_10 < 0) __PYX_ERR(0, 167, __pyx_L9_except_error) + __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); + __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 167, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L11_try_return:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L4_return; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_2) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L4_return: { + __pyx_t_8 = __pyx_r; + __pyx_r = 0; + if (__pyx_t_2) { + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/indexed_gzip.pyx":163 + * + * + * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< + * """Seeks to ``offset``, then reads and returns up to ``nbytes``. + * The calls to seek and read are protected by a ``threading.RLock``. + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":172 + * + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * """Used to pickle an ``IndexedGzipFile``. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__[] = "IndexedGzipFile.__reduce__(self)\nUsed to pickle an ``IndexedGzipFile``.\n\n Returns a tuple containing:\n - a reference to the ``unpickle`` function\n - a tuple containing a \"state\" object, which can be passed\n to ``unpickle``.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__ = {"__reduce__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_v_fobj = NULL; + PyObject *__pyx_v_index = NULL; + PyObject *__pyx_v_state = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__5) + __Pyx_RefNannySetupContext("__reduce__", 0); + __Pyx_TraceCall("__reduce__", __pyx_f[0], 172, 0, __PYX_ERR(0, 172, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":181 + * """ + * + * fobj = self.__igz_fobj # <<<<<<<<<<<<<< + * + * if (not fobj.drop_handles) or (not fobj.own_file): + */ + __Pyx_TraceLine(181,0,__PYX_ERR(0, 181, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__igz_fobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_fobj = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":183 + * fobj = self.__igz_fobj + * + * if (not fobj.drop_handles) or (not fobj.own_file): # <<<<<<<<<<<<<< + * raise pickle.PicklingError( + * 'Cannot pickle IndexedGzipFile that has been created ' + */ + __Pyx_TraceLine(183,0,__PYX_ERR(0, 183, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 183, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = ((!__pyx_t_3) != 0); + if (!__pyx_t_4) { + } else { + __pyx_t_2 = __pyx_t_4; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_own_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 183, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((!__pyx_t_4) != 0); + __pyx_t_2 = __pyx_t_3; + __pyx_L4_bool_binop_done:; + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":184 + * + * if (not fobj.drop_handles) or (not fobj.own_file): + * raise pickle.PicklingError( # <<<<<<<<<<<<<< + * 'Cannot pickle IndexedGzipFile that has been created ' + * 'with an open file object, or that has been created ' + */ + __Pyx_TraceLine(184,0,__PYX_ERR(0, 184, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_kp_s_Cannot_pickle_IndexedGzipFile_th) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_kp_s_Cannot_pickle_IndexedGzipFile_th); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 184, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":183 + * fobj = self.__igz_fobj + * + * if (not fobj.drop_handles) or (not fobj.own_file): # <<<<<<<<<<<<<< + * raise pickle.PicklingError( + * 'Cannot pickle IndexedGzipFile that has been created ' + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":193 + * # The index data is serialised as a + * # bytes object. + * if fobj.npoints == 0: # <<<<<<<<<<<<<< + * index = None + * + */ + __Pyx_TraceLine(193,0,__PYX_ERR(0, 193, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_npoints); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 193, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 193, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":194 + * # bytes object. + * if fobj.npoints == 0: + * index = None # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_TraceLine(194,0,__PYX_ERR(0, 194, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_index = Py_None; + + /* "indexed_gzip/indexed_gzip.pyx":193 + * # The index data is serialised as a + * # bytes object. + * if fobj.npoints == 0: # <<<<<<<<<<<<<< + * index = None + * + */ + goto __pyx_L6; + } + + /* "indexed_gzip/indexed_gzip.pyx":197 + * + * else: + * index = io.BytesIO() # <<<<<<<<<<<<<< + * self.export_index(fileobj=index) + * index = index.getvalue() + */ + __Pyx_TraceLine(197,0,__PYX_ERR(0, 197, __pyx_L1_error)) + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_io); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 197, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 197, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_index = __pyx_t_6; + __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":198 + * else: + * index = io.BytesIO() + * self.export_index(fileobj=index) # <<<<<<<<<<<<<< + * index = index.getvalue() + * + */ + __Pyx_TraceLine(198,0,__PYX_ERR(0, 198, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_export_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 198, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 198, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_index) < 0) __PYX_ERR(0, 198, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 198, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":199 + * index = io.BytesIO() + * self.export_index(fileobj=index) + * index = index.getvalue() # <<<<<<<<<<<<<< + * + * state = { + */ + __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_n_s_getvalue); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 199, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_1); + __pyx_t_1 = 0; + } + __pyx_L6:; + + /* "indexed_gzip/indexed_gzip.pyx":202 + * + * state = { + * 'filename' : fobj.filename, # <<<<<<<<<<<<<< + * 'auto_build' : fobj.auto_build, + * 'spacing' : fobj.spacing, + */ + __Pyx_TraceLine(202,0,__PYX_ERR(0, 202, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":203 + * state = { + * 'filename' : fobj.filename, + * 'auto_build' : fobj.auto_build, # <<<<<<<<<<<<<< + * 'spacing' : fobj.spacing, + * 'window_size' : fobj.window_size, + */ + __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_auto_build); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_auto_build, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":204 + * 'filename' : fobj.filename, + * 'auto_build' : fobj.auto_build, + * 'spacing' : fobj.spacing, # <<<<<<<<<<<<<< + * 'window_size' : fobj.window_size, + * 'readbuf_size' : fobj.readbuf_size, + */ + __Pyx_TraceLine(204,0,__PYX_ERR(0, 204, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_spacing); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 204, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":205 + * 'auto_build' : fobj.auto_build, + * 'spacing' : fobj.spacing, + * 'window_size' : fobj.window_size, # <<<<<<<<<<<<<< + * 'readbuf_size' : fobj.readbuf_size, + * 'readall_buf_size' : fobj.readall_buf_size, + */ + __Pyx_TraceLine(205,0,__PYX_ERR(0, 205, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_window_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_window_size, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":206 + * 'spacing' : fobj.spacing, + * 'window_size' : fobj.window_size, + * 'readbuf_size' : fobj.readbuf_size, # <<<<<<<<<<<<<< + * 'readall_buf_size' : fobj.readall_buf_size, + * 'buffer_size' : self.__buffer_size, + */ + __Pyx_TraceLine(206,0,__PYX_ERR(0, 206, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_readbuf_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 206, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_readbuf_size, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":207 + * 'window_size' : fobj.window_size, + * 'readbuf_size' : fobj.readbuf_size, + * 'readall_buf_size' : fobj.readall_buf_size, # <<<<<<<<<<<<<< + * 'buffer_size' : self.__buffer_size, + * 'tell' : self.tell(), + */ + __Pyx_TraceLine(207,0,__PYX_ERR(0, 207, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_readall_buf_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 207, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_readall_buf_size, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":208 + * 'readbuf_size' : fobj.readbuf_size, + * 'readall_buf_size' : fobj.readall_buf_size, + * 'buffer_size' : self.__buffer_size, # <<<<<<<<<<<<<< + * 'tell' : self.tell(), + * 'index' : index} + */ + __Pyx_TraceLine(208,0,__PYX_ERR(0, 208, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__buffer_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_buffer_size, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":209 + * 'readall_buf_size' : fobj.readall_buf_size, + * 'buffer_size' : self.__buffer_size, + * 'tell' : self.tell(), # <<<<<<<<<<<<<< + * 'index' : index} + * + */ + __Pyx_TraceLine(209,0,__PYX_ERR(0, 209, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tell); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_tell, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":210 + * 'buffer_size' : self.__buffer_size, + * 'tell' : self.tell(), + * 'index' : index} # <<<<<<<<<<<<<< + * + * return (unpickle, (state, )) + */ + __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L1_error)) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_index, __pyx_v_index) < 0) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_v_state = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":212 + * 'index' : index} + * + * return (unpickle, (state, )) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(212,0,__PYX_ERR(0, 212, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_unpickle); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 212, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_state); + __Pyx_GIVEREF(__pyx_v_state); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_state); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 212, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __pyx_t_1 = 0; + __pyx_t_5 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":172 + * + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * """Used to pickle an ``IndexedGzipFile``. + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fobj); + __Pyx_XDECREF(__pyx_v_index); + __Pyx_XDECREF(__pyx_v_state); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":289 + * + * + * def __init__(self, # <<<<<<<<<<<<<< + * filename=None, + * fileobj=None, + */ + +/* Python wrapper */ +static int __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__[] = "Create an ``_IndexedGzipFile``. The file may be specified either\n with an open file handle (``fileobj``), or with a ``filename``. If the\n former, the file is assumed have been opened for reading in binary\n mode.\n\n .. note:: The ``auto_build`` behaviour only takes place on calls to\n :meth:`seek`.\n\n :arg filename: File name or open file handle.\n\n :arg fileobj: Open file handle.\n\n :arg mode: Opening mode. Must be either ``'r'`` or ``'rb``.\n\n :arg auto_build: If ``True`` (the default), the index is\n automatically built on calls to :meth:`seek`.\n\n :arg skip_crc_check: Defaults to ``False``. If ``True``, CRC/size\n validation of the uncompressed data is not\n performed. Automatically enabled if an\n ``index_file`` is provided, or if\n :meth:`import_index` is called.\n\n :arg spacing: Number of bytes between index seek points.\n\n :arg window_size: Number of bytes of uncompressed data stored with\n each seek point.\n\n :arg readbuf_size: Size of buffer in bytes for storing compressed\n data read in from the file.\n\n :arg readall_buf_size: Size of buffer in bytes used by :meth:`read`\n when reading until EOF.\n\n :arg drop_handles: Has no effect if an open ``fid`` is specified,\n rather than a ``filename``. If ``True`` (the\n default), a handle to the file is opened and\n closed on every access. Otherwise the file is\n opened at ``__cinit__``, and kept open until\n this ``_IndexedGzipFile`` is destroye""d.\n\n :arg index_file: Pre-generated index for this ``gz`` file -\n if provided, passed through to\n :meth:`import_index`.\n "; +#if CYTHON_UPDATE_DESCRIPTOR_DOC +struct wrapperbase __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__; +#endif +static int __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_filename = 0; + PyObject *__pyx_v_fileobj = 0; + PyObject *__pyx_v_mode = 0; + PyObject *__pyx_v_auto_build = 0; + PyObject *__pyx_v_spacing = 0; + PyObject *__pyx_v_window_size = 0; + PyObject *__pyx_v_readbuf_size = 0; + PyObject *__pyx_v_readall_buf_size = 0; + PyObject *__pyx_v_drop_handles = 0; + PyObject *__pyx_v_index_file = 0; + PyObject *__pyx_v_skip_crc_check = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_fileobj,&__pyx_n_s_mode,&__pyx_n_s_auto_build,&__pyx_n_s_spacing,&__pyx_n_s_window_size,&__pyx_n_s_readbuf_size,&__pyx_n_s_readall_buf_size,&__pyx_n_s_drop_handles,&__pyx_n_s_index_file,&__pyx_n_s_skip_crc_check,0}; + PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0}; + + /* "indexed_gzip/indexed_gzip.pyx":290 + * + * def __init__(self, + * filename=None, # <<<<<<<<<<<<<< + * fileobj=None, + * mode=None, + */ + values[0] = ((PyObject *)Py_None); + + /* "indexed_gzip/indexed_gzip.pyx":291 + * def __init__(self, + * filename=None, + * fileobj=None, # <<<<<<<<<<<<<< + * mode=None, + * auto_build=True, + */ + values[1] = ((PyObject *)Py_None); + + /* "indexed_gzip/indexed_gzip.pyx":292 + * filename=None, + * fileobj=None, + * mode=None, # <<<<<<<<<<<<<< + * auto_build=True, + * spacing=4194304, + */ + values[2] = ((PyObject *)Py_None); + + /* "indexed_gzip/indexed_gzip.pyx":293 + * fileobj=None, + * mode=None, + * auto_build=True, # <<<<<<<<<<<<<< + * spacing=4194304, + * window_size=32768, + */ + values[3] = ((PyObject *)Py_True); + values[4] = ((PyObject *)__pyx_int_4194304); + values[5] = ((PyObject *)__pyx_int_32768); + values[6] = ((PyObject *)__pyx_int_1048576); + values[7] = ((PyObject *)__pyx_int_16777216); + + /* "indexed_gzip/indexed_gzip.pyx":298 + * readbuf_size=1048576, + * readall_buf_size=16777216, + * drop_handles=True, # <<<<<<<<<<<<<< + * index_file=None, + * skip_crc_check=False): + */ + values[8] = ((PyObject *)Py_True); + + /* "indexed_gzip/indexed_gzip.pyx":299 + * readall_buf_size=16777216, + * drop_handles=True, + * index_file=None, # <<<<<<<<<<<<<< + * skip_crc_check=False): + * """Create an ``_IndexedGzipFile``. The file may be specified either + */ + values[9] = ((PyObject *)Py_None); + + /* "indexed_gzip/indexed_gzip.pyx":300 + * drop_handles=True, + * index_file=None, + * skip_crc_check=False): # <<<<<<<<<<<<<< + * """Create an ``_IndexedGzipFile``. The file may be specified either + * with an open file handle (``fileobj``), or with a ``filename``. If the + */ + values[10] = ((PyObject *)Py_False); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); + CYTHON_FALLTHROUGH; + case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + CYTHON_FALLTHROUGH; + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename); + if (value) { values[0] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj); + if (value) { values[1] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 2: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mode); + if (value) { values[2] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 3: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_auto_build); + if (value) { values[3] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 4: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_spacing); + if (value) { values[4] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 5: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_window_size); + if (value) { values[5] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 6: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_readbuf_size); + if (value) { values[6] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 7: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_readall_buf_size); + if (value) { values[7] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 8: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop_handles); + if (value) { values[8] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 9: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index_file); + if (value) { values[9] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 10: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_skip_crc_check); + if (value) { values[10] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 289, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); + CYTHON_FALLTHROUGH; + case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); + CYTHON_FALLTHROUGH; + case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); + CYTHON_FALLTHROUGH; + case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); + CYTHON_FALLTHROUGH; + case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); + CYTHON_FALLTHROUGH; + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_filename = values[0]; + __pyx_v_fileobj = values[1]; + __pyx_v_mode = values[2]; + __pyx_v_auto_build = values[3]; + __pyx_v_spacing = values[4]; + __pyx_v_window_size = values[5]; + __pyx_v_readbuf_size = values[6]; + __pyx_v_readall_buf_size = values[7]; + __pyx_v_drop_handles = values[8]; + __pyx_v_index_file = values[9]; + __pyx_v_skip_crc_check = values[10]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 289, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_filename, __pyx_v_fileobj, __pyx_v_mode, __pyx_v_auto_build, __pyx_v_spacing, __pyx_v_window_size, __pyx_v_readbuf_size, __pyx_v_readall_buf_size, __pyx_v_drop_handles, __pyx_v_index_file, __pyx_v_skip_crc_check); + + /* "indexed_gzip/indexed_gzip.pyx":289 + * + * + * def __init__(self, # <<<<<<<<<<<<<< + * filename=None, + * fileobj=None, + */ + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj, PyObject *__pyx_v_mode, PyObject *__pyx_v_auto_build, PyObject *__pyx_v_spacing, PyObject *__pyx_v_window_size, PyObject *__pyx_v_readbuf_size, PyObject *__pyx_v_readall_buf_size, PyObject *__pyx_v_drop_handles, PyObject *__pyx_v_index_file, PyObject *__pyx_v_skip_crc_check) { + FILE *__pyx_v_fd; + PyObject *__pyx_v_own_file = NULL; + PyObject *__pyx_v_flags = NULL; + int __pyx_r; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + uint32_t __pyx_t_13; + unsigned int __pyx_t_14; + PyObject *__pyx_t_15 = NULL; + uint32_t __pyx_t_16; + uint32_t __pyx_t_17; + uint16_t __pyx_t_18; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__init__", 0); + __Pyx_TraceCall("__init__", __pyx_f[0], 289, 0, __PYX_ERR(0, 289, __pyx_L1_error)); + __Pyx_INCREF(__pyx_v_filename); + __Pyx_INCREF(__pyx_v_fileobj); + __Pyx_INCREF(__pyx_v_mode); + __Pyx_INCREF(__pyx_v_drop_handles); + + /* "indexed_gzip/indexed_gzip.pyx":347 + * """ + * + * cdef FILE *fd = NULL # <<<<<<<<<<<<<< + * + * if (fileobj is None and filename is None) or \ + */ + __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L1_error)) + __pyx_v_fd = NULL; + + /* "indexed_gzip/indexed_gzip.pyx":349 + * cdef FILE *fd = NULL + * + * if (fileobj is None and filename is None) or \ # <<<<<<<<<<<<<< + * (fileobj is not None and filename is not None): + * raise ValueError('One of fileobj or filename must be specified') + */ + __Pyx_TraceLine(349,0,__PYX_ERR(0, 349, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_fileobj == Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (!__pyx_t_3) { + goto __pyx_L5_next_or; + } else { + } + __pyx_t_3 = (__pyx_v_filename == Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + if (!__pyx_t_2) { + } else { + __pyx_t_1 = __pyx_t_2; + goto __pyx_L4_bool_binop_done; + } + __pyx_L5_next_or:; + + /* "indexed_gzip/indexed_gzip.pyx":350 + * + * if (fileobj is None and filename is None) or \ + * (fileobj is not None and filename is not None): # <<<<<<<<<<<<<< + * raise ValueError('One of fileobj or filename must be specified') + * + */ + __Pyx_TraceLine(350,0,__PYX_ERR(0, 350, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_fileobj != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_filename != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L4_bool_binop_done:; + + /* "indexed_gzip/indexed_gzip.pyx":349 + * cdef FILE *fd = NULL + * + * if (fileobj is None and filename is None) or \ # <<<<<<<<<<<<<< + * (fileobj is not None and filename is not None): + * raise ValueError('One of fileobj or filename must be specified') + */ + __Pyx_TraceLine(349,0,__PYX_ERR(0, 349, __pyx_L1_error)) + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":351 + * if (fileobj is None and filename is None) or \ + * (fileobj is not None and filename is not None): + * raise ValueError('One of fileobj or filename must be specified') # <<<<<<<<<<<<<< + * + * # filename can be either a + */ + __Pyx_TraceLine(351,0,__PYX_ERR(0, 351, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 351, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":349 + * cdef FILE *fd = NULL + * + * if (fileobj is None and filename is None) or \ # <<<<<<<<<<<<<< + * (fileobj is not None and filename is not None): + * raise ValueError('One of fileobj or filename must be specified') + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":355 + * # filename can be either a + * # name or a file object + * if hasattr(filename, 'read'): # <<<<<<<<<<<<<< + * fileobj = filename + * filename = None + */ + __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L1_error)) + __pyx_t_1 = __Pyx_HasAttr(__pyx_v_filename, __pyx_n_s_read); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 355, __pyx_L1_error) + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":356 + * # name or a file object + * if hasattr(filename, 'read'): + * fileobj = filename # <<<<<<<<<<<<<< + * filename = None + * + */ + __Pyx_TraceLine(356,0,__PYX_ERR(0, 356, __pyx_L1_error)) + __Pyx_INCREF(__pyx_v_filename); + __Pyx_DECREF_SET(__pyx_v_fileobj, __pyx_v_filename); + + /* "indexed_gzip/indexed_gzip.pyx":357 + * if hasattr(filename, 'read'): + * fileobj = filename + * filename = None # <<<<<<<<<<<<<< + * + * if fileobj is not None and \ + */ + __Pyx_TraceLine(357,0,__PYX_ERR(0, 357, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __Pyx_DECREF_SET(__pyx_v_filename, Py_None); + + /* "indexed_gzip/indexed_gzip.pyx":355 + * # filename can be either a + * # name or a file object + * if hasattr(filename, 'read'): # <<<<<<<<<<<<<< + * fileobj = filename + * filename = None + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":359 + * filename = None + * + * if fileobj is not None and \ # <<<<<<<<<<<<<< + * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): + * raise ValueError('Invalid mode - fileobj must be opened ' + */ + __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_fileobj != Py_None); + __pyx_t_3 = (__pyx_t_1 != 0); + if (__pyx_t_3) { + } else { + __pyx_t_2 = __pyx_t_3; + goto __pyx_L10_bool_binop_done; + } + + /* "indexed_gzip/indexed_gzip.pyx":360 + * + * if fileobj is not None and \ + * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): # <<<<<<<<<<<<<< + * raise ValueError('Invalid mode - fileobj must be opened ' + * 'in read-only binary ("rb") mode') + */ + __Pyx_TraceLine(360,0,__PYX_ERR(0, 360, __pyx_L1_error)) + __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_fileobj, __pyx_n_s_mode, __pyx_n_s_rb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 360, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 360, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L12_bool_binop_done; + } + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_r, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 360, __pyx_L1_error) + if (__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L12_bool_binop_done; + } + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 360, __pyx_L1_error) + __pyx_t_3 = __pyx_t_1; + __pyx_L12_bool_binop_done:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_1 = (__pyx_t_3 != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L10_bool_binop_done:; + + /* "indexed_gzip/indexed_gzip.pyx":359 + * filename = None + * + * if fileobj is not None and \ # <<<<<<<<<<<<<< + * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): + * raise ValueError('Invalid mode - fileobj must be opened ' + */ + __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":361 + * if fileobj is not None and \ + * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): + * raise ValueError('Invalid mode - fileobj must be opened ' # <<<<<<<<<<<<<< + * 'in read-only binary ("rb") mode') + * + */ + __Pyx_TraceLine(361,0,__PYX_ERR(0, 361, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 361, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 361, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":359 + * filename = None + * + * if fileobj is not None and \ # <<<<<<<<<<<<<< + * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): + * raise ValueError('Invalid mode - fileobj must be opened ' + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":364 + * 'in read-only binary ("rb") mode') + * + * if (fileobj is None) and (mode not in (None, 'r', 'rb')): # <<<<<<<<<<<<<< + * raise ValueError('Invalid mode ({}), must be ' + * '"r" or "rb"'.format(mode)) + */ + __Pyx_TraceLine(364,0,__PYX_ERR(0, 364, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_fileobj == Py_None); + __pyx_t_3 = (__pyx_t_1 != 0); + if (__pyx_t_3) { + } else { + __pyx_t_2 = __pyx_t_3; + goto __pyx_L16_bool_binop_done; + } + __Pyx_INCREF(__pyx_v_mode); + __pyx_t_4 = __pyx_v_mode; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 364, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L18_bool_binop_done; + } + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_r, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 364, __pyx_L1_error) + if (__pyx_t_1) { + } else { + __pyx_t_3 = __pyx_t_1; + goto __pyx_L18_bool_binop_done; + } + __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_3 = __pyx_t_1; + __pyx_L18_bool_binop_done:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_1 = (__pyx_t_3 != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L16_bool_binop_done:; + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":366 + * if (fileobj is None) and (mode not in (None, 'r', 'rb')): + * raise ValueError('Invalid mode ({}), must be ' + * '"r" or "rb"'.format(mode)) # <<<<<<<<<<<<<< + * + * # If __file_handle is called on a file + */ + __Pyx_TraceLine(366,0,__PYX_ERR(0, 366, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Invalid_mode_must_be_r_or_rb, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 366, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_mode) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_mode); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 366, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":365 + * + * if (fileobj is None) and (mode not in (None, 'r', 'rb')): + * raise ValueError('Invalid mode ({}), must be ' # <<<<<<<<<<<<<< + * '"r" or "rb"'.format(mode)) + * + */ + __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __PYX_ERR(0, 365, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":364 + * 'in read-only binary ("rb") mode') + * + * if (fileobj is None) and (mode not in (None, 'r', 'rb')): # <<<<<<<<<<<<<< + * raise ValueError('Invalid mode ({}), must be ' + * '"r" or "rb"'.format(mode)) + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":373 + * # a segmentation fault on linux. So + * # let's check before that happens. + * if (filename is not None) and (not op.isfile(filename)): # <<<<<<<<<<<<<< + * raise ValueError('File {} does not exist'.format(filename)) + * + */ + __Pyx_TraceLine(373,0,__PYX_ERR(0, 373, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_filename != Py_None); + __pyx_t_3 = (__pyx_t_1 != 0); + if (__pyx_t_3) { + } else { + __pyx_t_2 = __pyx_t_3; + goto __pyx_L22_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_op); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 373, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isfile); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 373, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_filename); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 373, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 373, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_1 = ((!__pyx_t_3) != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L22_bool_binop_done:; + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":374 + * # let's check before that happens. + * if (filename is not None) and (not op.isfile(filename)): + * raise ValueError('File {} does not exist'.format(filename)) # <<<<<<<<<<<<<< + * + * mode = 'rb' + */ + __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_File_does_not_exist, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 374, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_filename); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 374, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 374, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __PYX_ERR(0, 374, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":373 + * # a segmentation fault on linux. So + * # let's check before that happens. + * if (filename is not None) and (not op.isfile(filename)): # <<<<<<<<<<<<<< + * raise ValueError('File {} does not exist'.format(filename)) + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":376 + * raise ValueError('File {} does not exist'.format(filename)) + * + * mode = 'rb' # <<<<<<<<<<<<<< + * own_file = fileobj is None + * + */ + __Pyx_TraceLine(376,0,__PYX_ERR(0, 376, __pyx_L1_error)) + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_DECREF_SET(__pyx_v_mode, __pyx_n_s_rb); + + /* "indexed_gzip/indexed_gzip.pyx":377 + * + * mode = 'rb' + * own_file = fileobj is None # <<<<<<<<<<<<<< + * + * # if file is specified with an open + */ + __Pyx_TraceLine(377,0,__PYX_ERR(0, 377, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_fileobj == Py_None); + __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_v_own_file = __pyx_t_6; + __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":381 + * # if file is specified with an open + * # file handle, drop_handles is ignored + * if fileobj is not None: # <<<<<<<<<<<<<< + * drop_handles = False + * + */ + __Pyx_TraceLine(381,0,__PYX_ERR(0, 381, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_fileobj != Py_None); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "indexed_gzip/indexed_gzip.pyx":382 + * # file handle, drop_handles is ignored + * if fileobj is not None: + * drop_handles = False # <<<<<<<<<<<<<< + * + * # if not drop_handles, we open a + */ + __Pyx_TraceLine(382,0,__PYX_ERR(0, 382, __pyx_L1_error)) + __Pyx_INCREF(Py_False); + __Pyx_DECREF_SET(__pyx_v_drop_handles, Py_False); + + /* "indexed_gzip/indexed_gzip.pyx":381 + * # if file is specified with an open + * # file handle, drop_handles is ignored + * if fileobj is not None: # <<<<<<<<<<<<<< + * drop_handles = False + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":387 + * # file handle and keep it open for + * # the lifetime of this object. + * if not drop_handles: # <<<<<<<<<<<<<< + * if fileobj is None: + * fileobj = builtin_open(filename, mode) + */ + __Pyx_TraceLine(387,0,__PYX_ERR(0, 387, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_drop_handles); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 387, __pyx_L1_error) + __pyx_t_2 = ((!__pyx_t_1) != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":388 + * # the lifetime of this object. + * if not drop_handles: + * if fileobj is None: # <<<<<<<<<<<<<< + * fileobj = builtin_open(filename, mode) + * try: + */ + __Pyx_TraceLine(388,0,__PYX_ERR(0, 388, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_fileobj == Py_None); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "indexed_gzip/indexed_gzip.pyx":389 + * if not drop_handles: + * if fileobj is None: + * fileobj = builtin_open(filename, mode) # <<<<<<<<<<<<<< + * try: + * fd = fdopen(fileobj.fileno(), 'rb') + */ + __Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_builtin_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 389, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_filename, __pyx_v_mode}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_filename, __pyx_v_mode}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 389, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_filename); + __Pyx_INCREF(__pyx_v_mode); + __Pyx_GIVEREF(__pyx_v_mode); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_mode); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_fileobj, __pyx_t_6); + __pyx_t_6 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":388 + * # the lifetime of this object. + * if not drop_handles: + * if fileobj is None: # <<<<<<<<<<<<<< + * fileobj = builtin_open(filename, mode) + * try: + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":390 + * if fileobj is None: + * fileobj = builtin_open(filename, mode) + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: + */ + __Pyx_TraceLine(390,0,__PYX_ERR(0, 390, __pyx_L1_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":391 + * fileobj = builtin_open(filename, mode) + * try: + * fd = fdopen(fileobj.fileno(), 'rb') # <<<<<<<<<<<<<< + * except io.UnsupportedOperation: + * fd = NULL + */ + __Pyx_TraceLine(391,0,__PYX_ERR(0, 391, __pyx_L27_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_fileno); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 391, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 391, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 391, __pyx_L27_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_v_fd = fdopen(__pyx_t_7, ((char const *)"rb")); + + /* "indexed_gzip/indexed_gzip.pyx":390 + * if fileobj is None: + * fileobj = builtin_open(filename, mode) + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L32_try_end; + __pyx_L27_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":392 + * try: + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: # <<<<<<<<<<<<<< + * fd = NULL + * + */ + __Pyx_TraceLine(392,0,__PYX_ERR(0, 392, __pyx_L29_except_error)) + __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_5, &__pyx_t_8); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_io); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 392, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_UnsupportedOperation); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 392, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_6, __pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_ErrRestore(__pyx_t_6, __pyx_t_5, __pyx_t_8); + __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; + if (__pyx_t_7) { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 392, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + + /* "indexed_gzip/indexed_gzip.pyx":393 + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: + * fd = NULL # <<<<<<<<<<<<<< + * + * self.spacing = spacing + */ + __Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L29_except_error)) + __pyx_v_fd = NULL; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L28_exception_handled; + } + goto __pyx_L29_except_error; + __pyx_L29_except_error:; + + /* "indexed_gzip/indexed_gzip.pyx":390 + * if fileobj is None: + * fileobj = builtin_open(filename, mode) + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: + */ + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L1_error; + __pyx_L28_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L32_try_end:; + } + + /* "indexed_gzip/indexed_gzip.pyx":387 + * # file handle and keep it open for + * # the lifetime of this object. + * if not drop_handles: # <<<<<<<<<<<<<< + * if fileobj is None: + * fileobj = builtin_open(filename, mode) + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":395 + * fd = NULL + * + * self.spacing = spacing # <<<<<<<<<<<<<< + * self.window_size = window_size + * self.readbuf_size = readbuf_size + */ + __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L1_error)) + __pyx_t_13 = __Pyx_PyInt_As_uint32_t(__pyx_v_spacing); if (unlikely((__pyx_t_13 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 395, __pyx_L1_error) + __pyx_v_self->spacing = __pyx_t_13; + + /* "indexed_gzip/indexed_gzip.pyx":396 + * + * self.spacing = spacing + * self.window_size = window_size # <<<<<<<<<<<<<< + * self.readbuf_size = readbuf_size + * self.readall_buf_size = readall_buf_size + */ + __Pyx_TraceLine(396,0,__PYX_ERR(0, 396, __pyx_L1_error)) + __pyx_t_13 = __Pyx_PyInt_As_uint32_t(__pyx_v_window_size); if (unlikely((__pyx_t_13 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 396, __pyx_L1_error) + __pyx_v_self->window_size = __pyx_t_13; + + /* "indexed_gzip/indexed_gzip.pyx":397 + * self.spacing = spacing + * self.window_size = window_size + * self.readbuf_size = readbuf_size # <<<<<<<<<<<<<< + * self.readall_buf_size = readall_buf_size + * self.auto_build = auto_build + */ + __Pyx_TraceLine(397,0,__PYX_ERR(0, 397, __pyx_L1_error)) + __pyx_t_13 = __Pyx_PyInt_As_uint32_t(__pyx_v_readbuf_size); if (unlikely((__pyx_t_13 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 397, __pyx_L1_error) + __pyx_v_self->readbuf_size = __pyx_t_13; + + /* "indexed_gzip/indexed_gzip.pyx":398 + * self.window_size = window_size + * self.readbuf_size = readbuf_size + * self.readall_buf_size = readall_buf_size # <<<<<<<<<<<<<< + * self.auto_build = auto_build + * self.skip_crc_check = skip_crc_check + */ + __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L1_error)) + __pyx_t_14 = __Pyx_PyInt_As_unsigned_int(__pyx_v_readall_buf_size); if (unlikely((__pyx_t_14 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 398, __pyx_L1_error) + __pyx_v_self->readall_buf_size = __pyx_t_14; + + /* "indexed_gzip/indexed_gzip.pyx":399 + * self.readbuf_size = readbuf_size + * self.readall_buf_size = readall_buf_size + * self.auto_build = auto_build # <<<<<<<<<<<<<< + * self.skip_crc_check = skip_crc_check + * self.drop_handles = drop_handles + */ + __Pyx_TraceLine(399,0,__PYX_ERR(0, 399, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_auto_build); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 399, __pyx_L1_error) + __pyx_v_self->auto_build = __pyx_t_1; + + /* "indexed_gzip/indexed_gzip.pyx":400 + * self.readall_buf_size = readall_buf_size + * self.auto_build = auto_build + * self.skip_crc_check = skip_crc_check # <<<<<<<<<<<<<< + * self.drop_handles = drop_handles + * self.filename = filename + */ + __Pyx_TraceLine(400,0,__PYX_ERR(0, 400, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_skip_crc_check); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L1_error) + __pyx_v_self->skip_crc_check = __pyx_t_1; + + /* "indexed_gzip/indexed_gzip.pyx":401 + * self.auto_build = auto_build + * self.skip_crc_check = skip_crc_check + * self.drop_handles = drop_handles # <<<<<<<<<<<<<< + * self.filename = filename + * self.own_file = own_file + */ + __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_drop_handles); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 401, __pyx_L1_error) + __pyx_v_self->drop_handles = __pyx_t_1; + + /* "indexed_gzip/indexed_gzip.pyx":402 + * self.skip_crc_check = skip_crc_check + * self.drop_handles = drop_handles + * self.filename = filename # <<<<<<<<<<<<<< + * self.own_file = own_file + * self.pyfid = fileobj + */ + __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L1_error)) + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + __Pyx_GOTREF(__pyx_v_self->filename); + __Pyx_DECREF(__pyx_v_self->filename); + __pyx_v_self->filename = __pyx_v_filename; + + /* "indexed_gzip/indexed_gzip.pyx":403 + * self.drop_handles = drop_handles + * self.filename = filename + * self.own_file = own_file # <<<<<<<<<<<<<< + * self.pyfid = fileobj + * + */ + __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_own_file); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 403, __pyx_L1_error) + __pyx_v_self->own_file = __pyx_t_1; + + /* "indexed_gzip/indexed_gzip.pyx":404 + * self.filename = filename + * self.own_file = own_file + * self.pyfid = fileobj # <<<<<<<<<<<<<< + * + * flags = 0 + */ + __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L1_error)) + __Pyx_INCREF(__pyx_v_fileobj); + __Pyx_GIVEREF(__pyx_v_fileobj); + __Pyx_GOTREF(__pyx_v_self->pyfid); + __Pyx_DECREF(__pyx_v_self->pyfid); + __pyx_v_self->pyfid = __pyx_v_fileobj; + + /* "indexed_gzip/indexed_gzip.pyx":406 + * self.pyfid = fileobj + * + * flags = 0 # <<<<<<<<<<<<<< + * + * if auto_build: flags |= zran.ZRAN_AUTO_BUILD + */ + __Pyx_TraceLine(406,0,__PYX_ERR(0, 406, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_v_flags = __pyx_int_0; + + /* "indexed_gzip/indexed_gzip.pyx":408 + * flags = 0 + * + * if auto_build: flags |= zran.ZRAN_AUTO_BUILD # <<<<<<<<<<<<<< + * if skip_crc_check: flags |= zran.ZRAN_SKIP_CRC_CHECK + * + */ + __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_auto_build); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 408, __pyx_L1_error) + if (__pyx_t_1) { + __pyx_t_6 = __Pyx_PyInt_From_int(ZRAN_AUTO_BUILD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = PyNumber_InPlaceOr(__pyx_v_flags, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_flags, __pyx_t_5); + __pyx_t_5 = 0; + } + + /* "indexed_gzip/indexed_gzip.pyx":409 + * + * if auto_build: flags |= zran.ZRAN_AUTO_BUILD + * if skip_crc_check: flags |= zran.ZRAN_SKIP_CRC_CHECK # <<<<<<<<<<<<<< + * + * # Set index.fd here just for the initial + */ + __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_skip_crc_check); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 409, __pyx_L1_error) + if (__pyx_t_1) { + __pyx_t_5 = __Pyx_PyInt_From_int(ZRAN_SKIP_CRC_CHECK); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 409, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyNumber_InPlaceOr(__pyx_v_flags, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 409, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_flags, __pyx_t_6); + __pyx_t_6 = 0; + } + + /* "indexed_gzip/indexed_gzip.pyx":414 + * # call, as __file_handle may otherwise + * # manipulate it incorrectly + * self.index.fd = fd # <<<<<<<<<<<<<< + * with self.__file_handle(): + * if zran.zran_init(index=&self.index, + */ + __Pyx_TraceLine(414,0,__PYX_ERR(0, 414, __pyx_L1_error)) + __pyx_v_self->index.fd = __pyx_v_fd; + + /* "indexed_gzip/indexed_gzip.pyx":415 + * # manipulate it incorrectly + * self.index.fd = fd + * with self.__file_handle(): # <<<<<<<<<<<<<< + * if zran.zran_init(index=&self.index, + * fd=self.index.fd, + */ + __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L1_error)) + /*with:*/ { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 415, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 415, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_enter); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 415, __pyx_L37_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_5 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L37_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_9, &__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_15); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":419 + * fd=self.index.fd, + * f=fileobj, + * spacing=spacing, # <<<<<<<<<<<<<< + * window_size=window_size, + * readbuf_size=readbuf_size, + */ + __Pyx_TraceLine(419,0,__PYX_ERR(0, 419, __pyx_L41_error)) + __pyx_t_13 = __Pyx_PyInt_As_uint32_t(__pyx_v_spacing); if (unlikely((__pyx_t_13 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 419, __pyx_L41_error) + + /* "indexed_gzip/indexed_gzip.pyx":420 + * f=fileobj, + * spacing=spacing, + * window_size=window_size, # <<<<<<<<<<<<<< + * readbuf_size=readbuf_size, + * flags=flags): + */ + __Pyx_TraceLine(420,0,__PYX_ERR(0, 420, __pyx_L41_error)) + __pyx_t_16 = __Pyx_PyInt_As_uint32_t(__pyx_v_window_size); if (unlikely((__pyx_t_16 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 420, __pyx_L41_error) + + /* "indexed_gzip/indexed_gzip.pyx":421 + * spacing=spacing, + * window_size=window_size, + * readbuf_size=readbuf_size, # <<<<<<<<<<<<<< + * flags=flags): + * raise ZranError('zran_init returned error (file: ' + */ + __Pyx_TraceLine(421,0,__PYX_ERR(0, 421, __pyx_L41_error)) + __pyx_t_17 = __Pyx_PyInt_As_uint32_t(__pyx_v_readbuf_size); if (unlikely((__pyx_t_17 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 421, __pyx_L41_error) + + /* "indexed_gzip/indexed_gzip.pyx":422 + * window_size=window_size, + * readbuf_size=readbuf_size, + * flags=flags): # <<<<<<<<<<<<<< + * raise ZranError('zran_init returned error (file: ' + * '{})'.format(self.errname)) + */ + __Pyx_TraceLine(422,0,__PYX_ERR(0, 422, __pyx_L41_error)) + __pyx_t_18 = __Pyx_PyInt_As_uint16_t(__pyx_v_flags); if (unlikely((__pyx_t_18 == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 422, __pyx_L41_error) + + /* "indexed_gzip/indexed_gzip.pyx":416 + * self.index.fd = fd + * with self.__file_handle(): + * if zran.zran_init(index=&self.index, # <<<<<<<<<<<<<< + * fd=self.index.fd, + * f=fileobj, + */ + __Pyx_TraceLine(416,0,__PYX_ERR(0, 416, __pyx_L41_error)) + __pyx_t_1 = (zran_init((&__pyx_v_self->index), __pyx_v_self->index.fd, ((PyObject *)__pyx_v_fileobj), __pyx_t_13, __pyx_t_16, __pyx_t_17, __pyx_t_18) != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":423 + * readbuf_size=readbuf_size, + * flags=flags): + * raise ZranError('zran_init returned error (file: ' # <<<<<<<<<<<<<< + * '{})'.format(self.errname)) + * + */ + __Pyx_TraceLine(423,0,__PYX_ERR(0, 423, __pyx_L41_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 423, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/indexed_gzip.pyx":424 + * flags=flags): + * raise ZranError('zran_init returned error (file: ' + * '{})'.format(self.errname)) # <<<<<<<<<<<<<< + * + * log.debug('%s.__init__(%s, %s, %s, %s, %s, %s, %s)', + */ + __Pyx_TraceLine(424,0,__PYX_ERR(0, 424, __pyx_L41_error)) + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_init_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 424, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 424, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_19 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_19)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_19); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_8 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_19, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 424, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_6 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 423, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __PYX_ERR(0, 423, __pyx_L41_error) + + /* "indexed_gzip/indexed_gzip.pyx":416 + * self.index.fd = fd + * with self.__file_handle(): + * if zran.zran_init(index=&self.index, # <<<<<<<<<<<<<< + * fd=self.index.fd, + * f=fileobj, + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":415 + * # manipulate it incorrectly + * self.index.fd = fd + * with self.__file_handle(): # <<<<<<<<<<<<<< + * if zran.zran_init(index=&self.index, + * fd=self.index.fd, + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L46_try_end; + __pyx_L41_error:; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_8) < 0) __PYX_ERR(0, 415, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_12 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 415, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_12, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 415, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_1 < 0) __PYX_ERR(0, 415, __pyx_L43_except_error) + __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_5, __pyx_t_8); + __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; + __PYX_ERR(0, 415, __pyx_L43_except_error) + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L42_exception_handled; + } + __pyx_L43_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_9, __pyx_t_15); + goto __pyx_L1_error; + __pyx_L42_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_9, __pyx_t_15); + __pyx_L46_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 415, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + goto __pyx_L40; + } + __pyx_L40:; + } + goto __pyx_L51; + __pyx_L37_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L1_error; + __pyx_L51:; + } + + /* "indexed_gzip/indexed_gzip.pyx":426 + * '{})'.format(self.errname)) + * + * log.debug('%s.__init__(%s, %s, %s, %s, %s, %s, %s)', # <<<<<<<<<<<<<< + * type(self).__name__, + * fileobj, + */ + __Pyx_TraceLine(426,0,__PYX_ERR(0, 426, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 426, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 426, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":427 + * + * log.debug('%s.__init__(%s, %s, %s, %s, %s, %s, %s)', + * type(self).__name__, # <<<<<<<<<<<<<< + * fileobj, + * filename, + */ + __Pyx_TraceLine(427,0,__PYX_ERR(0, 427, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 427, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/indexed_gzip.pyx":434 + * window_size, + * readbuf_size, + * drop_handles) # <<<<<<<<<<<<<< + * + * if index_file is not None: + */ + __Pyx_TraceLine(434,0,__PYX_ERR(0, 434, __pyx_L1_error)) + __pyx_t_12 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[10] = {__pyx_t_12, __pyx_kp_s_s___init___s_s_s_s_s_s_s, __pyx_t_5, __pyx_v_fileobj, __pyx_v_filename, __pyx_v_auto_build, __pyx_v_spacing, __pyx_v_window_size, __pyx_v_readbuf_size, __pyx_v_drop_handles}; + __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 9+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 426, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[10] = {__pyx_t_12, __pyx_kp_s_s___init___s_s_s_s_s_s_s, __pyx_t_5, __pyx_v_fileobj, __pyx_v_filename, __pyx_v_auto_build, __pyx_v_spacing, __pyx_v_window_size, __pyx_v_readbuf_size, __pyx_v_drop_handles}; + __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 9+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 426, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_4 = PyTuple_New(9+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 426, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_12); __pyx_t_12 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_s___init___s_s_s_s_s_s_s); + __Pyx_GIVEREF(__pyx_kp_s_s___init___s_s_s_s_s_s_s); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_kp_s_s___init___s_s_s_s_s_s_s); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_t_5); + __Pyx_INCREF(__pyx_v_fileobj); + __Pyx_GIVEREF(__pyx_v_fileobj); + PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_7, __pyx_v_fileobj); + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_7, __pyx_v_filename); + __Pyx_INCREF(__pyx_v_auto_build); + __Pyx_GIVEREF(__pyx_v_auto_build); + PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_7, __pyx_v_auto_build); + __Pyx_INCREF(__pyx_v_spacing); + __Pyx_GIVEREF(__pyx_v_spacing); + PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_7, __pyx_v_spacing); + __Pyx_INCREF(__pyx_v_window_size); + __Pyx_GIVEREF(__pyx_v_window_size); + PyTuple_SET_ITEM(__pyx_t_4, 6+__pyx_t_7, __pyx_v_window_size); + __Pyx_INCREF(__pyx_v_readbuf_size); + __Pyx_GIVEREF(__pyx_v_readbuf_size); + PyTuple_SET_ITEM(__pyx_t_4, 7+__pyx_t_7, __pyx_v_readbuf_size); + __Pyx_INCREF(__pyx_v_drop_handles); + __Pyx_GIVEREF(__pyx_v_drop_handles); + PyTuple_SET_ITEM(__pyx_t_4, 8+__pyx_t_7, __pyx_v_drop_handles); + __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 426, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":436 + * drop_handles) + * + * if index_file is not None: # <<<<<<<<<<<<<< + * self.import_index(index_file) + * + */ + __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_index_file != Py_None); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "indexed_gzip/indexed_gzip.pyx":437 + * + * if index_file is not None: + * self.import_index(index_file) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_import_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 437, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_8 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_index_file) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_index_file); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 437, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":436 + * drop_handles) + * + * if index_file is not None: # <<<<<<<<<<<<<< + * self.import_index(index_file) + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":289 + * + * + * def __init__(self, # <<<<<<<<<<<<<< + * filename=None, + * fileobj=None, + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_own_file); + __Pyx_XDECREF(__pyx_v_flags); + __Pyx_XDECREF(__pyx_v_filename); + __Pyx_XDECREF(__pyx_v_fileobj); + __Pyx_XDECREF(__pyx_v_mode); + __Pyx_XDECREF(__pyx_v_drop_handles); + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":440 + * + * + * def __file_handle(self): # <<<<<<<<<<<<<< + * """This method is used as a context manager whenever access to the + * underlying file stream is required. It makes sure that ``index.fd`` + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle[] = "_IndexedGzipFile.__file_handle(self)\nThis method is used as a context manager whenever access to the\n underlying file stream is required. It makes sure that ``index.fd``\n field is set appropriately, opening/closing the file handle as\n necessary (depending on the value of :attr:`drop_handles`).\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle = {"__file_handle", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__file_handle (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} +static PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ + +/* "indexed_gzip/indexed_gzip.pyx":453 + * # dropping support for cython < 0.26. + * @contextlib.contextmanager + * def proxy(): # <<<<<<<<<<<<<< + * + * # If a file handle already exists, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy = {"proxy", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("proxy (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_proxy(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_proxy(PyObject *__pyx_self) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *__pyx_cur_scope; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("proxy", 0); + __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 453, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *) __Pyx_CyFunction_GetClosure(__pyx_self); + __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope)); + __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope); + { + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_proxy, __pyx_n_s_file_handle_locals_proxy, __pyx_n_s_indexed_gzip_indexed_gzip); if (unlikely(!gen)) __PYX_ERR(0, 453, __pyx_L1_error) + __Pyx_DECREF(__pyx_cur_scope); + __Pyx_RefNannyFinishContext(); + return (PyObject *) gen; + } + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__file_handle.proxy", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +{ + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *__pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)__pyx_generator->closure); + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + char const *__pyx_t_6; + int __pyx_t_7; + int __pyx_t_8; + char const *__pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("proxy", 0); + __Pyx_TraceCall("proxy", __pyx_f[0], 453, 0, __PYX_ERR(0, 453, __pyx_L1_error)); + switch (__pyx_generator->resume_label) { + case 0: goto __pyx_L3_first_run; + case 1: goto __pyx_L5_resume_from_yield; + case 2: goto __pyx_L6_resume_from_yield; + case 3: goto __pyx_L10_resume_from_yield; + default: /* CPython raises the right error here */ + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return NULL; + } + __pyx_L3_first_run:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 453, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":458 + * # return it. This clause makes this + * # context manager reentrant. + * if self.index.fd is not NULL: # <<<<<<<<<<<<<< + * yield + * + */ + __Pyx_TraceLine(458,0,__PYX_ERR(0, 458, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 458, __pyx_L1_error) } + __pyx_t_1 = ((__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd != NULL) != 0); + if (__pyx_t_1) { + + /* "indexed_gzip/indexed_gzip.pyx":459 + * # context manager reentrant. + * if self.index.fd is not NULL: + * yield # <<<<<<<<<<<<<< + * + * # If a file-like object exists (without an associated + */ + __Pyx_TraceLine(459,0,__PYX_ERR(0, 459, __pyx_L1_error)) + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + /* return from generator, yielding value */ + __pyx_generator->resume_label = 1; + return __pyx_r; + __pyx_L5_resume_from_yield:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 459, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":458 + * # return it. This clause makes this + * # context manager reentrant. + * if self.index.fd is not NULL: # <<<<<<<<<<<<<< + * yield + * + */ + goto __pyx_L4; + } + + /* "indexed_gzip/indexed_gzip.pyx":464 + * # file descriptor, since self.index.fd is NULL), + * # also return it. + * elif self.pyfid is not None: # <<<<<<<<<<<<<< + * yield + * + */ + __Pyx_TraceLine(464,0,__PYX_ERR(0, 464, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 464, __pyx_L1_error) } + __pyx_t_1 = (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->pyfid != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":465 + * # also return it. + * elif self.pyfid is not None: + * yield # <<<<<<<<<<<<<< + * + * # otherwise we open a new + */ + __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L1_error)) + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + /* return from generator, yielding value */ + __pyx_generator->resume_label = 2; + return __pyx_r; + __pyx_L6_resume_from_yield:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 465, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":464 + * # file descriptor, since self.index.fd is NULL), + * # also return it. + * elif self.pyfid is not None: # <<<<<<<<<<<<<< + * yield + * + */ + goto __pyx_L4; + } + + /* "indexed_gzip/indexed_gzip.pyx":470 + * # file handle on each access + * else: + * try: # <<<<<<<<<<<<<< + * self.index.fd = fopen(self.filename.encode(), 'rb') + * yield + */ + __Pyx_TraceLine(470,0,__PYX_ERR(0, 470, __pyx_L1_error)) + /*else*/ { + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":471 + * else: + * try: + * self.index.fd = fopen(self.filename.encode(), 'rb') # <<<<<<<<<<<<<< + * yield + * + */ + __Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L8_error)) + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 471, __pyx_L8_error) } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->filename, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 471, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_t_3); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 471, __pyx_L8_error) + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 471, __pyx_L8_error) } + __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd = fopen(__pyx_t_6, ((char const *)"rb")); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":472 + * try: + * self.index.fd = fopen(self.filename.encode(), 'rb') + * yield # <<<<<<<<<<<<<< + * + * finally: + */ + __Pyx_TraceLine(472,0,__PYX_ERR(0, 472, __pyx_L8_error)) + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + /* return from generator, yielding value */ + __pyx_generator->resume_label = 3; + return __pyx_r; + __pyx_L10_resume_from_yield:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 472, __pyx_L8_error) + } + + /* "indexed_gzip/indexed_gzip.pyx":475 + * + * finally: + * fclose(self.index.fd) # <<<<<<<<<<<<<< + * self.index.fd = NULL + * + */ + __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L8_error)) + /*finally:*/ { + /*normal exit:*/{ + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 475, __pyx_L1_error) } + (void)(fclose(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd)); + + /* "indexed_gzip/indexed_gzip.pyx":476 + * finally: + * fclose(self.index.fd) + * self.index.fd = NULL # <<<<<<<<<<<<<< + * + * return proxy() + */ + __Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 476, __pyx_L1_error) } + __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd = NULL; + goto __pyx_L9; + } + __pyx_L8_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_assign + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; + { + + /* "indexed_gzip/indexed_gzip.pyx":475 + * + * finally: + * fclose(self.index.fd) # <<<<<<<<<<<<<< + * self.index.fd = NULL + * + */ + __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L12_error)) + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 475, __pyx_L12_error) } + (void)(fclose(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd)); + + /* "indexed_gzip/indexed_gzip.pyx":476 + * finally: + * fclose(self.index.fd) + * self.index.fd = NULL # <<<<<<<<<<<<<< + * + * return proxy() + */ + __Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L12_error)) + if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 476, __pyx_L12_error) } + __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd = NULL; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + } + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; + goto __pyx_L1_error; + __pyx_L12_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + goto __pyx_L1_error; + } + __pyx_L9:; + } + } + __pyx_L4:; + CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); + + /* "indexed_gzip/indexed_gzip.pyx":453 + * # dropping support for cython < 0.26. + * @contextlib.contextmanager + * def proxy(): # <<<<<<<<<<<<<< + * + * # If a file handle already exists, + */ + + /* function exit code */ + PyErr_SetNone(PyExc_StopIteration); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("proxy", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_L0:; + __Pyx_XDECREF(__pyx_r); __pyx_r = 0; + #if !CYTHON_USE_EXC_INFO_STACK + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + #endif + __pyx_generator->resume_label = -1; + __Pyx_Coroutine_clear((PyObject*)__pyx_generator); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":440 + * + * + * def __file_handle(self): # <<<<<<<<<<<<<< + * """This method is used as a context manager whenever access to the + * underlying file stream is required. It makes sure that ``index.fd`` + */ + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *__pyx_cur_scope; + PyObject *__pyx_v_proxy = 0; + PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1 = 0; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__8) + __Pyx_RefNannySetupContext("__file_handle", 0); + __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 440, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __Pyx_TraceCall("__file_handle", __pyx_f[0], 440, 0, __PYX_ERR(0, 440, __pyx_L1_error)); + __pyx_cur_scope->__pyx_v_self = __pyx_v_self; + __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self); + __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self); + + /* "indexed_gzip/indexed_gzip.pyx":452 + * # can be removed when you are happy + * # dropping support for cython < 0.26. + * @contextlib.contextmanager # <<<<<<<<<<<<<< + * def proxy(): + * + */ + __Pyx_TraceLine(452,0,__PYX_ERR(0, 452, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_contextlib); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 452, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_contextmanager); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":453 + * # dropping support for cython < 0.26. + * @contextlib.contextmanager + * def proxy(): # <<<<<<<<<<<<<< + * + * # If a file handle already exists, + */ + __Pyx_TraceLine(453,0,__PYX_ERR(0, 453, __pyx_L1_error)) + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy, 0, __pyx_n_s_file_handle_locals_proxy, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_proxy = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":478 + * self.index.fd = NULL + * + * return proxy() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(478,0,__PYX_ERR(0, 478, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_proxy); + __pyx_t_3 = __pyx_v_proxy; __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":440 + * + * + * def __file_handle(self): # <<<<<<<<<<<<<< + * """This method is used as a context manager whenever access to the + * underlying file stream is required. It makes sure that ``index.fd`` + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__file_handle", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_proxy); + __Pyx_XDECREF(__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1); + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} +static PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ + +/* "indexed_gzip/indexed_gzip.pyx":481 + * + * + * def seek_points(self): # <<<<<<<<<<<<<< + * """Return the seek point locations that currently exist in the index. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points[] = "_IndexedGzipFile.seek_points(self)\nReturn the seek point locations that currently exist in the index.\n\n Yields a sequence of tuples, with each tuple containing the\n uncompressed and compressed offsets for one seek point in the index.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points = {"seek_points", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("seek_points (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *__pyx_cur_scope; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("seek_points", 0); + __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 481, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __pyx_cur_scope->__pyx_v_self = __pyx_v_self; + __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self); + __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self); + { + __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6generator, __pyx_codeobj__10, (PyObject *) __pyx_cur_scope, __pyx_n_s_seek_points, __pyx_n_s_IndexedGzipFile_seek_points, __pyx_n_s_indexed_gzip_indexed_gzip); if (unlikely(!gen)) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_DECREF(__pyx_cur_scope); + __Pyx_RefNannyFinishContext(); + return (PyObject *) gen; + } + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ +{ + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *__pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)__pyx_generator->closure); + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + uint32_t __pyx_t_1; + uint32_t __pyx_t_2; + uint32_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("seek_points", 0); + __Pyx_TraceFrameInit(__pyx_codeobj__10) + __Pyx_TraceCall("seek_points", __pyx_f[0], 481, 0, __PYX_ERR(0, 481, __pyx_L1_error)); + switch (__pyx_generator->resume_label) { + case 0: goto __pyx_L3_first_run; + case 1: goto __pyx_L6_resume_from_yield; + default: /* CPython raises the right error here */ + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return NULL; + } + __pyx_L3_first_run:; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 481, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":487 + * uncompressed and compressed offsets for one seek point in the index. + * """ + * for i in range(self.index.npoints): # <<<<<<<<<<<<<< + * point = self.index.list[i] + * yield (point.uncmp_offset, point.cmp_offset) + */ + __Pyx_TraceLine(487,0,__PYX_ERR(0, 487, __pyx_L1_error)) + __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->index.npoints; + __pyx_t_2 = __pyx_t_1; + for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) { + __pyx_cur_scope->__pyx_v_i = __pyx_t_3; + + /* "indexed_gzip/indexed_gzip.pyx":488 + * """ + * for i in range(self.index.npoints): + * point = self.index.list[i] # <<<<<<<<<<<<<< + * yield (point.uncmp_offset, point.cmp_offset) + * + */ + __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L1_error)) + __pyx_cur_scope->__pyx_v_point = (__pyx_cur_scope->__pyx_v_self->index.list[__pyx_cur_scope->__pyx_v_i]); + + /* "indexed_gzip/indexed_gzip.pyx":489 + * for i in range(self.index.npoints): + * point = self.index.list[i] + * yield (point.uncmp_offset, point.cmp_offset) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(489,0,__PYX_ERR(0, 489, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_cur_scope->__pyx_v_point.uncmp_offset); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 489, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_cur_scope->__pyx_v_point.cmp_offset); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 489, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 489, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); + __pyx_t_4 = 0; + __pyx_t_5 = 0; + __pyx_r = __pyx_t_6; + __pyx_t_6 = 0; + __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; + __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; + __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + /* return from generator, yielding value */ + __pyx_generator->resume_label = 1; + return __pyx_r; + __pyx_L6_resume_from_yield:; + __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; + __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; + __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; + if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 489, __pyx_L1_error) + } + CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); + + /* "indexed_gzip/indexed_gzip.pyx":481 + * + * + * def seek_points(self): # <<<<<<<<<<<<<< + * """Return the seek point locations that currently exist in the index. + * + */ + + /* function exit code */ + PyErr_SetNone(PyExc_StopIteration); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_L0:; + __Pyx_XDECREF(__pyx_r); __pyx_r = 0; + #if !CYTHON_USE_EXC_INFO_STACK + __Pyx_Coroutine_ResetAndClearException(__pyx_generator); + #endif + __pyx_generator->resume_label = -1; + __Pyx_Coroutine_clear((PyObject*)__pyx_generator); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":492 + * + * + * def fileno(self): # <<<<<<<<<<<<<< + * """Calls ``fileno`` on the underlying file object. Raises a + * :exc:`NoHandleError` if ``drop_handles is True``. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno[] = "_IndexedGzipFile.fileno(self)\nCalls ``fileno`` on the underlying file object. Raises a\n :exc:`NoHandleError` if ``drop_handles is True``.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno = {"fileno", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("fileno (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__11) + __Pyx_RefNannySetupContext("fileno", 0); + __Pyx_TraceCall("fileno", __pyx_f[0], 492, 0, __PYX_ERR(0, 492, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":496 + * :exc:`NoHandleError` if ``drop_handles is True``. + * """ + * if self.drop_handles: # <<<<<<<<<<<<<< + * raise NoHandleError() + * return self.pyfid.fileno() + */ + __Pyx_TraceLine(496,0,__PYX_ERR(0, 496, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_self->drop_handles != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":497 + * """ + * if self.drop_handles: + * raise NoHandleError() # <<<<<<<<<<<<<< + * return self.pyfid.fileno() + * + */ + __Pyx_TraceLine(497,0,__PYX_ERR(0, 497, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 497, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 497, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":496 + * :exc:`NoHandleError` if ``drop_handles is True``. + * """ + * if self.drop_handles: # <<<<<<<<<<<<<< + * raise NoHandleError() + * return self.pyfid.fileno() + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":498 + * if self.drop_handles: + * raise NoHandleError() + * return self.pyfid.fileno() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(498,0,__PYX_ERR(0, 498, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 498, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":492 + * + * + * def fileno(self): # <<<<<<<<<<<<<< + * """Calls ``fileno`` on the underlying file object. Raises a + * :exc:`NoHandleError` if ``drop_handles is True``. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.fileno", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":501 + * + * + * def fileobj(self): # <<<<<<<<<<<<<< + * """Returns a reference to the python file object. Raises a + * :exc:`NoHandleError` if ``drop_handles is True``. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj[] = "_IndexedGzipFile.fileobj(self)\nReturns a reference to the python file object. Raises a\n :exc:`NoHandleError` if ``drop_handles is True``.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj = {"fileobj", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("fileobj (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__12) + __Pyx_RefNannySetupContext("fileobj", 0); + __Pyx_TraceCall("fileobj", __pyx_f[0], 501, 0, __PYX_ERR(0, 501, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":505 + * :exc:`NoHandleError` if ``drop_handles is True``. + * """ + * if self.drop_handles: # <<<<<<<<<<<<<< + * raise NoHandleError() + * return self.pyfid + */ + __Pyx_TraceLine(505,0,__PYX_ERR(0, 505, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_self->drop_handles != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":506 + * """ + * if self.drop_handles: + * raise NoHandleError() # <<<<<<<<<<<<<< + * return self.pyfid + * + */ + __Pyx_TraceLine(506,0,__PYX_ERR(0, 506, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 506, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 506, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":505 + * :exc:`NoHandleError` if ``drop_handles is True``. + * """ + * if self.drop_handles: # <<<<<<<<<<<<<< + * raise NoHandleError() + * return self.pyfid + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":507 + * if self.drop_handles: + * raise NoHandleError() + * return self.pyfid # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(507,0,__PYX_ERR(0, 507, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->pyfid); + __pyx_r = __pyx_v_self->pyfid; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":501 + * + * + * def fileobj(self): # <<<<<<<<<<<<<< + * """Returns a reference to the python file object. Raises a + * :exc:`NoHandleError` if ``drop_handles is True``. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.fileobj", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":511 + * + * @property + * def errname(self): # <<<<<<<<<<<<<< + * """Used in exception messages. Returns the file name associated with + * this ``_IndexedGzipFile``, or ``'n/a'`` if a file name cannot be + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 511, 0, __PYX_ERR(0, 511, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":516 + * identified. + * """ + * if self.filename is not None: # <<<<<<<<<<<<<< + * return self.filename + * if self.pyfid is not None: + */ + __Pyx_TraceLine(516,0,__PYX_ERR(0, 516, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_self->filename != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":517 + * """ + * if self.filename is not None: + * return self.filename # <<<<<<<<<<<<<< + * if self.pyfid is not None: + * if getattr(self.pyfid, 'name', None) is not None: + */ + __Pyx_TraceLine(517,0,__PYX_ERR(0, 517, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->filename); + __pyx_r = __pyx_v_self->filename; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":516 + * identified. + * """ + * if self.filename is not None: # <<<<<<<<<<<<<< + * return self.filename + * if self.pyfid is not None: + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":518 + * if self.filename is not None: + * return self.filename + * if self.pyfid is not None: # <<<<<<<<<<<<<< + * if getattr(self.pyfid, 'name', None) is not None: + * return self.pyfid.name + */ + __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_self->pyfid != Py_None); + __pyx_t_1 = (__pyx_t_2 != 0); + if (__pyx_t_1) { + + /* "indexed_gzip/indexed_gzip.pyx":519 + * return self.filename + * if self.pyfid is not None: + * if getattr(self.pyfid, 'name', None) is not None: # <<<<<<<<<<<<<< + * return self.pyfid.name + * return 'n/a' + */ + __Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L1_error)) + __pyx_t_3 = __pyx_v_self->pyfid; + __Pyx_INCREF(__pyx_t_3); + __pyx_t_4 = __Pyx_GetAttr3(__pyx_t_3, __pyx_n_s_name_2, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 519, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = (__pyx_t_4 != Py_None); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":520 + * if self.pyfid is not None: + * if getattr(self.pyfid, 'name', None) is not None: + * return self.pyfid.name # <<<<<<<<<<<<<< + * return 'n/a' + * + */ + __Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->pyfid, __pyx_n_s_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 520, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":519 + * return self.filename + * if self.pyfid is not None: + * if getattr(self.pyfid, 'name', None) is not None: # <<<<<<<<<<<<<< + * return self.pyfid.name + * return 'n/a' + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":518 + * if self.filename is not None: + * return self.filename + * if self.pyfid is not None: # <<<<<<<<<<<<<< + * if getattr(self.pyfid, 'name', None) is not None: + * return self.pyfid.name + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":521 + * if getattr(self.pyfid, 'name', None) is not None: + * return self.pyfid.name + * return 'n/a' # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_kp_s_n_a); + __pyx_r = __pyx_kp_s_n_a; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":511 + * + * @property + * def errname(self): # <<<<<<<<<<<<<< + * """Used in exception messages. Returns the file name associated with + * this ``_IndexedGzipFile``, or ``'n/a'`` if a file name cannot be + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.errname.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":525 + * + * @property + * def npoints(self): # <<<<<<<<<<<<<< + * """Returns the number of index points that have been created. """ + * return self.index.npoints + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 525, 0, __PYX_ERR(0, 525, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":527 + * def npoints(self): + * """Returns the number of index points that have been created. """ + * return self.index.npoints # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(527,0,__PYX_ERR(0, 527, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->index.npoints); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":525 + * + * @property + * def npoints(self): # <<<<<<<<<<<<<< + * """Returns the number of index points that have been created. """ + * return self.index.npoints + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.npoints.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":531 + * + * @property + * def mode(self): # <<<<<<<<<<<<<< + * """Returns the mode that this file was opened in. Currently always + * returns ``'rb'``. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode___get__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 531, 0, __PYX_ERR(0, 531, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":535 + * returns ``'rb'``. + * """ + * return 'rb' # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(535,0,__PYX_ERR(0, 535, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_n_s_rb); + __pyx_r = __pyx_n_s_rb; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":531 + * + * @property + * def mode(self): # <<<<<<<<<<<<<< + * """Returns the mode that this file was opened in. Currently always + * returns ``'rb'``. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":538 + * + * + * def close(self): # <<<<<<<<<<<<<< + * """Closes this ``_IndexedGzipFile``. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close[] = "_IndexedGzipFile.close(self)\nCloses this ``_IndexedGzipFile``. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close = {"close", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("close (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + int __pyx_t_7; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__13) + __Pyx_RefNannySetupContext("close", 0); + __Pyx_TraceCall("close", __pyx_f[0], 538, 0, __PYX_ERR(0, 538, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":541 + * """Closes this ``_IndexedGzipFile``. """ + * + * if self.closed: # <<<<<<<<<<<<<< + * raise IOError('_IndexedGzipFile is already closed ' + * '(file: {})'.format(self.errname)) + */ + __Pyx_TraceLine(541,0,__PYX_ERR(0, 541, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":543 + * if self.closed: + * raise IOError('_IndexedGzipFile is already closed ' + * '(file: {})'.format(self.errname)) # <<<<<<<<<<<<<< + * + * if self.own_file and self.pyfid is not None: self.pyfid.close() + */ + __Pyx_TraceLine(543,0,__PYX_ERR(0, 543, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_IndexedGzipFile_is_already_clos, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":542 + * + * if self.closed: + * raise IOError('_IndexedGzipFile is already closed ' # <<<<<<<<<<<<<< + * '(file: {})'.format(self.errname)) + * + */ + __Pyx_TraceLine(542,0,__PYX_ERR(0, 542, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IOError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 542, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":541 + * """Closes this ``_IndexedGzipFile``. """ + * + * if self.closed: # <<<<<<<<<<<<<< + * raise IOError('_IndexedGzipFile is already closed ' + * '(file: {})'.format(self.errname)) + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":545 + * '(file: {})'.format(self.errname)) + * + * if self.own_file and self.pyfid is not None: self.pyfid.close() # <<<<<<<<<<<<<< + * elif self.own_file and self.index.fd is not NULL: fclose(self.index.fd) + * + */ + __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L1_error)) + __pyx_t_6 = (__pyx_v_self->own_file != 0); + if (__pyx_t_6) { + } else { + __pyx_t_2 = __pyx_t_6; + goto __pyx_L5_bool_binop_done; + } + __pyx_t_6 = (__pyx_v_self->pyfid != Py_None); + __pyx_t_7 = (__pyx_t_6 != 0); + __pyx_t_2 = __pyx_t_7; + __pyx_L5_bool_binop_done:; + if (__pyx_t_2) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->pyfid, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L4; + } + + /* "indexed_gzip/indexed_gzip.pyx":546 + * + * if self.own_file and self.pyfid is not None: self.pyfid.close() + * elif self.own_file and self.index.fd is not NULL: fclose(self.index.fd) # <<<<<<<<<<<<<< + * + * zran.zran_free(&self.index) + */ + __Pyx_TraceLine(546,0,__PYX_ERR(0, 546, __pyx_L1_error)) + __pyx_t_7 = (__pyx_v_self->own_file != 0); + if (__pyx_t_7) { + } else { + __pyx_t_2 = __pyx_t_7; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_7 = ((__pyx_v_self->index.fd != NULL) != 0); + __pyx_t_2 = __pyx_t_7; + __pyx_L7_bool_binop_done:; + if (__pyx_t_2) { + (void)(fclose(__pyx_v_self->index.fd)); + } + __pyx_L4:; + + /* "indexed_gzip/indexed_gzip.pyx":548 + * elif self.own_file and self.index.fd is not NULL: fclose(self.index.fd) + * + * zran.zran_free(&self.index) # <<<<<<<<<<<<<< + * + * self.index.f = NULL + */ + __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L1_error)) + zran_free((&__pyx_v_self->index)); + + /* "indexed_gzip/indexed_gzip.pyx":550 + * zran.zran_free(&self.index) + * + * self.index.f = NULL # <<<<<<<<<<<<<< + * self.index.fd = NULL + * self.filename = None + */ + __Pyx_TraceLine(550,0,__PYX_ERR(0, 550, __pyx_L1_error)) + __pyx_v_self->index.f = NULL; + + /* "indexed_gzip/indexed_gzip.pyx":551 + * + * self.index.f = NULL + * self.index.fd = NULL # <<<<<<<<<<<<<< + * self.filename = None + * self.pyfid = None + */ + __Pyx_TraceLine(551,0,__PYX_ERR(0, 551, __pyx_L1_error)) + __pyx_v_self->index.fd = NULL; + + /* "indexed_gzip/indexed_gzip.pyx":552 + * self.index.f = NULL + * self.index.fd = NULL + * self.filename = None # <<<<<<<<<<<<<< + * self.pyfid = None + * self.finalized = True + */ + __Pyx_TraceLine(552,0,__PYX_ERR(0, 552, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->filename); + __Pyx_DECREF(__pyx_v_self->filename); + __pyx_v_self->filename = Py_None; + + /* "indexed_gzip/indexed_gzip.pyx":553 + * self.index.fd = NULL + * self.filename = None + * self.pyfid = None # <<<<<<<<<<<<<< + * self.finalized = True + * + */ + __Pyx_TraceLine(553,0,__PYX_ERR(0, 553, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->pyfid); + __Pyx_DECREF(__pyx_v_self->pyfid); + __pyx_v_self->pyfid = Py_None; + + /* "indexed_gzip/indexed_gzip.pyx":554 + * self.filename = None + * self.pyfid = None + * self.finalized = True # <<<<<<<<<<<<<< + * + * if log is not None: + */ + __Pyx_TraceLine(554,0,__PYX_ERR(0, 554, __pyx_L1_error)) + __pyx_v_self->finalized = 1; + + /* "indexed_gzip/indexed_gzip.pyx":556 + * self.finalized = True + * + * if log is not None: # <<<<<<<<<<<<<< + * log.debug('%s.close()', type(self).__name__) + * + */ + __Pyx_TraceLine(556,0,__PYX_ERR(0, 556, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 556, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = (__pyx_t_3 != Py_None); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = (__pyx_t_2 != 0); + if (__pyx_t_7) { + + /* "indexed_gzip/indexed_gzip.pyx":557 + * + * if log is not None: + * log.debug('%s.close()', type(self).__name__) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(557,0,__PYX_ERR(0, 557, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_log); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_s_close, __pyx_t_1}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_s_close, __pyx_t_1}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + { + __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_s_close); + __Pyx_GIVEREF(__pyx_kp_s_s_close); + PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_kp_s_s_close); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":556 + * self.finalized = True + * + * if log is not None: # <<<<<<<<<<<<<< + * log.debug('%s.close()', type(self).__name__) + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":538 + * + * + * def close(self): # <<<<<<<<<<<<<< + * """Closes this ``_IndexedGzipFile``. """ + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.close", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":561 + * + * @property + * def closed(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` is closed, ``False`` + * otherwise. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 561, 0, __PYX_ERR(0, 561, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":565 + * otherwise. + * """ + * return self.finalized # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(565,0,__PYX_ERR(0, 565, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->finalized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":561 + * + * @property + * def closed(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` is closed, ``False`` + * otherwise. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.closed.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":568 + * + * + * def readable(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` is readable, ``False`` + * otherwise. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable[] = "_IndexedGzipFile.readable(self)\nReturns ``True`` if this ``_IndexedGzipFile`` is readable, ``False``\n otherwise.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable = {"readable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("readable (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__14) + __Pyx_RefNannySetupContext("readable", 0); + __Pyx_TraceCall("readable", __pyx_f[0], 568, 0, __PYX_ERR(0, 568, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":572 + * otherwise. + * """ + * return not self.closed # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":568 + * + * + * def readable(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` is readable, ``False`` + * otherwise. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readable", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":575 + * + * + * def writable(self): # <<<<<<<<<<<<<< + * """Currently always returns ``False`` - the ``_IndexedGzipFile`` does + * not support writing yet. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable[] = "_IndexedGzipFile.writable(self)\nCurrently always returns ``False`` - the ``_IndexedGzipFile`` does\n not support writing yet.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable = {"writable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("writable (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__15) + __Pyx_RefNannySetupContext("writable", 0); + __Pyx_TraceCall("writable", __pyx_f[0], 575, 0, __PYX_ERR(0, 575, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":579 + * not support writing yet. + * """ + * return False # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(579,0,__PYX_ERR(0, 579, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":575 + * + * + * def writable(self): # <<<<<<<<<<<<<< + * """Currently always returns ``False`` - the ``_IndexedGzipFile`` does + * not support writing yet. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.writable", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":582 + * + * + * def seekable(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` supports seeking, + * ``False`` otherwise. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable[] = "_IndexedGzipFile.seekable(self)\nReturns ``True`` if this ``_IndexedGzipFile`` supports seeking,\n ``False`` otherwise.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable = {"seekable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("seekable (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__16) + __Pyx_RefNannySetupContext("seekable", 0); + __Pyx_TraceCall("seekable", __pyx_f[0], 582, 0, __PYX_ERR(0, 582, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":586 + * ``False`` otherwise. + * """ + * return not self.closed # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(586,0,__PYX_ERR(0, 586, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 586, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":582 + * + * + * def seekable(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` supports seeking, + * ``False`` otherwise. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":589 + * + * + * def tell(self): # <<<<<<<<<<<<<< + * """Returns the current seek offset into the uncompressed data stream. + * """ + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell[] = "_IndexedGzipFile.tell(self)\nReturns the current seek offset into the uncompressed data stream.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell = {"tell", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("tell (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__17) + __Pyx_RefNannySetupContext("tell", 0); + __Pyx_TraceCall("tell", __pyx_f[0], 589, 0, __PYX_ERR(0, 589, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":592 + * """Returns the current seek offset into the uncompressed data stream. + * """ + * return zran.zran_tell(&self.index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(592,0,__PYX_ERR(0, 592, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_self->index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":589 + * + * + * def tell(self): # <<<<<<<<<<<<<< + * """Returns the current seek offset into the uncompressed data stream. + * """ + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.tell", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":595 + * + * + * def __enter__(self): # <<<<<<<<<<<<<< + * """Returns this ``_IndexedGzipFile``. """ + * return self + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__[] = "_IndexedGzipFile.__enter__(self)\nReturns this ``_IndexedGzipFile``. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__ = {"__enter__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__18) + __Pyx_RefNannySetupContext("__enter__", 0); + __Pyx_TraceCall("__enter__", __pyx_f[0], 595, 0, __PYX_ERR(0, 595, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":597 + * def __enter__(self): + * """Returns this ``_IndexedGzipFile``. """ + * return self # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(597,0,__PYX_ERR(0, 597, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __pyx_r = ((PyObject *)__pyx_v_self); + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":595 + * + * + * def __enter__(self): # <<<<<<<<<<<<<< + * """Returns this ``_IndexedGzipFile``. """ + * return self + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":600 + * + * + * def __exit__(self, *args): # <<<<<<<<<<<<<< + * """Calls close on this ``_IndexedGzipFile``. """ + * if not self.closed: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__[] = "_IndexedGzipFile.__exit__(self, *args)\nCalls close on this ``_IndexedGzipFile``. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__ = {"__exit__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + CYTHON_UNUSED PyObject *__pyx_v_args = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__exit__", 0))) return NULL; + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_args); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__19) + __Pyx_RefNannySetupContext("__exit__", 0); + __Pyx_TraceCall("__exit__", __pyx_f[0], 600, 0, __PYX_ERR(0, 600, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":602 + * def __exit__(self, *args): + * """Calls close on this ``_IndexedGzipFile``. """ + * if not self.closed: # <<<<<<<<<<<<<< + * self.close() + * + */ + __Pyx_TraceLine(602,0,__PYX_ERR(0, 602, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 602, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((!__pyx_t_2) != 0); + if (__pyx_t_3) { + + /* "indexed_gzip/indexed_gzip.pyx":603 + * """Calls close on this ``_IndexedGzipFile``. """ + * if not self.closed: + * self.close() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(603,0,__PYX_ERR(0, 603, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 603, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":602 + * def __exit__(self, *args): + * """Calls close on this ``_IndexedGzipFile``. """ + * if not self.closed: # <<<<<<<<<<<<<< + * self.close() + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":600 + * + * + * def __exit__(self, *args): # <<<<<<<<<<<<<< + * """Calls close on this ``_IndexedGzipFile``. """ + * if not self.closed: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":606 + * + * + * def __dealloc__(self): # <<<<<<<<<<<<<< + * """Frees the memory used by this ``_IndexedGzipFile``. If a file name + * was passed to :meth:`__cinit__`, the file handle is closed. + */ + +/* Python wrapper */ +static void __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_26__dealloc__(PyObject *__pyx_v_self); /*proto*/ +static void __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_26__dealloc__(PyObject *__pyx_v_self) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); + __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_25__dealloc__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +static void __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_25__dealloc__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__dealloc__", 0); + __Pyx_TraceCall("__dealloc__", __pyx_f[0], 606, 0, __PYX_ERR(0, 606, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":610 + * was passed to :meth:`__cinit__`, the file handle is closed. + * """ + * if not self.closed: # <<<<<<<<<<<<<< + * self.close() + * + */ + __Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 610, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((!__pyx_t_2) != 0); + if (__pyx_t_3) { + + /* "indexed_gzip/indexed_gzip.pyx":611 + * """ + * if not self.closed: + * self.close() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(611,0,__PYX_ERR(0, 611, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 611, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":610 + * was passed to :meth:`__cinit__`, the file handle is closed. + * """ + * if not self.closed: # <<<<<<<<<<<<<< + * self.close() + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":606 + * + * + * def __dealloc__(self): # <<<<<<<<<<<<<< + * """Frees the memory used by this ``_IndexedGzipFile``. If a file name + * was passed to :meth:`__cinit__`, the file handle is closed. + */ + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_WriteUnraisable("indexed_gzip.indexed_gzip._IndexedGzipFile.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); +} + +/* "indexed_gzip/indexed_gzip.pyx":614 + * + * + * def build_full_index(self): # <<<<<<<<<<<<<< + * """Re-builds the full file index. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index[] = "_IndexedGzipFile.build_full_index(self)\nRe-builds the full file index. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index = {"build_full_index", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("build_full_index (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + int __pyx_v_ret; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__20) + __Pyx_RefNannySetupContext("build_full_index", 0); + __Pyx_TraceCall("build_full_index", __pyx_f[0], 614, 0, __PYX_ERR(0, 614, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":617 + * """Re-builds the full file index. """ + * + * with self.__file_handle(): # <<<<<<<<<<<<<< + * ret = zran.zran_build_index(&self.index, 0, 0) + * + */ + __Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L1_error)) + /*with:*/ { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 617, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 617, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 617, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":618 + * + * with self.__file_handle(): + * ret = zran.zran_build_index(&self.index, 0, 0) # <<<<<<<<<<<<<< + * + * if ret != zran.ZRAN_BUILD_INDEX_OK: + */ + __Pyx_TraceLine(618,0,__PYX_ERR(0, 618, __pyx_L7_error)) + __pyx_v_ret = zran_build_index((&__pyx_v_self->index), 0, 0); + + /* "indexed_gzip/indexed_gzip.pyx":617 + * """Re-builds the full file index. """ + * + * with self.__file_handle(): # <<<<<<<<<<<<<< + * ret = zran.zran_build_index(&self.index, 0, 0) + * + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.build_full_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 617, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 617, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_10 < 0) __PYX_ERR(0, 617, __pyx_L9_except_error) + __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 617, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 617, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/indexed_gzip.pyx":620 + * ret = zran.zran_build_index(&self.index, 0, 0) + * + * if ret != zran.ZRAN_BUILD_INDEX_OK: # <<<<<<<<<<<<<< + * raise ZranError('zran_build_index returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) + */ + __Pyx_TraceLine(620,0,__PYX_ERR(0, 620, __pyx_L1_error)) + __pyx_t_11 = ((__pyx_v_ret != ZRAN_BUILD_INDEX_OK) != 0); + if (unlikely(__pyx_t_11)) { + + /* "indexed_gzip/indexed_gzip.pyx":621 + * + * if ret != zran.ZRAN_BUILD_INDEX_OK: + * raise ZranError('zran_build_index returned error: {} (file: {})' # <<<<<<<<<<<<<< + * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) + * + */ + __Pyx_TraceLine(621,0,__PYX_ERR(0, 621, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 621, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + + /* "indexed_gzip/indexed_gzip.pyx":622 + * if ret != zran.ZRAN_BUILD_INDEX_OK: + * raise ZranError('zran_build_index returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) # <<<<<<<<<<<<<< + * + * log.debug('%s.build_full_index()', type(self).__name__) + */ + __Pyx_TraceLine(622,0,__PYX_ERR(0, 622, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_build_index_returned_error, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_ZRAN_BUILD); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_ret, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = NULL; + __pyx_t_15 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_15 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_12, __pyx_t_13}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_12, __pyx_t_13}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + { + __pyx_t_16 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; + } + __Pyx_GIVEREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_15, __pyx_t_12); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_15, __pyx_t_13); + __pyx_t_12 = 0; + __pyx_t_13 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 621, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 621, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":620 + * ret = zran.zran_build_index(&self.index, 0, 0) + * + * if ret != zran.ZRAN_BUILD_INDEX_OK: # <<<<<<<<<<<<<< + * raise ZranError('zran_build_index returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":624 + * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) + * + * log.debug('%s.build_full_index()', type(self).__name__) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 624, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 624, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_15 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_15 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_s_build_full_index, __pyx_t_2}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_s_build_full_index, __pyx_t_2}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + { + __pyx_t_16 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 624, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_16); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_s_build_full_index); + __Pyx_GIVEREF(__pyx_kp_s_s_build_full_index); + PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_15, __pyx_kp_s_s_build_full_index); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_15, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":614 + * + * + * def build_full_index(self): # <<<<<<<<<<<<<< + * """Re-builds the full file index. """ + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.build_full_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":627 + * + * + * def seek(self, offset, whence=SEEK_SET): # <<<<<<<<<<<<<< + * """Seeks to the specified position in the uncompressed data stream. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek[] = "_IndexedGzipFile.seek(self, offset, whence=SEEK_SET)\nSeeks to the specified position in the uncompressed data stream.\n\n If this ``_IndexedGzipFile`` was created with ``auto_build=False``,\n and the requested offset is not covered by the index, a\n :exc:`NotCoveredError` is raised.\n\n :arg offset: Desired seek offset into the uncompressed data\n\n :arg whence: Either ``SEEK_SET``, ``SEEK_CUR``, or ``SEEK_END``. If\n not one of these, a :exc:`ValueError` is raised.\n\n :returns: The final seek location into the uncompressed stream.\n\n .. note:: This method releases the GIL while ``zran_seek`` is\n running.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek = {"seek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_offset = 0; + PyObject *__pyx_v_whence = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("seek (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_whence,0}; + PyObject* values[2] = {0,0}; + values[1] = __pyx_k__21; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_whence); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "seek") < 0)) __PYX_ERR(0, 627, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_offset = values[0]; + __pyx_v_whence = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("seek", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 627, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_offset, __pyx_v_whence); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_whence) { + int __pyx_v_ret; + int64_t __pyx_v_off; + uint8_t __pyx_v_c_whence; + zran_index_t *__pyx_v_index; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int64_t __pyx_t_1; + uint8_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + PyObject *__pyx_t_18 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__22) + __Pyx_RefNannySetupContext("seek", 0); + __Pyx_TraceCall("seek", __pyx_f[0], 627, 0, __PYX_ERR(0, 627, __pyx_L1_error)); + __Pyx_INCREF(__pyx_v_offset); + + /* "indexed_gzip/indexed_gzip.pyx":646 + * + * cdef int ret + * cdef int64_t off = offset # <<<<<<<<<<<<<< + * cdef uint8_t c_whence = whence + * cdef zran.zran_index_t *index = &self.index + */ + __Pyx_TraceLine(646,0,__PYX_ERR(0, 646, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_offset); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 646, __pyx_L1_error) + __pyx_v_off = __pyx_t_1; + + /* "indexed_gzip/indexed_gzip.pyx":647 + * cdef int ret + * cdef int64_t off = offset + * cdef uint8_t c_whence = whence # <<<<<<<<<<<<<< + * cdef zran.zran_index_t *index = &self.index + * + */ + __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyInt_As_uint8_t(__pyx_v_whence); if (unlikely((__pyx_t_2 == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 647, __pyx_L1_error) + __pyx_v_c_whence = __pyx_t_2; + + /* "indexed_gzip/indexed_gzip.pyx":648 + * cdef int64_t off = offset + * cdef uint8_t c_whence = whence + * cdef zran.zran_index_t *index = &self.index # <<<<<<<<<<<<<< + * + * if whence not in (SEEK_SET, SEEK_CUR, SEEK_END): + */ + __Pyx_TraceLine(648,0,__PYX_ERR(0, 648, __pyx_L1_error)) + __pyx_v_index = (&__pyx_v_self->index); + + /* "indexed_gzip/indexed_gzip.pyx":650 + * cdef zran.zran_index_t *index = &self.index + * + * if whence not in (SEEK_SET, SEEK_CUR, SEEK_END): # <<<<<<<<<<<<<< + * raise ValueError('Invalid value for whence: {}'.format(whence)) + * + */ + __Pyx_TraceLine(650,0,__PYX_ERR(0, 650, __pyx_L1_error)) + __Pyx_INCREF(__pyx_v_whence); + __pyx_t_3 = __pyx_v_whence; + __pyx_t_5 = __Pyx_PyInt_From_int(SEEK_SET); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_7) { + } else { + __pyx_t_4 = __pyx_t_7; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_6 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_7) { + } else { + __pyx_t_4 = __pyx_t_7; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_5 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_4 = __pyx_t_7; + __pyx_L4_bool_binop_done:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = (__pyx_t_4 != 0); + if (unlikely(__pyx_t_7)) { + + /* "indexed_gzip/indexed_gzip.pyx":651 + * + * if whence not in (SEEK_SET, SEEK_CUR, SEEK_END): + * raise ValueError('Invalid value for whence: {}'.format(whence)) # <<<<<<<<<<<<<< + * + * with self.__file_handle(), nogil: + */ + __Pyx_TraceLine(651,0,__PYX_ERR(0, 651, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Invalid_value_for_whence, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 651, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_whence) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_whence); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 651, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 651, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __PYX_ERR(0, 651, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":650 + * cdef zran.zran_index_t *index = &self.index + * + * if whence not in (SEEK_SET, SEEK_CUR, SEEK_END): # <<<<<<<<<<<<<< + * raise ValueError('Invalid value for whence: {}'.format(whence)) + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":653 + * raise ValueError('Invalid value for whence: {}'.format(whence)) + * + * with self.__file_handle(), nogil: # <<<<<<<<<<<<<< + * ret = zran.zran_seek(index, off, c_whence, NULL) + * + */ + __Pyx_TraceLine(653,0,__PYX_ERR(0, 653, __pyx_L1_error)) + /*with:*/ { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 653, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 653, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 653, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 653, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 653, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + __Pyx_FastGIL_Remember(); + #endif + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":654 + * + * with self.__file_handle(), nogil: + * ret = zran.zran_seek(index, off, c_whence, NULL) # <<<<<<<<<<<<<< + * + * if ret == zran.ZRAN_SEEK_NOT_COVERED: + */ + __Pyx_TraceLine(654,1,__PYX_ERR(0, 654, __pyx_L18_error)) + __pyx_v_ret = zran_seek(__pyx_v_index, __pyx_v_off, __pyx_v_c_whence, NULL); + } + + /* "indexed_gzip/indexed_gzip.pyx":653 + * raise ValueError('Invalid value for whence: {}'.format(whence)) + * + * with self.__file_handle(), nogil: # <<<<<<<<<<<<<< + * ret = zran.zran_seek(index, off, c_whence, NULL) + * + */ + __Pyx_TraceLine(653,1,__PYX_ERR(0, 653, __pyx_L18_error)) + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + __Pyx_FastGIL_Forget(); + Py_BLOCK_THREADS + #endif + goto __pyx_L19; + } + __pyx_L18_error: { + #ifdef WITH_THREAD + __Pyx_FastGIL_Forget(); + Py_BLOCK_THREADS + #endif + goto __pyx_L11_error; + } + __pyx_L19:; + } + } + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L16_try_end; + __pyx_L11_error:; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 653, __pyx_L13_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 653, __pyx_L13_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 653, __pyx_L13_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_7 < 0) __PYX_ERR(0, 653, __pyx_L13_except_error) + __pyx_t_4 = ((!(__pyx_t_7 != 0)) != 0); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_3, __pyx_t_5); + __pyx_t_6 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 653, __pyx_L13_except_error) + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L12_exception_handled; + } + __pyx_L13_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L1_error; + __pyx_L12_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L16_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_8) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 653, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L10; + } + __pyx_L10:; + } + goto __pyx_L23; + __pyx_L7_error:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L1_error; + __pyx_L23:; + } + + /* "indexed_gzip/indexed_gzip.pyx":656 + * ret = zran.zran_seek(index, off, c_whence, NULL) + * + * if ret == zran.ZRAN_SEEK_NOT_COVERED: # <<<<<<<<<<<<<< + * raise NotCoveredError('Index does not cover ' + * 'offset {}'.format(offset)) + */ + __Pyx_TraceLine(656,0,__PYX_ERR(0, 656, __pyx_L1_error)) + __pyx_t_4 = ((__pyx_v_ret == ZRAN_SEEK_NOT_COVERED) != 0); + if (unlikely(__pyx_t_4)) { + + /* "indexed_gzip/indexed_gzip.pyx":657 + * + * if ret == zran.ZRAN_SEEK_NOT_COVERED: + * raise NotCoveredError('Index does not cover ' # <<<<<<<<<<<<<< + * 'offset {}'.format(offset)) + * + */ + __Pyx_TraceLine(657,0,__PYX_ERR(0, 657, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 657, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/indexed_gzip.pyx":658 + * if ret == zran.ZRAN_SEEK_NOT_COVERED: + * raise NotCoveredError('Index does not cover ' + * 'offset {}'.format(offset)) # <<<<<<<<<<<<<< + * + * elif ret == zran.ZRAN_SEEK_INDEX_NOT_BUILT: + */ + __Pyx_TraceLine(658,0,__PYX_ERR(0, 658, __pyx_L1_error)) + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Index_does_not_cover_offset, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 658, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + __pyx_t_6 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_14, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 658, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 657, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __PYX_ERR(0, 657, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":656 + * ret = zran.zran_seek(index, off, c_whence, NULL) + * + * if ret == zran.ZRAN_SEEK_NOT_COVERED: # <<<<<<<<<<<<<< + * raise NotCoveredError('Index does not cover ' + * 'offset {}'.format(offset)) + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":660 + * 'offset {}'.format(offset)) + * + * elif ret == zran.ZRAN_SEEK_INDEX_NOT_BUILT: # <<<<<<<<<<<<<< + * raise NotCoveredError('Index must be completely built ' + * 'in order to seek from SEEK_END') + */ + __Pyx_TraceLine(660,0,__PYX_ERR(0, 660, __pyx_L1_error)) + __pyx_t_4 = ((__pyx_v_ret == ZRAN_SEEK_INDEX_NOT_BUILT) != 0); + if (unlikely(__pyx_t_4)) { + + /* "indexed_gzip/indexed_gzip.pyx":661 + * + * elif ret == zran.ZRAN_SEEK_INDEX_NOT_BUILT: + * raise NotCoveredError('Index must be completely built ' # <<<<<<<<<<<<<< + * 'in order to seek from SEEK_END') + * + */ + __Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_kp_s_Index_must_be_completely_built_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_Index_must_be_completely_built_i); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 661, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __PYX_ERR(0, 661, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":660 + * 'offset {}'.format(offset)) + * + * elif ret == zran.ZRAN_SEEK_INDEX_NOT_BUILT: # <<<<<<<<<<<<<< + * raise NotCoveredError('Index must be completely built ' + * 'in order to seek from SEEK_END') + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":664 + * 'in order to seek from SEEK_END') + * + * elif ret == zran.ZRAN_SEEK_CRC_ERROR: # <<<<<<<<<<<<<< + * raise CrcError('CRC/size validation failed - the ' + * 'GZIP data might be corrupt (file: ' + */ + __Pyx_TraceLine(664,0,__PYX_ERR(0, 664, __pyx_L1_error)) + __pyx_t_4 = ((__pyx_v_ret == ZRAN_SEEK_CRC_ERROR) != 0); + if (unlikely(__pyx_t_4)) { + + /* "indexed_gzip/indexed_gzip.pyx":665 + * + * elif ret == zran.ZRAN_SEEK_CRC_ERROR: + * raise CrcError('CRC/size validation failed - the ' # <<<<<<<<<<<<<< + * 'GZIP data might be corrupt (file: ' + * '{})'.format(self.errname)) + */ + __Pyx_TraceLine(665,0,__PYX_ERR(0, 665, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CrcError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 665, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/indexed_gzip.pyx":667 + * raise CrcError('CRC/size validation failed - the ' + * 'GZIP data might be corrupt (file: ' + * '{})'.format(self.errname)) # <<<<<<<<<<<<<< + * + * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): + */ + __Pyx_TraceLine(667,0,__PYX_ERR(0, 667, __pyx_L1_error)) + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_CRC_size_validation_failed_the_G, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 667, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 667, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + } + } + __pyx_t_6 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_15, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 667, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 665, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __PYX_ERR(0, 665, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":664 + * 'in order to seek from SEEK_END') + * + * elif ret == zran.ZRAN_SEEK_CRC_ERROR: # <<<<<<<<<<<<<< + * raise CrcError('CRC/size validation failed - the ' + * 'GZIP data might be corrupt (file: ' + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":669 + * '{})'.format(self.errname)) + * + * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): # <<<<<<<<<<<<<< + * raise ZranError('zran_seek returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) + */ + __Pyx_TraceLine(669,0,__PYX_ERR(0, 669, __pyx_L1_error)) + switch (__pyx_v_ret) { + case ZRAN_SEEK_OK: + CYTHON_FALLTHROUGH; + case ZRAN_SEEK_EOF: + __pyx_t_4 = 0; + break; + default: + __pyx_t_4 = 1; + break; + } + __pyx_t_7 = (__pyx_t_4 != 0); + if (unlikely(__pyx_t_7)) { + + /* "indexed_gzip/indexed_gzip.pyx":670 + * + * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): + * raise ZranError('zran_seek returned error: {} (file: {})' # <<<<<<<<<<<<<< + * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) + * + */ + __Pyx_TraceLine(670,0,__PYX_ERR(0, 670, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 670, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/indexed_gzip.pyx":671 + * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): + * raise ZranError('zran_seek returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) # <<<<<<<<<<<<<< + * + * offset = self.tell() + */ + __Pyx_TraceLine(671,0,__PYX_ERR(0, 671, __pyx_L1_error)) + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_seek_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_ZRAN_SEEK); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_15, __pyx_v_ret, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = NULL; + __pyx_t_17 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { + __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_9); + if (likely(__pyx_t_16)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); + __Pyx_INCREF(__pyx_t_16); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_9, function); + __pyx_t_17 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_t_14, __pyx_t_15}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { + PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_t_14, __pyx_t_15}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } else + #endif + { + __pyx_t_18 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __pyx_t_16 = NULL; + } + __Pyx_GIVEREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_17, __pyx_t_14); + __Pyx_GIVEREF(__pyx_t_15); + PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_17, __pyx_t_15); + __pyx_t_14 = 0; + __pyx_t_15 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_18, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 671, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 670, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __PYX_ERR(0, 670, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":669 + * '{})'.format(self.errname)) + * + * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): # <<<<<<<<<<<<<< + * raise ZranError('zran_seek returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":673 + * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) + * + * offset = self.tell() # <<<<<<<<<<<<<< + * + * log.debug('%s.seek(%s)', type(self).__name__, offset) + */ + __Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_tell); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_offset, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":675 + * offset = self.tell() + * + * log.debug('%s.seek(%s)', type(self).__name__, offset) # <<<<<<<<<<<<<< + * + * return offset + */ + __Pyx_TraceLine(675,0,__PYX_ERR(0, 675, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 675, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 675, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 675, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_9 = NULL; + __pyx_t_17 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + __pyx_t_17 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_kp_s_s_seek_s, __pyx_t_3, __pyx_v_offset}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_17, 3+__pyx_t_17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { + PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_kp_s_s_seek_s, __pyx_t_3, __pyx_v_offset}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_17, 3+__pyx_t_17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_18 = PyTuple_New(3+__pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 675, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + if (__pyx_t_9) { + __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_9); __pyx_t_9 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_s_seek_s); + __Pyx_GIVEREF(__pyx_kp_s_s_seek_s); + PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_17, __pyx_kp_s_s_seek_s); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_17, __pyx_t_3); + __Pyx_INCREF(__pyx_v_offset); + __Pyx_GIVEREF(__pyx_v_offset); + PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_17, __pyx_v_offset); + __pyx_t_3 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":677 + * log.debug('%s.seek(%s)', type(self).__name__, offset) + * + * return offset # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(677,0,__PYX_ERR(0, 677, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_offset); + __pyx_r = __pyx_v_offset; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":627 + * + * + * def seek(self, offset, whence=SEEK_SET): # <<<<<<<<<<<<<< + * """Seeks to the specified position in the uncompressed data stream. + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_16); + __Pyx_XDECREF(__pyx_t_18); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_offset); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":680 + * + * + * def read(self, nbytes=-1): # <<<<<<<<<<<<<< + * """Reads up to ``nbytes`` bytes from the uncompressed data stream. + * If ``nbytes < 0`` the stream is read until EOF. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read[] = "_IndexedGzipFile.read(self, nbytes=-1)\nReads up to ``nbytes`` bytes from the uncompressed data stream.\n If ``nbytes < 0`` the stream is read until EOF.\n\n If the stream is already at EOF, ``b''`` is returned.\n\n .. note:: This method releases the GIL while ``zran_read`` is\n running.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read = {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_nbytes = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("read (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nbytes,0}; + PyObject* values[1] = {0}; + values[0] = ((PyObject *)__pyx_int_neg_1); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nbytes); + if (value) { values[0] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 680, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_nbytes = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("read", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 680, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_nbytes); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_nbytes) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_buf = NULL; + zran_index_t *__pyx_v_index; + size_t __pyx_v_nread; + uint64_t __pyx_v_bufsz; + size_t __pyx_v_offset; + void *__pyx_v_buffer; + int64_t __pyx_v_ret; + PyObject *__pyx_v_pybuf = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + size_t __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + Py_ssize_t __pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__23) + __Pyx_RefNannySetupContext("read", 0); + __Pyx_TraceCall("read", __pyx_f[0], 680, 0, __PYX_ERR(0, 680, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":690 + * """ + * + * if nbytes == 0: return bytes() # <<<<<<<<<<<<<< + * elif nbytes < 0: buf = ReadBuffer(self.readall_buf_size) + * else: buf = ReadBuffer(nbytes) + */ + __Pyx_TraceLine(690,0,__PYX_ERR(0, 690, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_nbytes, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 690, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyBytes_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + } + + /* "indexed_gzip/indexed_gzip.pyx":691 + * + * if nbytes == 0: return bytes() + * elif nbytes < 0: buf = ReadBuffer(self.readall_buf_size) # <<<<<<<<<<<<<< + * else: buf = ReadBuffer(nbytes) + * + */ + __Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L1_error)) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 691, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->readall_buf_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 691, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_t_3); + __pyx_t_3 = 0; + goto __pyx_L3; + } + + /* "indexed_gzip/indexed_gzip.pyx":692 + * if nbytes == 0: return bytes() + * elif nbytes < 0: buf = ReadBuffer(self.readall_buf_size) + * else: buf = ReadBuffer(nbytes) # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t *index = &self.index + */ + __Pyx_TraceLine(692,0,__PYX_ERR(0, 692, __pyx_L1_error)) + /*else*/ { + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer), __pyx_v_nbytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_t_3); + __pyx_t_3 = 0; + } + __pyx_L3:; + + /* "indexed_gzip/indexed_gzip.pyx":694 + * else: buf = ReadBuffer(nbytes) + * + * cdef zran.zran_index_t *index = &self.index # <<<<<<<<<<<<<< + * cdef size_t nread = 0 + * cdef uint64_t bufsz = buf.size + */ + __Pyx_TraceLine(694,0,__PYX_ERR(0, 694, __pyx_L1_error)) + __pyx_v_index = (&__pyx_v_self->index); + + /* "indexed_gzip/indexed_gzip.pyx":695 + * + * cdef zran.zran_index_t *index = &self.index + * cdef size_t nread = 0 # <<<<<<<<<<<<<< + * cdef uint64_t bufsz = buf.size + * cdef size_t offset = 0 + */ + __Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L1_error)) + __pyx_v_nread = 0; + + /* "indexed_gzip/indexed_gzip.pyx":696 + * cdef zran.zran_index_t *index = &self.index + * cdef size_t nread = 0 + * cdef uint64_t bufsz = buf.size # <<<<<<<<<<<<<< + * cdef size_t offset = 0 + * cdef void *buffer + */ + __Pyx_TraceLine(696,0,__PYX_ERR(0, 696, __pyx_L1_error)) + __pyx_t_4 = __pyx_v_buf->size; + __pyx_v_bufsz = __pyx_t_4; + + /* "indexed_gzip/indexed_gzip.pyx":697 + * cdef size_t nread = 0 + * cdef uint64_t bufsz = buf.size + * cdef size_t offset = 0 # <<<<<<<<<<<<<< + * cdef void *buffer + * cdef int64_t ret + */ + __Pyx_TraceLine(697,0,__PYX_ERR(0, 697, __pyx_L1_error)) + __pyx_v_offset = 0; + + /* "indexed_gzip/indexed_gzip.pyx":701 + * cdef int64_t ret + * + * with self.__file_handle(): # <<<<<<<<<<<<<< + * + * # Read until EOF or enough + */ + __Pyx_TraceLine(701,0,__PYX_ERR(0, 701, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 701, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":705 + * # Read until EOF or enough + * # bytes have been read + * while True: # <<<<<<<<<<<<<< + * + * # read some bytes into the correct + */ + __Pyx_TraceLine(705,0,__PYX_ERR(0, 705, __pyx_L8_error)) + while (1) { + + /* "indexed_gzip/indexed_gzip.pyx":709 + * # read some bytes into the correct + * # buffer location + * buffer = buf.buffer + offset # <<<<<<<<<<<<<< + * + * with nogil: + */ + __Pyx_TraceLine(709,0,__PYX_ERR(0, 709, __pyx_L8_error)) + __pyx_v_buffer = (((char *)__pyx_v_buf->buffer) + __pyx_v_offset); + + /* "indexed_gzip/indexed_gzip.pyx":711 + * buffer = buf.buffer + offset + * + * with nogil: # <<<<<<<<<<<<<< + * ret = zran.zran_read(index, buffer, bufsz) + * + */ + __Pyx_TraceLine(711,0,__PYX_ERR(0, 711, __pyx_L8_error)) + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + __Pyx_FastGIL_Remember(); + #endif + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":712 + * + * with nogil: + * ret = zran.zran_read(index, buffer, bufsz) # <<<<<<<<<<<<<< + * + * # No bytes were read, and there are + */ + __Pyx_TraceLine(712,1,__PYX_ERR(0, 712, __pyx_L19_error)) + __pyx_v_ret = zran_read(__pyx_v_index, __pyx_v_buffer, __pyx_v_bufsz); + } + + /* "indexed_gzip/indexed_gzip.pyx":711 + * buffer = buf.buffer + offset + * + * with nogil: # <<<<<<<<<<<<<< + * ret = zran.zran_read(index, buffer, bufsz) + * + */ + __Pyx_TraceLine(711,1,__PYX_ERR(0, 711, __pyx_L19_error)) + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + __Pyx_FastGIL_Forget(); + Py_BLOCK_THREADS + #endif + goto __pyx_L20; + } + __pyx_L19_error: { + #ifdef WITH_THREAD + __Pyx_FastGIL_Forget(); + Py_BLOCK_THREADS + #endif + goto __pyx_L8_error; + } + __pyx_L20:; + } + } + + /* "indexed_gzip/indexed_gzip.pyx":719 + * # or beyond EOF when zran_read was + * # called + * if ret == zran.ZRAN_READ_EOF: # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L8_error)) + __pyx_t_2 = ((__pyx_v_ret == ZRAN_READ_EOF) != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":720 + * # called + * if ret == zran.ZRAN_READ_EOF: + * break # <<<<<<<<<<<<<< + * + * # This will happen if the current + */ + __Pyx_TraceLine(720,0,__PYX_ERR(0, 720, __pyx_L8_error)) + goto __pyx_L15_break; + + /* "indexed_gzip/indexed_gzip.pyx":719 + * # or beyond EOF when zran_read was + * # called + * if ret == zran.ZRAN_READ_EOF: # <<<<<<<<<<<<<< + * break + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":725 + * # seek point is not covered by the + * # index, and auto-build is disabled + * elif ret == zran.ZRAN_READ_NOT_COVERED: # <<<<<<<<<<<<<< + * raise NotCoveredError('Index does not cover ' + * 'current offset') + */ + __Pyx_TraceLine(725,0,__PYX_ERR(0, 725, __pyx_L8_error)) + __pyx_t_2 = ((__pyx_v_ret == ZRAN_READ_NOT_COVERED) != 0); + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":726 + * # index, and auto-build is disabled + * elif ret == zran.ZRAN_READ_NOT_COVERED: + * raise NotCoveredError('Index does not cover ' # <<<<<<<<<<<<<< + * 'current offset') + * + */ + __Pyx_TraceLine(726,0,__PYX_ERR(0, 726, __pyx_L8_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_kp_s_Index_does_not_cover_current_off) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_s_Index_does_not_cover_current_off); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 726, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 726, __pyx_L8_error) + + /* "indexed_gzip/indexed_gzip.pyx":725 + * # seek point is not covered by the + * # index, and auto-build is disabled + * elif ret == zran.ZRAN_READ_NOT_COVERED: # <<<<<<<<<<<<<< + * raise NotCoveredError('Index does not cover ' + * 'current offset') + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":731 + * # CRC or size check failed - data + * # might be corrupt + * elif ret == zran.ZRAN_READ_CRC_ERROR: # <<<<<<<<<<<<<< + * raise CrcError('CRC/size validation failed - the ' + * 'GZIP data might be corrupt (file: ' + */ + __Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L8_error)) + __pyx_t_2 = ((__pyx_v_ret == ZRAN_READ_CRC_ERROR) != 0); + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":732 + * # might be corrupt + * elif ret == zran.ZRAN_READ_CRC_ERROR: + * raise CrcError('CRC/size validation failed - the ' # <<<<<<<<<<<<<< + * 'GZIP data might be corrupt (file: ' + * '{})'.format(self.errname)) + */ + __Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L8_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CrcError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 732, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "indexed_gzip/indexed_gzip.pyx":734 + * raise CrcError('CRC/size validation failed - the ' + * 'GZIP data might be corrupt (file: ' + * '{})'.format(self.errname)) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(734,0,__PYX_ERR(0, 734, __pyx_L8_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_CRC_size_validation_failed_the_G, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 734, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 734, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_5 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 732, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 732, __pyx_L8_error) + + /* "indexed_gzip/indexed_gzip.pyx":731 + * # CRC or size check failed - data + * # might be corrupt + * elif ret == zran.ZRAN_READ_CRC_ERROR: # <<<<<<<<<<<<<< + * raise CrcError('CRC/size validation failed - the ' + * 'GZIP data might be corrupt (file: ' + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":738 + * + * # Unknown error + * elif ret < 0: # <<<<<<<<<<<<<< + * raise ZranError('zran_read returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], + */ + __Pyx_TraceLine(738,0,__PYX_ERR(0, 738, __pyx_L8_error)) + __pyx_t_2 = ((__pyx_v_ret < 0) != 0); + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":739 + * # Unknown error + * elif ret < 0: + * raise ZranError('zran_read returned error: {} (file: ' # <<<<<<<<<<<<<< + * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], + * self.errname)) + */ + __Pyx_TraceLine(739,0,__PYX_ERR(0, 739, __pyx_L8_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 739, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "indexed_gzip/indexed_gzip.pyx":740 + * elif ret < 0: + * raise ZranError('zran_read returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], # <<<<<<<<<<<<<< + * self.errname)) + * + */ + __Pyx_TraceLine(740,0,__PYX_ERR(0, 740, __pyx_L8_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_read_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 740, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 740, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_ZRAN_READ); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 740, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_12, __pyx_v_ret, int64_t, 1, __Pyx_PyInt_From_int64_t, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 740, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":741 + * raise ZranError('zran_read returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], + * self.errname)) # <<<<<<<<<<<<<< + * + * nread += ret + */ + __Pyx_TraceLine(741,0,__PYX_ERR(0, 741, __pyx_L8_error)) + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 741, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + __pyx_t_14 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_14 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_11, __pyx_t_12}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L8_error) + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_11, __pyx_t_12}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L8_error) + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } else + #endif + { + __pyx_t_15 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 740, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_13) { + __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __pyx_t_13 = NULL; + } + __Pyx_GIVEREF(__pyx_t_11); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_14, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_12); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_t_12); + __pyx_t_11 = 0; + __pyx_t_12 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 739, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 739, __pyx_L8_error) + + /* "indexed_gzip/indexed_gzip.pyx":738 + * + * # Unknown error + * elif ret < 0: # <<<<<<<<<<<<<< + * raise ZranError('zran_read returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":743 + * self.errname)) + * + * nread += ret # <<<<<<<<<<<<<< + * offset += ret + * + */ + __Pyx_TraceLine(743,0,__PYX_ERR(0, 743, __pyx_L8_error)) + __pyx_v_nread = (__pyx_v_nread + __pyx_v_ret); + + /* "indexed_gzip/indexed_gzip.pyx":744 + * + * nread += ret + * offset += ret # <<<<<<<<<<<<<< + * + * # If we requested a specific number of + */ + __Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L8_error)) + __pyx_v_offset = (__pyx_v_offset + __pyx_v_ret); + + /* "indexed_gzip/indexed_gzip.pyx":750 + * # them all (or all until EOF), so we're + * # finished + * if nbytes > 0: # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L8_error)) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 750, __pyx_L8_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 750, __pyx_L8_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":751 + * # finished + * if nbytes > 0: + * break # <<<<<<<<<<<<<< + * + * # Otherwise if reading until EOF, check + */ + __Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L8_error)) + goto __pyx_L15_break; + + /* "indexed_gzip/indexed_gzip.pyx":750 + * # them all (or all until EOF), so we're + * # finished + * if nbytes > 0: # <<<<<<<<<<<<<< + * break + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":755 + * # Otherwise if reading until EOF, check + * # and increase the buffer size if necessary + * if (nread + self.readall_buf_size) > buf.size: # <<<<<<<<<<<<<< + * buf.resize(buf.size + self.readall_buf_size) + * offset = nread + */ + __Pyx_TraceLine(755,0,__PYX_ERR(0, 755, __pyx_L8_error)) + __pyx_t_2 = (((__pyx_v_nread + __pyx_v_self->readall_buf_size) > __pyx_v_buf->size) != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":756 + * # and increase the buffer size if necessary + * if (nread + self.readall_buf_size) > buf.size: + * buf.resize(buf.size + self.readall_buf_size) # <<<<<<<<<<<<<< + * offset = nread + * + */ + __Pyx_TraceLine(756,0,__PYX_ERR(0, 756, __pyx_L8_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_buf), __pyx_n_s_resize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyInt_FromSize_t((__pyx_v_buf->size + __pyx_v_self->readall_buf_size)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":757 + * if (nread + self.readall_buf_size) > buf.size: + * buf.resize(buf.size + self.readall_buf_size) + * offset = nread # <<<<<<<<<<<<<< + * + * buf.resize(nread) + */ + __Pyx_TraceLine(757,0,__PYX_ERR(0, 757, __pyx_L8_error)) + __pyx_v_offset = __pyx_v_nread; + + /* "indexed_gzip/indexed_gzip.pyx":755 + * # Otherwise if reading until EOF, check + * # and increase the buffer size if necessary + * if (nread + self.readall_buf_size) > buf.size: # <<<<<<<<<<<<<< + * buf.resize(buf.size + self.readall_buf_size) + * offset = nread + */ + } + } + __pyx_L15_break:; + + /* "indexed_gzip/indexed_gzip.pyx":701 + * cdef int64_t ret + * + * with self.__file_handle(): # <<<<<<<<<<<<<< + * + * # Read until EOF or enough + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L13_try_end; + __pyx_L8_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.read", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 701, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 701, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 701, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_2 < 0) __PYX_ERR(0, 701, __pyx_L10_except_error) + __pyx_t_17 = ((!(__pyx_t_2 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 701, __pyx_L10_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L9_exception_handled; + } + __pyx_L10_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L1_error; + __pyx_L9_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L13_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_6) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 701, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L7; + } + __pyx_L7:; + } + goto __pyx_L27; + __pyx_L4_error:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L1_error; + __pyx_L27:; + } + + /* "indexed_gzip/indexed_gzip.pyx":759 + * offset = nread + * + * buf.resize(nread) # <<<<<<<<<<<<<< + * pybuf = (buf.buffer)[:nread] + * + */ + __Pyx_TraceLine(759,0,__PYX_ERR(0, 759, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_buf), __pyx_n_s_resize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_nread); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 759, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":760 + * + * buf.resize(nread) + * pybuf = (buf.buffer)[:nread] # <<<<<<<<<<<<<< + * + * log.debug('%s.read(%s)', type(self).__name__, len(pybuf)) + */ + __Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buf->buffer) + 0, __pyx_v_nread - 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __pyx_t_5; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_pybuf = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":762 + * pybuf = (buf.buffer)[:nread] + * + * log.debug('%s.read(%s)', type(self).__name__, len(pybuf)) # <<<<<<<<<<<<<< + * + * return pybuf + */ + __Pyx_TraceLine(762,0,__PYX_ERR(0, 762, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely(__pyx_v_pybuf == Py_None)) { + PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); + __PYX_ERR(0, 762, __pyx_L1_error) + } + __pyx_t_18 = PyBytes_GET_SIZE(__pyx_v_pybuf); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 762, __pyx_L1_error) + __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_15 = NULL; + __pyx_t_14 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_15)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_15); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_14 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_15, __pyx_kp_s_s_read_s, __pyx_t_5, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_14, 3+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_15, __pyx_kp_s_s_read_s, __pyx_t_5, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_14, 3+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_12 = PyTuple_New(3+__pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_15); __pyx_t_15 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_s_read_s); + __Pyx_GIVEREF(__pyx_kp_s_s_read_s); + PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_14, __pyx_kp_s_s_read_s); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_14, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_14, __pyx_t_7); + __pyx_t_5 = 0; + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 762, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":764 + * log.debug('%s.read(%s)', type(self).__name__, len(pybuf)) + * + * return pybuf # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_pybuf); + __pyx_r = __pyx_v_pybuf; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":680 + * + * + * def read(self, nbytes=-1): # <<<<<<<<<<<<<< + * """Reads up to ``nbytes`` bytes from the uncompressed data stream. + * If ``nbytes < 0`` the stream is read until EOF. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_pybuf); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":767 + * + * + * def readinto(self, buf): # <<<<<<<<<<<<<< + * """Reads up to ``len(buf)`` bytes directly into ``buf``, which is + * assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview`` + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto(PyObject *__pyx_v_self, PyObject *__pyx_v_buf); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto[] = "_IndexedGzipFile.readinto(self, buf)\nReads up to ``len(buf)`` bytes directly into ``buf``, which is\n assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview``\n or ``bytearray``.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto = {"readinto", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto(PyObject *__pyx_v_self, PyObject *__pyx_v_buf) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("readinto (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), ((PyObject *)__pyx_v_buf)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_buf) { + zran_index_t *__pyx_v_index; + uint64_t __pyx_v_bufsz; + Py_buffer __pyx_v_pbuf; + void *__pyx_v_vbuf; + int64_t __pyx_v_ret; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + Py_ssize_t __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + int __pyx_t_13; + int __pyx_t_14; + char const *__pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__24) + __Pyx_RefNannySetupContext("readinto", 0); + __Pyx_TraceCall("readinto", __pyx_f[0], 767, 0, __PYX_ERR(0, 767, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":773 + * """ + * + * cdef zran.zran_index_t *index = &self.index # <<<<<<<<<<<<<< + * cdef uint64_t bufsz = len(buf) + * cdef Py_buffer pbuf + */ + __Pyx_TraceLine(773,0,__PYX_ERR(0, 773, __pyx_L1_error)) + __pyx_v_index = (&__pyx_v_self->index); + + /* "indexed_gzip/indexed_gzip.pyx":774 + * + * cdef zran.zran_index_t *index = &self.index + * cdef uint64_t bufsz = len(buf) # <<<<<<<<<<<<<< + * cdef Py_buffer pbuf + * cdef void *vbuf + */ + __Pyx_TraceLine(774,0,__PYX_ERR(0, 774, __pyx_L1_error)) + __pyx_t_1 = PyObject_Length(__pyx_v_buf); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 774, __pyx_L1_error) + __pyx_v_bufsz = __pyx_t_1; + + /* "indexed_gzip/indexed_gzip.pyx":782 + * # us to access the memory managed + * # by the provided buf + * PyObject_GetBuffer(buf, &pbuf, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS) # <<<<<<<<<<<<<< + * + * # read some bytes + */ + __Pyx_TraceLine(782,0,__PYX_ERR(0, 782, __pyx_L1_error)) + __pyx_t_2 = PyObject_GetBuffer(__pyx_v_buf, (&__pyx_v_pbuf), (PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 782, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":785 + * + * # read some bytes + * try: # <<<<<<<<<<<<<< + * + * vbuf = pbuf.buf + */ + __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L1_error)) + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":787 + * try: + * + * vbuf = pbuf.buf # <<<<<<<<<<<<<< + * with self.__file_handle(), nogil: + * ret = zran.zran_read(index, vbuf, bufsz) + */ + __Pyx_TraceLine(787,0,__PYX_ERR(0, 787, __pyx_L4_error)) + __pyx_v_vbuf = ((void *)__pyx_v_pbuf.buf); + + /* "indexed_gzip/indexed_gzip.pyx":788 + * + * vbuf = pbuf.buf + * with self.__file_handle(), nogil: # <<<<<<<<<<<<<< + * ret = zran.zran_read(index, vbuf, bufsz) + * + */ + __Pyx_TraceLine(788,0,__PYX_ERR(0, 788, __pyx_L4_error)) + /*with:*/ { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 788, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 788, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 788, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + { + #ifdef WITH_THREAD + PyThreadState *_save; + Py_UNBLOCK_THREADS + __Pyx_FastGIL_Remember(); + #endif + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":789 + * vbuf = pbuf.buf + * with self.__file_handle(), nogil: + * ret = zran.zran_read(index, vbuf, bufsz) # <<<<<<<<<<<<<< + * + * # release the py_buffer + */ + __Pyx_TraceLine(789,1,__PYX_ERR(0, 789, __pyx_L17_error)) + __pyx_v_ret = zran_read(__pyx_v_index, __pyx_v_vbuf, __pyx_v_bufsz); + } + + /* "indexed_gzip/indexed_gzip.pyx":788 + * + * vbuf = pbuf.buf + * with self.__file_handle(), nogil: # <<<<<<<<<<<<<< + * ret = zran.zran_read(index, vbuf, bufsz) + * + */ + __Pyx_TraceLine(788,1,__PYX_ERR(0, 788, __pyx_L17_error)) + /*finally:*/ { + /*normal exit:*/{ + #ifdef WITH_THREAD + __Pyx_FastGIL_Forget(); + Py_BLOCK_THREADS + #endif + goto __pyx_L18; + } + __pyx_L17_error: { + #ifdef WITH_THREAD + __Pyx_FastGIL_Forget(); + Py_BLOCK_THREADS + #endif + goto __pyx_L10_error; + } + __pyx_L18:; + } + } + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L15_try_end; + __pyx_L10_error:; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 788, __pyx_L12_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 788, __pyx_L12_except_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 788, __pyx_L12_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_12 < 0) __PYX_ERR(0, 788, __pyx_L12_except_error) + __pyx_t_13 = ((!(__pyx_t_12 != 0)) != 0); + if (__pyx_t_13) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_4, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 788, __pyx_L12_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L11_exception_handled; + } + __pyx_L12_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L4_error; + __pyx_L11_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L15_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_6) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 788, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L9; + } + __pyx_L9:; + } + goto __pyx_L22; + __pyx_L6_error:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L4_error; + __pyx_L22:; + } + } + + /* "indexed_gzip/indexed_gzip.pyx":793 + * # release the py_buffer + * finally: + * PyBuffer_Release(&pbuf) # <<<<<<<<<<<<<< + * + * # see how the read went + */ + __Pyx_TraceLine(793,0,__PYX_ERR(0, 793, __pyx_L4_error)) + /*finally:*/ { + /*normal exit:*/{ + PyBuffer_Release((&__pyx_v_pbuf)); + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_6 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_11 = 0; __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_11, &__pyx_t_16); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_10, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_10, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_16); + __pyx_t_2 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename; + { + PyBuffer_Release((&__pyx_v_pbuf)); + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_11, __pyx_t_16); + } + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ErrRestore(__pyx_t_6, __pyx_t_10, __pyx_t_9); + __pyx_t_6 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_11 = 0; __pyx_t_16 = 0; + __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15; + goto __pyx_L1_error; + } + __pyx_L5:; + } + + /* "indexed_gzip/indexed_gzip.pyx":796 + * + * # see how the read went + * if ret == zran.ZRAN_READ_FAIL: # <<<<<<<<<<<<<< + * raise ZranError('zran_read returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_READ[ret], self.errname)) + */ + __Pyx_TraceLine(796,0,__PYX_ERR(0, 796, __pyx_L1_error)) + switch (__pyx_v_ret) { + case ZRAN_READ_FAIL: + + /* "indexed_gzip/indexed_gzip.pyx":797 + * # see how the read went + * if ret == zran.ZRAN_READ_FAIL: + * raise ZranError('zran_read returned error: {} (file: {})' # <<<<<<<<<<<<<< + * .format(ZRAN_ERRORS.ZRAN_READ[ret], self.errname)) + * + */ + __Pyx_TraceLine(797,0,__PYX_ERR(0, 797, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 797, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + + /* "indexed_gzip/indexed_gzip.pyx":798 + * if ret == zran.ZRAN_READ_FAIL: + * raise ZranError('zran_read returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_READ[ret], self.errname)) # <<<<<<<<<<<<<< + * + * # This will happen if the current + */ + __Pyx_TraceLine(798,0,__PYX_ERR(0, 798, __pyx_L1_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_read_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_ZRAN_READ); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_18, __pyx_v_ret, int64_t, 1, __Pyx_PyInt_From_int64_t, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_19 = NULL; + __pyx_t_14 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_19)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_19); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_14 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_17, __pyx_t_18}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_17, __pyx_t_18}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } else + #endif + { + __pyx_t_20 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_20); + if (__pyx_t_19) { + __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __pyx_t_19 = NULL; + } + __Pyx_GIVEREF(__pyx_t_17); + PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_14, __pyx_t_17); + __Pyx_GIVEREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_14, __pyx_t_18); + __pyx_t_17 = 0; + __pyx_t_18 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 797, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __PYX_ERR(0, 797, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":796 + * + * # see how the read went + * if ret == zran.ZRAN_READ_FAIL: # <<<<<<<<<<<<<< + * raise ZranError('zran_read returned error: {} (file: {})' + * .format(ZRAN_ERRORS.ZRAN_READ[ret], self.errname)) + */ + break; + case ZRAN_READ_NOT_COVERED: + + /* "indexed_gzip/indexed_gzip.pyx":804 + * # index, and auto-build is disabled + * elif ret == zran.ZRAN_READ_NOT_COVERED: + * raise NotCoveredError('Index does not cover current offset') # <<<<<<<<<<<<<< + * + * # No bytes were read, and there are + */ + __Pyx_TraceLine(804,0,__PYX_ERR(0, 804, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_s_Index_does_not_cover_current_off) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Index_does_not_cover_current_off); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 804, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __PYX_ERR(0, 804, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":803 + * # seek point is not covered by the + * # index, and auto-build is disabled + * elif ret == zran.ZRAN_READ_NOT_COVERED: # <<<<<<<<<<<<<< + * raise NotCoveredError('Index does not cover current offset') + * + */ + break; + case ZRAN_READ_EOF: + + /* "indexed_gzip/indexed_gzip.pyx":812 + * # called + * elif ret == zran.ZRAN_READ_EOF: + * return 0 # <<<<<<<<<<<<<< + * + * # Return the number of bytes that + */ + __Pyx_TraceLine(812,0,__PYX_ERR(0, 812, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_int_0); + __pyx_r = __pyx_int_0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":811 + * # or beyond EOF when zran_read was + * # called + * elif ret == zran.ZRAN_READ_EOF: # <<<<<<<<<<<<<< + * return 0 + * + */ + break; + default: + + /* "indexed_gzip/indexed_gzip.pyx":817 + * # were read + * else: + * return ret # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(817,0,__PYX_ERR(0, 817, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_5 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_r = __pyx_t_5; + __pyx_t_5 = 0; + goto __pyx_L0; + break; + } + + /* "indexed_gzip/indexed_gzip.pyx":767 + * + * + * def readinto(self, buf): # <<<<<<<<<<<<<< + * """Reads up to ``len(buf)`` bytes directly into ``buf``, which is + * assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview`` + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_20); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":820 + * + * + * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< + * """Seeks to the specified ``offset``, then reads and returns + * ``nbytes``. See :meth:`seek` and :meth:`read`. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread[] = "_IndexedGzipFile.pread(self, nbytes, offset)\nSeeks to the specified ``offset``, then reads and returns\n ``nbytes``. See :meth:`seek` and :meth:`read`.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread = {"pread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_nbytes = 0; + PyObject *__pyx_v_offset = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("pread (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nbytes,&__pyx_n_s_offset,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nbytes)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("pread", 1, 2, 2, 1); __PYX_ERR(0, 820, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pread") < 0)) __PYX_ERR(0, 820, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_nbytes = values[0]; + __pyx_v_offset = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("pread", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 820, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_nbytes, __pyx_v_offset); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_nbytes, PyObject *__pyx_v_offset) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__25) + __Pyx_RefNannySetupContext("pread", 0); + __Pyx_TraceCall("pread", __pyx_f[0], 820, 0, __PYX_ERR(0, 820, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":824 + * ``nbytes``. See :meth:`seek` and :meth:`read`. + * """ + * with self.__file_handle(): # <<<<<<<<<<<<<< + * self.seek(offset) + * return self.read(nbytes) + */ + __Pyx_TraceLine(824,0,__PYX_ERR(0, 824, __pyx_L1_error)) + /*with:*/ { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 824, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 824, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 824, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 824, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":825 + * """ + * with self.__file_handle(): + * self.seek(offset) # <<<<<<<<<<<<<< + * return self.read(nbytes) + * + */ + __Pyx_TraceLine(825,0,__PYX_ERR(0, 825, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 825, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 825, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":826 + * with self.__file_handle(): + * self.seek(offset) + * return self.read(nbytes) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(826,0,__PYX_ERR(0, 826, __pyx_L7_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 826, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_nbytes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_nbytes); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 826, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L11_try_return; + + /* "indexed_gzip/indexed_gzip.pyx":824 + * ``nbytes``. See :meth:`seek` and :meth:`read`. + * """ + * with self.__file_handle(): # <<<<<<<<<<<<<< + * self.seek(offset) + * return self.read(nbytes) + */ + } + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 824, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 824, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 824, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_10 < 0) __PYX_ERR(0, 824, __pyx_L9_except_error) + __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 824, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L11_try_return:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L4_return; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 824, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L4_return: { + __pyx_t_8 = __pyx_r; + __pyx_r = 0; + if (__pyx_t_4) { + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 824, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/indexed_gzip.pyx":820 + * + * + * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< + * """Seeks to the specified ``offset``, then reads and returns + * ``nbytes``. See :meth:`seek` and :meth:`read`. + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":829 + * + * + * def readline(self, size=-1): # <<<<<<<<<<<<<< + * """Read and return up to the next ``'\n'`` character (up to at most + * ``size`` bytes, if ``size >= 0``) from the uncompressed data stream. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline[] = "_IndexedGzipFile.readline(self, size=-1)\nRead and return up to the next ``'\n'`` character (up to at most\n ``size`` bytes, if ``size >= 0``) from the uncompressed data stream.\n\n If the end of the stream has been reached, ``b''`` is returned.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline = {"readline", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_size = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("readline (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,0}; + PyObject* values[1] = {0}; + values[0] = ((PyObject *)__pyx_int_neg_1); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size); + if (value) { values[0] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readline") < 0)) __PYX_ERR(0, 829, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_size = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("readline", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 829, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readline", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_size); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_size) { + PyObject *__pyx_v_linebuf = NULL; + PyObject *__pyx_v_startpos = NULL; + long __pyx_v_bufsz; + PyObject *__pyx_v_buf = NULL; + PyObject *__pyx_v_lineidx = NULL; + PyObject *__pyx_v_haveline = NULL; + PyObject *__pyx_v_eof = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + Py_ssize_t __pyx_t_10; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__26) + __Pyx_RefNannySetupContext("readline", 0); + __Pyx_TraceCall("readline", __pyx_f[0], 829, 0, __PYX_ERR(0, 829, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":836 + * """ + * + * if size == 0: # <<<<<<<<<<<<<< + * return bytes() + * + */ + __Pyx_TraceLine(836,0,__PYX_ERR(0, 836, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_size, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 836, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 836, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":837 + * + * if size == 0: + * return bytes() # <<<<<<<<<<<<<< + * + * linebuf = b'' + */ + __Pyx_TraceLine(837,0,__PYX_ERR(0, 837, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyBytes_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 837, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":836 + * """ + * + * if size == 0: # <<<<<<<<<<<<<< + * return bytes() + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":839 + * return bytes() + * + * linebuf = b'' # <<<<<<<<<<<<<< + * startpos = self.tell() + * bufsz = 1024 + */ + __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L1_error)) + __Pyx_INCREF(__pyx_kp_b__27); + __pyx_v_linebuf = __pyx_kp_b__27; + + /* "indexed_gzip/indexed_gzip.pyx":840 + * + * linebuf = b'' + * startpos = self.tell() # <<<<<<<<<<<<<< + * bufsz = 1024 + * + */ + __Pyx_TraceLine(840,0,__PYX_ERR(0, 840, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_tell); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 840, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 840, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_startpos = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":841 + * linebuf = b'' + * startpos = self.tell() + * bufsz = 1024 # <<<<<<<<<<<<<< + * + * # Read in chunks of [bufsz] bytes at a time + */ + __Pyx_TraceLine(841,0,__PYX_ERR(0, 841, __pyx_L1_error)) + __pyx_v_bufsz = 0x400; + + /* "indexed_gzip/indexed_gzip.pyx":844 + * + * # Read in chunks of [bufsz] bytes at a time + * with self.__file_handle(): # <<<<<<<<<<<<<< + * while True: + * + */ + __Pyx_TraceLine(844,0,__PYX_ERR(0, 844, __pyx_L1_error)) + /*with:*/ { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 844, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 844, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 844, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 844, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 844, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":845 + * # Read in chunks of [bufsz] bytes at a time + * with self.__file_handle(): + * while True: # <<<<<<<<<<<<<< + * + * buf = self.read(bufsz) + */ + __Pyx_TraceLine(845,0,__PYX_ERR(0, 845, __pyx_L8_error)) + while (1) { + + /* "indexed_gzip/indexed_gzip.pyx":847 + * while True: + * + * buf = self.read(bufsz) # <<<<<<<<<<<<<< + * + * lineidx = buf.find(b'\n') + */ + __Pyx_TraceLine(847,0,__PYX_ERR(0, 847, __pyx_L8_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 847, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_bufsz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 847, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 847, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_buf, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":849 + * buf = self.read(bufsz) + * + * lineidx = buf.find(b'\n') # <<<<<<<<<<<<<< + * haveline = lineidx >= 0 + * eof = len(buf) == 0 + */ + __Pyx_TraceLine(849,0,__PYX_ERR(0, 849, __pyx_L8_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 849, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__28) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__28); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_lineidx, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":850 + * + * lineidx = buf.find(b'\n') + * haveline = lineidx >= 0 # <<<<<<<<<<<<<< + * eof = len(buf) == 0 + * + */ + __Pyx_TraceLine(850,0,__PYX_ERR(0, 850, __pyx_L8_error)) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_lineidx, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 850, __pyx_L8_error) + __Pyx_XDECREF_SET(__pyx_v_haveline, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":851 + * lineidx = buf.find(b'\n') + * haveline = lineidx >= 0 + * eof = len(buf) == 0 # <<<<<<<<<<<<<< + * + * # Are we at EOF? Nothing more to do + */ + __Pyx_TraceLine(851,0,__PYX_ERR(0, 851, __pyx_L8_error)) + __pyx_t_10 = PyObject_Length(__pyx_v_buf); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 851, __pyx_L8_error) + __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_t_10 == 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 851, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XDECREF_SET(__pyx_v_eof, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":854 + * + * # Are we at EOF? Nothing more to do + * if eof: # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(854,0,__PYX_ERR(0, 854, __pyx_L8_error)) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_eof); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 854, __pyx_L8_error) + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":855 + * # Are we at EOF? Nothing more to do + * if eof: + * break # <<<<<<<<<<<<<< + * + * # Have we found a line? Discard + */ + __Pyx_TraceLine(855,0,__PYX_ERR(0, 855, __pyx_L8_error)) + goto __pyx_L15_break; + + /* "indexed_gzip/indexed_gzip.pyx":854 + * + * # Are we at EOF? Nothing more to do + * if eof: # <<<<<<<<<<<<<< + * break + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":859 + * # Have we found a line? Discard + * # everything that comes after it + * if haveline: # <<<<<<<<<<<<<< + * linebuf = linebuf + buf[:lineidx + 1] + * + */ + __Pyx_TraceLine(859,0,__PYX_ERR(0, 859, __pyx_L8_error)) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_haveline); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 859, __pyx_L8_error) + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":860 + * # everything that comes after it + * if haveline: + * linebuf = linebuf + buf[:lineidx + 1] # <<<<<<<<<<<<<< + * + * # If we've found a line, and are + */ + __Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L8_error)) + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_lineidx, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_buf, 0, 0, NULL, &__pyx_t_1, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_v_linebuf, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_linebuf, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":859 + * # Have we found a line? Discard + * # everything that comes after it + * if haveline: # <<<<<<<<<<<<<< + * linebuf = linebuf + buf[:lineidx + 1] + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":864 + * # If we've found a line, and are + * # not size-limiting, we're done + * if haveline and size < 0: # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(864,0,__PYX_ERR(0, 864, __pyx_L8_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_haveline); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 864, __pyx_L8_error) + if (__pyx_t_11) { + } else { + __pyx_t_2 = __pyx_t_11; + goto __pyx_L19_bool_binop_done; + } + __pyx_t_1 = PyObject_RichCompare(__pyx_v_size, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 864, __pyx_L8_error) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 864, __pyx_L8_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_2 = __pyx_t_11; + __pyx_L19_bool_binop_done:; + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":865 + * # not size-limiting, we're done + * if haveline and size < 0: + * break # <<<<<<<<<<<<<< + * + * # If we're size limiting, and have + */ + __Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L8_error)) + goto __pyx_L15_break; + + /* "indexed_gzip/indexed_gzip.pyx":864 + * # If we've found a line, and are + * # not size-limiting, we're done + * if haveline and size < 0: # <<<<<<<<<<<<<< + * break + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":869 + * # If we're size limiting, and have + * # read in enough bytes, we're done + * if size >= 0 and len(linebuf) > size: # <<<<<<<<<<<<<< + * linebuf = linebuf[:size] + * break + */ + __Pyx_TraceLine(869,0,__PYX_ERR(0, 869, __pyx_L8_error)) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_size, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 869, __pyx_L8_error) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 869, __pyx_L8_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_11) { + } else { + __pyx_t_2 = __pyx_t_11; + goto __pyx_L22_bool_binop_done; + } + __pyx_t_10 = PyObject_Length(__pyx_v_linebuf); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 869, __pyx_L8_error) + __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 869, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_size, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 869, __pyx_L8_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 869, __pyx_L8_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __pyx_t_11; + __pyx_L22_bool_binop_done:; + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":870 + * # read in enough bytes, we're done + * if size >= 0 and len(linebuf) > size: + * linebuf = linebuf[:size] # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(870,0,__PYX_ERR(0, 870, __pyx_L8_error)) + __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_linebuf, 0, 0, NULL, &__pyx_v_size, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 870, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_linebuf, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":871 + * if size >= 0 and len(linebuf) > size: + * linebuf = linebuf[:size] + * break # <<<<<<<<<<<<<< + * + * # Rewind the seek location + */ + __Pyx_TraceLine(871,0,__PYX_ERR(0, 871, __pyx_L8_error)) + goto __pyx_L15_break; + + /* "indexed_gzip/indexed_gzip.pyx":869 + * # If we're size limiting, and have + * # read in enough bytes, we're done + * if size >= 0 and len(linebuf) > size: # <<<<<<<<<<<<<< + * linebuf = linebuf[:size] + * break + */ + } + } + __pyx_L15_break:; + + /* "indexed_gzip/indexed_gzip.pyx":875 + * # Rewind the seek location + * # to the finishing point + * self.seek(startpos + len(linebuf)) # <<<<<<<<<<<<<< + * + * return linebuf + */ + __Pyx_TraceLine(875,0,__PYX_ERR(0, 875, __pyx_L8_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 875, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = PyObject_Length(__pyx_v_linebuf); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 875, __pyx_L8_error) + __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 875, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = PyNumber_Add(__pyx_v_startpos, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 875, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 875, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":844 + * + * # Read in chunks of [bufsz] bytes at a time + * with self.__file_handle(): # <<<<<<<<<<<<<< + * while True: + * + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L13_try_end; + __pyx_L8_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readline", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_6) < 0) __PYX_ERR(0, 844, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 844, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 844, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_2 < 0) __PYX_ERR(0, 844, __pyx_L10_except_error) + __pyx_t_11 = ((!(__pyx_t_2 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_6); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_6 = 0; + __PYX_ERR(0, 844, __pyx_L10_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L9_exception_handled; + } + __pyx_L10_except_error:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + goto __pyx_L1_error; + __pyx_L9_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_L13_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_5) { + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 844, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + goto __pyx_L7; + } + __pyx_L7:; + } + goto __pyx_L27; + __pyx_L4_error:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L1_error; + __pyx_L27:; + } + + /* "indexed_gzip/indexed_gzip.pyx":877 + * self.seek(startpos + len(linebuf)) + * + * return linebuf # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(877,0,__PYX_ERR(0, 877, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_linebuf); + __pyx_r = __pyx_v_linebuf; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":829 + * + * + * def readline(self, size=-1): # <<<<<<<<<<<<<< + * """Read and return up to the next ``'\n'`` character (up to at most + * ``size`` bytes, if ``size >= 0``) from the uncompressed data stream. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readline", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_linebuf); + __Pyx_XDECREF(__pyx_v_startpos); + __Pyx_XDECREF(__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_lineidx); + __Pyx_XDECREF(__pyx_v_haveline); + __Pyx_XDECREF(__pyx_v_eof); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":880 + * + * + * def readlines(self, hint=-1): # <<<<<<<<<<<<<< + * """Reads and returns a list of lines from the uncompressed data. + * If ``hint`` is provided, lines will be read until the total size + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines[] = "_IndexedGzipFile.readlines(self, hint=-1)\nReads and returns a list of lines from the uncompressed data.\n If ``hint`` is provided, lines will be read until the total size\n of all lines exceeds ``hint`` in bytes.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines = {"readlines", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_hint = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("readlines (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hint,0}; + PyObject* values[1] = {0}; + values[0] = ((PyObject *)__pyx_int_neg_1); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hint); + if (value) { values[0] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readlines") < 0)) __PYX_ERR(0, 880, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_hint = values[0]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("readlines", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 880, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_hint); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_hint) { + PyObject *__pyx_v_totalsize = NULL; + PyObject *__pyx_v_lines = NULL; + PyObject *__pyx_v_line = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__29) + __Pyx_RefNannySetupContext("readlines", 0); + __Pyx_TraceCall("readlines", __pyx_f[0], 880, 0, __PYX_ERR(0, 880, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":886 + * """ + * + * totalsize = 0 # <<<<<<<<<<<<<< + * lines = [] + * + */ + __Pyx_TraceLine(886,0,__PYX_ERR(0, 886, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_v_totalsize = __pyx_int_0; + + /* "indexed_gzip/indexed_gzip.pyx":887 + * + * totalsize = 0 + * lines = [] # <<<<<<<<<<<<<< + * + * with self.__file_handle(): + */ + __Pyx_TraceLine(887,0,__PYX_ERR(0, 887, __pyx_L1_error)) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 887, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":889 + * lines = [] + * + * with self.__file_handle(): # <<<<<<<<<<<<<< + * while True: + * + */ + __Pyx_TraceLine(889,0,__PYX_ERR(0, 889, __pyx_L1_error)) + /*with:*/ { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 889, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 889, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":890 + * + * with self.__file_handle(): + * while True: # <<<<<<<<<<<<<< + * + * line = self.readline() + */ + __Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L7_error)) + while (1) { + + /* "indexed_gzip/indexed_gzip.pyx":892 + * while True: + * + * line = self.readline() # <<<<<<<<<<<<<< + * if line == b'': + * break + */ + __Pyx_TraceLine(892,0,__PYX_ERR(0, 892, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_readline); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 892, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 892, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":893 + * + * line = self.readline() + * if line == b'': # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(893,0,__PYX_ERR(0, 893, __pyx_L7_error)) + __pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_line, __pyx_kp_b__27, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 893, __pyx_L7_error) + if (__pyx_t_9) { + + /* "indexed_gzip/indexed_gzip.pyx":894 + * line = self.readline() + * if line == b'': + * break # <<<<<<<<<<<<<< + * + * lines.append(line) + */ + __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L7_error)) + goto __pyx_L14_break; + + /* "indexed_gzip/indexed_gzip.pyx":893 + * + * line = self.readline() + * if line == b'': # <<<<<<<<<<<<<< + * break + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":896 + * break + * + * lines.append(line) # <<<<<<<<<<<<<< + * + * totalsize += len(line) + */ + __Pyx_TraceLine(896,0,__PYX_ERR(0, 896, __pyx_L7_error)) + __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_lines, __pyx_v_line); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 896, __pyx_L7_error) + + /* "indexed_gzip/indexed_gzip.pyx":898 + * lines.append(line) + * + * totalsize += len(line) # <<<<<<<<<<<<<< + * + * if hint >= 0 and totalsize > hint: + */ + __Pyx_TraceLine(898,0,__PYX_ERR(0, 898, __pyx_L7_error)) + __pyx_t_11 = PyObject_Length(__pyx_v_line); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 898, __pyx_L7_error) + __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_totalsize, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_totalsize, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":900 + * totalsize += len(line) + * + * if hint >= 0 and totalsize > hint: # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(900,0,__PYX_ERR(0, 900, __pyx_L7_error)) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_hint, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 900, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_12) { + } else { + __pyx_t_9 = __pyx_t_12; + goto __pyx_L17_bool_binop_done; + } + __pyx_t_2 = PyObject_RichCompare(__pyx_v_totalsize, __pyx_v_hint, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 900, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __pyx_t_12; + __pyx_L17_bool_binop_done:; + if (__pyx_t_9) { + + /* "indexed_gzip/indexed_gzip.pyx":901 + * + * if hint >= 0 and totalsize > hint: + * break # <<<<<<<<<<<<<< + * + * return lines + */ + __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L7_error)) + goto __pyx_L14_break; + + /* "indexed_gzip/indexed_gzip.pyx":900 + * totalsize += len(line) + * + * if hint >= 0 and totalsize > hint: # <<<<<<<<<<<<<< + * break + * + */ + } + } + __pyx_L14_break:; + + /* "indexed_gzip/indexed_gzip.pyx":889 + * lines = [] + * + * with self.__file_handle(): # <<<<<<<<<<<<<< + * while True: + * + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 889, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 889, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 889, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_9 < 0) __PYX_ERR(0, 889, __pyx_L9_except_error) + __pyx_t_12 = ((!(__pyx_t_9 != 0)) != 0); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 889, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L22; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L22:; + } + + /* "indexed_gzip/indexed_gzip.pyx":903 + * break + * + * return lines # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(903,0,__PYX_ERR(0, 903, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_lines); + __pyx_r = __pyx_v_lines; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":880 + * + * + * def readlines(self, hint=-1): # <<<<<<<<<<<<<< + * """Reads and returns a list of lines from the uncompressed data. + * If ``hint`` is provided, lines will be read until the total size + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_totalsize); + __Pyx_XDECREF(__pyx_v_lines); + __Pyx_XDECREF(__pyx_v_line); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":906 + * + * + * def __iter__(self): # <<<<<<<<<<<<<< + * """Returns this ``_IndexedGzipFile`` which can be iterated over to + * return lines (separated by ``'\n'``) in the uncompressed stream. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_42__iter__(PyObject *__pyx_v_self); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__[] = "Returns this ``_IndexedGzipFile`` which can be iterated over to\n return lines (separated by ``'\n'``) in the uncompressed stream.\n "; +#if CYTHON_UPDATE_DESCRIPTOR_DOC +struct wrapperbase __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__; +#endif +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_42__iter__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__iter__", 0); + __Pyx_TraceCall("__iter__", __pyx_f[0], 906, 0, __PYX_ERR(0, 906, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":910 + * return lines (separated by ``'\n'``) in the uncompressed stream. + * """ + * return self # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(910,0,__PYX_ERR(0, 910, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_self)); + __pyx_r = ((PyObject *)__pyx_v_self); + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":906 + * + * + * def __iter__(self): # <<<<<<<<<<<<<< + * """Returns this ``_IndexedGzipFile`` which can be iterated over to + * return lines (separated by ``'\n'``) in the uncompressed stream. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":913 + * + * + * def __next__(self): # <<<<<<<<<<<<<< + * """Returns the next line from the uncompressed stream. Raises + * :exc:`StopIteration` when there are no lines left. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__(PyObject *__pyx_v_self); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__[] = "Returns the next line from the uncompressed stream. Raises\n :exc:`StopIteration` when there are no lines left.\n "; +#if CYTHON_UPDATE_DESCRIPTOR_DOC +struct wrapperbase __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__; +#endif +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__next__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_v_line = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__next__", 0); + __Pyx_TraceCall("__next__", __pyx_f[0], 913, 0, __PYX_ERR(0, 913, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":917 + * :exc:`StopIteration` when there are no lines left. + * """ + * line = self.readline() # <<<<<<<<<<<<<< + * + * if line == b'': + */ + __Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_readline); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 917, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 917, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_line = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":919 + * line = self.readline() + * + * if line == b'': # <<<<<<<<<<<<<< + * raise StopIteration() + * else: + */ + __Pyx_TraceLine(919,0,__PYX_ERR(0, 919, __pyx_L1_error)) + __pyx_t_4 = (__Pyx_PyBytes_Equals(__pyx_v_line, __pyx_kp_b__27, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 919, __pyx_L1_error) + if (unlikely(__pyx_t_4)) { + + /* "indexed_gzip/indexed_gzip.pyx":920 + * + * if line == b'': + * raise StopIteration() # <<<<<<<<<<<<<< + * else: + * return line + */ + __Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_StopIteration); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 920, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 920, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":919 + * line = self.readline() + * + * if line == b'': # <<<<<<<<<<<<<< + * raise StopIteration() + * else: + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":922 + * raise StopIteration() + * else: + * return line # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L1_error)) + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_line); + __pyx_r = __pyx_v_line; + goto __pyx_L0; + } + + /* "indexed_gzip/indexed_gzip.pyx":913 + * + * + * def __next__(self): # <<<<<<<<<<<<<< + * """Returns the next line from the uncompressed stream. Raises + * :exc:`StopIteration` when there are no lines left. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__next__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_line); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":925 + * + * + * def write(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Currently raises a :exc:`NotImplementedError`.""" + * raise NotImplementedError('_IndexedGzipFile does not support writing') + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write[] = "_IndexedGzipFile.write(self, *args, **kwargs)\nCurrently raises a :exc:`NotImplementedError`."; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write = {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + CYTHON_UNUSED PyObject *__pyx_v_args = 0; + CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("write (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "write", 1))) return NULL; + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__30) + __Pyx_RefNannySetupContext("write", 0); + __Pyx_TraceCall("write", __pyx_f[0], 925, 0, __PYX_ERR(0, 925, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":927 + * def write(self, *args, **kwargs): + * """Currently raises a :exc:`NotImplementedError`.""" + * raise NotImplementedError('_IndexedGzipFile does not support writing') # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(927,0,__PYX_ERR(0, 927, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 927, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 927, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":925 + * + * + * def write(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Currently raises a :exc:`NotImplementedError`.""" + * raise NotImplementedError('_IndexedGzipFile does not support writing') + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.write", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":930 + * + * + * def flush(self): # <<<<<<<<<<<<<< + * """Currently does nothing. """ + * pass + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush[] = "_IndexedGzipFile.flush(self)\nCurrently does nothing. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush = {"flush", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("flush (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__32) + __Pyx_RefNannySetupContext("flush", 0); + __Pyx_TraceCall("flush", __pyx_f[0], 930, 0, __PYX_ERR(0, 930, __pyx_L1_error)); + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.flush", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":935 + * + * + * def export_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< + * """Export index data to the given file. Either ``filename`` or + * ``fileobj`` should be specified, but not both. ``fileobj`` should be + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index[] = "_IndexedGzipFile.export_index(self, filename=None, fileobj=None)\nExport index data to the given file. Either ``filename`` or\n ``fileobj`` should be specified, but not both. ``fileobj`` should be\n opened in 'wb' mode.\n\n :arg filename: Name of the file.\n :arg fileobj: Open file handle.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index = {"export_index", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_filename = 0; + PyObject *__pyx_v_fileobj = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("export_index (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_fileobj,0}; + PyObject* values[2] = {0,0}; + values[0] = ((PyObject *)Py_None); + values[1] = ((PyObject *)Py_None); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename); + if (value) { values[0] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "export_index") < 0)) __PYX_ERR(0, 935, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_filename = values[0]; + __pyx_v_fileobj = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("export_index", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 935, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_filename, __pyx_v_fileobj); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj) { + int __pyx_v_close_file; + FILE *__pyx_v_fd; + int __pyx_v_ret; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + char const *__pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__33) + __Pyx_RefNannySetupContext("export_index", 0); + __Pyx_TraceCall("export_index", __pyx_f[0], 935, 0, __PYX_ERR(0, 935, __pyx_L1_error)); + __Pyx_INCREF(__pyx_v_fileobj); + + /* "indexed_gzip/indexed_gzip.pyx":944 + * """ + * + * if filename is None and fileobj is None: # <<<<<<<<<<<<<< + * raise ValueError('One of filename or fileobj must be specified') + * + */ + __Pyx_TraceLine(944,0,__PYX_ERR(0, 944, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_filename == Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_fileobj == Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L4_bool_binop_done:; + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":945 + * + * if filename is None and fileobj is None: + * raise ValueError('One of filename or fileobj must be specified') # <<<<<<<<<<<<<< + * + * if filename is not None and fileobj is not None: + */ + __Pyx_TraceLine(945,0,__PYX_ERR(0, 945, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 945, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 945, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":944 + * """ + * + * if filename is None and fileobj is None: # <<<<<<<<<<<<<< + * raise ValueError('One of filename or fileobj must be specified') + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":947 + * raise ValueError('One of filename or fileobj must be specified') + * + * if filename is not None and fileobj is not None: # <<<<<<<<<<<<<< + * raise ValueError( + * 'Only one of filename or fileobj must be specified') + */ + __Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_filename != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_fileobj != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L7_bool_binop_done:; + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":948 + * + * if filename is not None and fileobj is not None: + * raise ValueError( # <<<<<<<<<<<<<< + * 'Only one of filename or fileobj must be specified') + * + */ + __Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 948, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 948, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":947 + * raise ValueError('One of filename or fileobj must be specified') + * + * if filename is not None and fileobj is not None: # <<<<<<<<<<<<<< + * raise ValueError( + * 'Only one of filename or fileobj must be specified') + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":951 + * 'Only one of filename or fileobj must be specified') + * + * if filename is not None: # <<<<<<<<<<<<<< + * fileobj = builtin_open(filename, 'wb') + * close_file = True + */ + __Pyx_TraceLine(951,0,__PYX_ERR(0, 951, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_filename != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":952 + * + * if filename is not None: + * fileobj = builtin_open(filename, 'wb') # <<<<<<<<<<<<<< + * close_file = True + * + */ + __Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_builtin_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 952, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_filename, __pyx_n_s_wb}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_filename, __pyx_n_s_wb}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 952, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_filename); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_n_s_wb); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_fileobj, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":953 + * if filename is not None: + * fileobj = builtin_open(filename, 'wb') + * close_file = True # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_TraceLine(953,0,__PYX_ERR(0, 953, __pyx_L1_error)) + __pyx_v_close_file = 1; + + /* "indexed_gzip/indexed_gzip.pyx":951 + * 'Only one of filename or fileobj must be specified') + * + * if filename is not None: # <<<<<<<<<<<<<< + * fileobj = builtin_open(filename, 'wb') + * close_file = True + */ + goto __pyx_L9; + } + + /* "indexed_gzip/indexed_gzip.pyx":956 + * + * else: + * close_file = False # <<<<<<<<<<<<<< + * if getattr(fileobj, 'mode', 'wb') != 'wb': + * raise ValueError( + */ + __Pyx_TraceLine(956,0,__PYX_ERR(0, 956, __pyx_L1_error)) + /*else*/ { + __pyx_v_close_file = 0; + + /* "indexed_gzip/indexed_gzip.pyx":957 + * else: + * close_file = False + * if getattr(fileobj, 'mode', 'wb') != 'wb': # <<<<<<<<<<<<<< + * raise ValueError( + * 'File should be opened in writeable binary mode.') + */ + __Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L1_error)) + __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_fileobj, __pyx_n_s_mode, __pyx_n_s_wb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 957, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_wb, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 957, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":958 + * close_file = False + * if getattr(fileobj, 'mode', 'wb') != 'wb': + * raise ValueError( # <<<<<<<<<<<<<< + * 'File should be opened in writeable binary mode.') + * + */ + __Pyx_TraceLine(958,0,__PYX_ERR(0, 958, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 958, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 958, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":957 + * else: + * close_file = False + * if getattr(fileobj, 'mode', 'wb') != 'wb': # <<<<<<<<<<<<<< + * raise ValueError( + * 'File should be opened in writeable binary mode.') + */ + } + } + __pyx_L9:; + + /* "indexed_gzip/indexed_gzip.pyx":961 + * 'File should be opened in writeable binary mode.') + * + * try: # <<<<<<<<<<<<<< + * # Pass both the Python file object and + * # file descriptor (if this is an actual + */ + __Pyx_TraceLine(961,0,__PYX_ERR(0, 961, __pyx_L1_error)) + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":965 + * # file descriptor (if this is an actual + * # file) to the zran_export_index function + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'wb') + * except io.UnsupportedOperation: + */ + __Pyx_TraceLine(965,0,__PYX_ERR(0, 965, __pyx_L12_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":966 + * # file) to the zran_export_index function + * try: + * fd = fdopen(fileobj.fileno(), 'wb') # <<<<<<<<<<<<<< + * except io.UnsupportedOperation: + * fd = NULL + */ + __Pyx_TraceLine(966,0,__PYX_ERR(0, 966, __pyx_L14_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_fileno); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 966, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 966, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 966, __pyx_L14_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_fd = fdopen(__pyx_t_7, ((char const *)"wb")); + + /* "indexed_gzip/indexed_gzip.pyx":965 + * # file descriptor (if this is an actual + * # file) to the zran_export_index function + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'wb') + * except io.UnsupportedOperation: + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L19_try_end; + __pyx_L14_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":967 + * try: + * fd = fdopen(fileobj.fileno(), 'wb') + * except io.UnsupportedOperation: # <<<<<<<<<<<<<< + * fd = NULL + * ret = zran.zran_export_index(&self.index, fd, fileobj) + */ + __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L16_except_error)) + __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_8); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_io); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 967, __pyx_L16_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_UnsupportedOperation); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 967, __pyx_L16_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_4, __pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_8); + __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; + if (__pyx_t_7) { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 967, __pyx_L16_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + + /* "indexed_gzip/indexed_gzip.pyx":968 + * fd = fdopen(fileobj.fileno(), 'wb') + * except io.UnsupportedOperation: + * fd = NULL # <<<<<<<<<<<<<< + * ret = zran.zran_export_index(&self.index, fd, fileobj) + * if ret != zran.ZRAN_EXPORT_OK: + */ + __Pyx_TraceLine(968,0,__PYX_ERR(0, 968, __pyx_L16_except_error)) + __pyx_v_fd = NULL; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L15_exception_handled; + } + goto __pyx_L16_except_error; + __pyx_L16_except_error:; + + /* "indexed_gzip/indexed_gzip.pyx":965 + * # file descriptor (if this is an actual + * # file) to the zran_export_index function + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'wb') + * except io.UnsupportedOperation: + */ + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L12_error; + __pyx_L15_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L19_try_end:; + } + + /* "indexed_gzip/indexed_gzip.pyx":969 + * except io.UnsupportedOperation: + * fd = NULL + * ret = zran.zran_export_index(&self.index, fd, fileobj) # <<<<<<<<<<<<<< + * if ret != zran.ZRAN_EXPORT_OK: + * raise ZranError('export_index returned error: {} (file: ' + */ + __Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L12_error)) + __pyx_v_ret = zran_export_index((&__pyx_v_self->index), __pyx_v_fd, ((PyObject *)__pyx_v_fileobj)); + + /* "indexed_gzip/indexed_gzip.pyx":970 + * fd = NULL + * ret = zran.zran_export_index(&self.index, fd, fileobj) + * if ret != zran.ZRAN_EXPORT_OK: # <<<<<<<<<<<<<< + * raise ZranError('export_index returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], + */ + __Pyx_TraceLine(970,0,__PYX_ERR(0, 970, __pyx_L12_error)) + __pyx_t_2 = ((__pyx_v_ret != ZRAN_EXPORT_OK) != 0); + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":971 + * ret = zran.zran_export_index(&self.index, fd, fileobj) + * if ret != zran.ZRAN_EXPORT_OK: + * raise ZranError('export_index returned error: {} (file: ' # <<<<<<<<<<<<<< + * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], + * self.errname)) + */ + __Pyx_TraceLine(971,0,__PYX_ERR(0, 971, __pyx_L12_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 971, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/indexed_gzip.pyx":972 + * if ret != zran.ZRAN_EXPORT_OK: + * raise ZranError('export_index returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], # <<<<<<<<<<<<<< + * self.errname)) + * + */ + __Pyx_TraceLine(972,0,__PYX_ERR(0, 972, __pyx_L12_error)) + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_export_index_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 972, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 972, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ZRAN_EXPORT); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 972, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_ret, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 972, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":973 + * raise ZranError('export_index returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], + * self.errname)) # <<<<<<<<<<<<<< + * + * finally: + */ + __Pyx_TraceLine(973,0,__PYX_ERR(0, 973, __pyx_L12_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 973, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_12)) { + PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_13}; + __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 972, __pyx_L12_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { + PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_13}; + __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 972, __pyx_L12_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + { + __pyx_t_15 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 972, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; + } + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_t_13); + __pyx_t_6 = 0; + __pyx_t_13 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 972, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 971, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 971, __pyx_L12_error) + + /* "indexed_gzip/indexed_gzip.pyx":970 + * fd = NULL + * ret = zran.zran_export_index(&self.index, fd, fileobj) + * if ret != zran.ZRAN_EXPORT_OK: # <<<<<<<<<<<<<< + * raise ZranError('export_index returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], + */ + } + } + + /* "indexed_gzip/indexed_gzip.pyx":976 + * + * finally: + * if close_file: # <<<<<<<<<<<<<< + * fileobj.close() + * + */ + __Pyx_TraceLine(976,0,__PYX_ERR(0, 976, __pyx_L12_error)) + /*finally:*/ { + /*normal exit:*/{ + __pyx_t_2 = (__pyx_v_close_file != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":977 + * finally: + * if close_file: + * fileobj.close() # <<<<<<<<<<<<<< + * + * log.debug('%s.export_index(%s, %s)', + */ + __Pyx_TraceLine(977,0,__PYX_ERR(0, 977, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":976 + * + * finally: + * if close_file: # <<<<<<<<<<<<<< + * fileobj.close() + * + */ + } + goto __pyx_L13; + } + __pyx_L12_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + __pyx_t_7 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; + { + __pyx_t_2 = (__pyx_v_close_file != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":977 + * finally: + * if close_file: + * fileobj.close() # <<<<<<<<<<<<<< + * + * log.debug('%s.export_index(%s, %s)', + */ + __Pyx_TraceLine(977,0,__PYX_ERR(0, 977, __pyx_L25_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":976 + * + * finally: + * if close_file: # <<<<<<<<<<<<<< + * fileobj.close() + * + */ + } + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + } + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ErrRestore(__pyx_t_11, __pyx_t_10, __pyx_t_9); + __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; + __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; + goto __pyx_L1_error; + __pyx_L25_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; + goto __pyx_L1_error; + } + __pyx_L13:; + } + + /* "indexed_gzip/indexed_gzip.pyx":979 + * fileobj.close() + * + * log.debug('%s.export_index(%s, %s)', # <<<<<<<<<<<<<< + * type(self).__name__, + * filename, + */ + __Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 979, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":980 + * + * log.debug('%s.export_index(%s, %s)', + * type(self).__name__, # <<<<<<<<<<<<<< + * filename, + * fileobj) + */ + __Pyx_TraceLine(980,0,__PYX_ERR(0, 980, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 980, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/indexed_gzip.pyx":982 + * type(self).__name__, + * filename, + * fileobj) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(982,0,__PYX_ERR(0, 982, __pyx_L1_error)) + __pyx_t_12 = NULL; + __pyx_t_16 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_16 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_kp_s_s_export_index_s_s, __pyx_t_5, __pyx_v_filename, __pyx_v_fileobj}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 4+__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 979, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_kp_s_s_export_index_s_s, __pyx_t_5, __pyx_v_filename, __pyx_v_fileobj}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 4+__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 979, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_15 = PyTuple_New(4+__pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 979, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_12); __pyx_t_12 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_s_export_index_s_s); + __Pyx_GIVEREF(__pyx_kp_s_s_export_index_s_s); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_16, __pyx_kp_s_s_export_index_s_s); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_16, __pyx_t_5); + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_16, __pyx_v_filename); + __Pyx_INCREF(__pyx_v_fileobj); + __Pyx_GIVEREF(__pyx_v_fileobj); + PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_16, __pyx_v_fileobj); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_15, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 979, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":935 + * + * + * def export_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< + * """Export index data to the given file. Either ``filename`` or + * ``fileobj`` should be specified, but not both. ``fileobj`` should be + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fileobj); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":985 + * + * + * def import_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< + * """Import index data from the given file. Either ``filename`` or + * ``fileobj`` should be specified, but not both. ``fileobj`` should be + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index[] = "_IndexedGzipFile.import_index(self, filename=None, fileobj=None)\nImport index data from the given file. Either ``filename`` or\n ``fileobj`` should be specified, but not both. ``fileobj`` should be\n opened in 'rb' mode.\n\n :arg filename: Name of the file.\n :arg fileobj: Open file handle.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index = {"import_index", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_filename = 0; + PyObject *__pyx_v_fileobj = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("import_index (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_fileobj,0}; + PyObject* values[2] = {0,0}; + values[0] = ((PyObject *)Py_None); + values[1] = ((PyObject *)Py_None); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename); + if (value) { values[0] = value; kw_args--; } + } + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "import_index") < 0)) __PYX_ERR(0, 985, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_filename = values[0]; + __pyx_v_fileobj = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("import_index", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 985, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.import_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_filename, __pyx_v_fileobj); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj) { + int __pyx_v_close_file; + FILE *__pyx_v_fd; + int __pyx_v_ret; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + char const *__pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__37) + __Pyx_RefNannySetupContext("import_index", 0); + __Pyx_TraceCall("import_index", __pyx_f[0], 985, 0, __PYX_ERR(0, 985, __pyx_L1_error)); + __Pyx_INCREF(__pyx_v_fileobj); + + /* "indexed_gzip/indexed_gzip.pyx":994 + * """ + * + * if filename is None and fileobj is None: # <<<<<<<<<<<<<< + * raise ValueError('One of filename or fileobj must be specified') + * + */ + __Pyx_TraceLine(994,0,__PYX_ERR(0, 994, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_filename == Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L4_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_fileobj == Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L4_bool_binop_done:; + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":995 + * + * if filename is None and fileobj is None: + * raise ValueError('One of filename or fileobj must be specified') # <<<<<<<<<<<<<< + * + * if filename is not None and fileobj is not None: + */ + __Pyx_TraceLine(995,0,__PYX_ERR(0, 995, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 995, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 995, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":994 + * """ + * + * if filename is None and fileobj is None: # <<<<<<<<<<<<<< + * raise ValueError('One of filename or fileobj must be specified') + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":997 + * raise ValueError('One of filename or fileobj must be specified') + * + * if filename is not None and fileobj is not None: # <<<<<<<<<<<<<< + * raise ValueError( + * 'Only one of filename or fileobj must be specified') + */ + __Pyx_TraceLine(997,0,__PYX_ERR(0, 997, __pyx_L1_error)) + __pyx_t_2 = (__pyx_v_filename != Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L7_bool_binop_done; + } + __pyx_t_3 = (__pyx_v_fileobj != Py_None); + __pyx_t_2 = (__pyx_t_3 != 0); + __pyx_t_1 = __pyx_t_2; + __pyx_L7_bool_binop_done:; + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":998 + * + * if filename is not None and fileobj is not None: + * raise ValueError( # <<<<<<<<<<<<<< + * 'Only one of filename or fileobj must be specified') + * + */ + __Pyx_TraceLine(998,0,__PYX_ERR(0, 998, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 998, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 998, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":997 + * raise ValueError('One of filename or fileobj must be specified') + * + * if filename is not None and fileobj is not None: # <<<<<<<<<<<<<< + * raise ValueError( + * 'Only one of filename or fileobj must be specified') + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":1001 + * 'Only one of filename or fileobj must be specified') + * + * if filename is not None: # <<<<<<<<<<<<<< + * fileobj = builtin_open(filename, 'rb') + * close_file = True + */ + __Pyx_TraceLine(1001,0,__PYX_ERR(0, 1001, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_filename != Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":1002 + * + * if filename is not None: + * fileobj = builtin_open(filename, 'rb') # <<<<<<<<<<<<<< + * close_file = True + * + */ + __Pyx_TraceLine(1002,0,__PYX_ERR(0, 1002, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_builtin_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1002, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_filename, __pyx_n_s_rb}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1002, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_filename, __pyx_n_s_rb}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1002, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1002, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_filename); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_n_s_rb); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1002, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_fileobj, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1003 + * if filename is not None: + * fileobj = builtin_open(filename, 'rb') + * close_file = True # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L1_error)) + __pyx_v_close_file = 1; + + /* "indexed_gzip/indexed_gzip.pyx":1001 + * 'Only one of filename or fileobj must be specified') + * + * if filename is not None: # <<<<<<<<<<<<<< + * fileobj = builtin_open(filename, 'rb') + * close_file = True + */ + goto __pyx_L9; + } + + /* "indexed_gzip/indexed_gzip.pyx":1006 + * + * else: + * close_file = False # <<<<<<<<<<<<<< + * if getattr(fileobj, 'mode', 'rb') != 'rb': + * raise ValueError( + */ + __Pyx_TraceLine(1006,0,__PYX_ERR(0, 1006, __pyx_L1_error)) + /*else*/ { + __pyx_v_close_file = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1007 + * else: + * close_file = False + * if getattr(fileobj, 'mode', 'rb') != 'rb': # <<<<<<<<<<<<<< + * raise ValueError( + * 'File should be opened read-only binary mode.') + */ + __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L1_error)) + __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_fileobj, __pyx_n_s_mode, __pyx_n_s_rb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1007, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1007, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":1008 + * close_file = False + * if getattr(fileobj, 'mode', 'rb') != 'rb': + * raise ValueError( # <<<<<<<<<<<<<< + * 'File should be opened read-only binary mode.') + * + */ + __Pyx_TraceLine(1008,0,__PYX_ERR(0, 1008, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1008, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 1008, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":1007 + * else: + * close_file = False + * if getattr(fileobj, 'mode', 'rb') != 'rb': # <<<<<<<<<<<<<< + * raise ValueError( + * 'File should be opened read-only binary mode.') + */ + } + } + __pyx_L9:; + + /* "indexed_gzip/indexed_gzip.pyx":1011 + * 'File should be opened read-only binary mode.') + * + * try: # <<<<<<<<<<<<<< + * # Pass both the Python file object and + * # file descriptor (if this is an actual + */ + __Pyx_TraceLine(1011,0,__PYX_ERR(0, 1011, __pyx_L1_error)) + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":1015 + * # file descriptor (if this is an actual + * # file) to the zran_import_index function + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: + */ + __Pyx_TraceLine(1015,0,__PYX_ERR(0, 1015, __pyx_L12_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + + /* "indexed_gzip/indexed_gzip.pyx":1016 + * # file) to the zran_import_index function + * try: + * fd = fdopen(fileobj.fileno(), 'rb') # <<<<<<<<<<<<<< + * except io.UnsupportedOperation: + * fd = NULL + */ + __Pyx_TraceLine(1016,0,__PYX_ERR(0, 1016, __pyx_L14_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_fileno); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1016, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1016, __pyx_L14_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1016, __pyx_L14_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_fd = fdopen(__pyx_t_7, ((char const *)"rb")); + + /* "indexed_gzip/indexed_gzip.pyx":1015 + * # file descriptor (if this is an actual + * # file) to the zran_import_index function + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L19_try_end; + __pyx_L14_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1017 + * try: + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: # <<<<<<<<<<<<<< + * fd = NULL + * ret = zran.zran_import_index(&self.index, fd, fileobj) + */ + __Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L16_except_error)) + __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_8); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_io); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1017, __pyx_L16_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_UnsupportedOperation); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1017, __pyx_L16_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_7 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_4, __pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_8); + __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; + if (__pyx_t_7) { + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.import_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 1017, __pyx_L16_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + + /* "indexed_gzip/indexed_gzip.pyx":1018 + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: + * fd = NULL # <<<<<<<<<<<<<< + * ret = zran.zran_import_index(&self.index, fd, fileobj) + * if ret != zran.ZRAN_IMPORT_OK: + */ + __Pyx_TraceLine(1018,0,__PYX_ERR(0, 1018, __pyx_L16_except_error)) + __pyx_v_fd = NULL; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L15_exception_handled; + } + goto __pyx_L16_except_error; + __pyx_L16_except_error:; + + /* "indexed_gzip/indexed_gzip.pyx":1015 + * # file descriptor (if this is an actual + * # file) to the zran_import_index function + * try: # <<<<<<<<<<<<<< + * fd = fdopen(fileobj.fileno(), 'rb') + * except io.UnsupportedOperation: + */ + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L12_error; + __pyx_L15_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L19_try_end:; + } + + /* "indexed_gzip/indexed_gzip.pyx":1019 + * except io.UnsupportedOperation: + * fd = NULL + * ret = zran.zran_import_index(&self.index, fd, fileobj) # <<<<<<<<<<<<<< + * if ret != zran.ZRAN_IMPORT_OK: + * raise ZranError('import_index returned error: {} (file: ' + */ + __Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L12_error)) + __pyx_v_ret = zran_import_index((&__pyx_v_self->index), __pyx_v_fd, ((PyObject *)__pyx_v_fileobj)); + + /* "indexed_gzip/indexed_gzip.pyx":1020 + * fd = NULL + * ret = zran.zran_import_index(&self.index, fd, fileobj) + * if ret != zran.ZRAN_IMPORT_OK: # <<<<<<<<<<<<<< + * raise ZranError('import_index returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], + */ + __Pyx_TraceLine(1020,0,__PYX_ERR(0, 1020, __pyx_L12_error)) + __pyx_t_2 = ((__pyx_v_ret != ZRAN_IMPORT_OK) != 0); + if (unlikely(__pyx_t_2)) { + + /* "indexed_gzip/indexed_gzip.pyx":1021 + * ret = zran.zran_import_index(&self.index, fd, fileobj) + * if ret != zran.ZRAN_IMPORT_OK: + * raise ZranError('import_index returned error: {} (file: ' # <<<<<<<<<<<<<< + * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], + * self.errname)) + */ + __Pyx_TraceLine(1021,0,__PYX_ERR(0, 1021, __pyx_L12_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1021, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/indexed_gzip.pyx":1022 + * if ret != zran.ZRAN_IMPORT_OK: + * raise ZranError('import_index returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], # <<<<<<<<<<<<<< + * self.errname)) + * + */ + __Pyx_TraceLine(1022,0,__PYX_ERR(0, 1022, __pyx_L12_error)) + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_import_index_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1022, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1022, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ZRAN_IMPORT); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1022, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_ret, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1022, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1023 + * raise ZranError('import_index returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], + * self.errname)) # <<<<<<<<<<<<<< + * + * self.skip_crc_check = True + */ + __Pyx_TraceLine(1023,0,__PYX_ERR(0, 1023, __pyx_L12_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1023, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_12)) { + PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_13}; + __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1022, __pyx_L12_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { + PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_13}; + __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1022, __pyx_L12_error) + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else + #endif + { + __pyx_t_15 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1022, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; + } + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_13); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_t_13); + __pyx_t_6 = 0; + __pyx_t_13 = 0; + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1022, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1021, __pyx_L12_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 1021, __pyx_L12_error) + + /* "indexed_gzip/indexed_gzip.pyx":1020 + * fd = NULL + * ret = zran.zran_import_index(&self.index, fd, fileobj) + * if ret != zran.ZRAN_IMPORT_OK: # <<<<<<<<<<<<<< + * raise ZranError('import_index returned error: {} (file: ' + * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":1025 + * self.errname)) + * + * self.skip_crc_check = True # <<<<<<<<<<<<<< + * + * finally: + */ + __Pyx_TraceLine(1025,0,__PYX_ERR(0, 1025, __pyx_L12_error)) + __pyx_v_self->skip_crc_check = 1; + } + + /* "indexed_gzip/indexed_gzip.pyx":1028 + * + * finally: + * if close_file: # <<<<<<<<<<<<<< + * fileobj.close() + * + */ + __Pyx_TraceLine(1028,0,__PYX_ERR(0, 1028, __pyx_L12_error)) + /*finally:*/ { + /*normal exit:*/{ + __pyx_t_2 = (__pyx_v_close_file != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":1029 + * finally: + * if close_file: + * fileobj.close() # <<<<<<<<<<<<<< + * + * log.debug('%s.import_index(%s, %s)', + */ + __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1029, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1028 + * + * finally: + * if close_file: # <<<<<<<<<<<<<< + * fileobj.close() + * + */ + } + goto __pyx_L13; + } + __pyx_L12_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + __pyx_t_7 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; + { + __pyx_t_2 = (__pyx_v_close_file != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/indexed_gzip.pyx":1029 + * finally: + * if close_file: + * fileobj.close() # <<<<<<<<<<<<<< + * + * log.debug('%s.import_index(%s, %s)', + */ + __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L25_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_8)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_8); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1029, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1028 + * + * finally: + * if close_file: # <<<<<<<<<<<<<< + * fileobj.close() + * + */ + } + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + } + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ErrRestore(__pyx_t_11, __pyx_t_10, __pyx_t_9); + __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; + __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; + goto __pyx_L1_error; + __pyx_L25_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; + goto __pyx_L1_error; + } + __pyx_L13:; + } + + /* "indexed_gzip/indexed_gzip.pyx":1031 + * fileobj.close() + * + * log.debug('%s.import_index(%s, %s)', # <<<<<<<<<<<<<< + * type(self).__name__, + * filename, + */ + __Pyx_TraceLine(1031,0,__PYX_ERR(0, 1031, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1031, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1031, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1032 + * + * log.debug('%s.import_index(%s, %s)', + * type(self).__name__, # <<<<<<<<<<<<<< + * filename, + * fileobj) + */ + __Pyx_TraceLine(1032,0,__PYX_ERR(0, 1032, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1032, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/indexed_gzip.pyx":1034 + * type(self).__name__, + * filename, + * fileobj) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1034,0,__PYX_ERR(0, 1034, __pyx_L1_error)) + __pyx_t_12 = NULL; + __pyx_t_16 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + __pyx_t_16 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_kp_s_s_import_index_s_s, __pyx_t_5, __pyx_v_filename, __pyx_v_fileobj}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 4+__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1031, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { + PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_kp_s_s_import_index_s_s, __pyx_t_5, __pyx_v_filename, __pyx_v_fileobj}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 4+__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1031, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_15 = PyTuple_New(4+__pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1031, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_12); __pyx_t_12 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_s_import_index_s_s); + __Pyx_GIVEREF(__pyx_kp_s_s_import_index_s_s); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_16, __pyx_kp_s_s_import_index_s_s); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_16, __pyx_t_5); + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_16, __pyx_v_filename); + __Pyx_INCREF(__pyx_v_fileobj); + __Pyx_GIVEREF(__pyx_v_fileobj); + PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_16, __pyx_v_fileobj); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_15, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1031, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":985 + * + * + * def import_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< + * """Import index data from the given file. Either ``filename`` or + * ``fileobj`` should be specified, but not both. ``fileobj`` should be + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.import_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fileobj); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":231 + * + * + * cdef readonly uint32_t spacing # <<<<<<<<<<<<<< + * """Number of bytes between index seek points. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 231, 0, __PYX_ERR(0, 231, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->spacing); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.spacing.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":235 + * + * + * cdef readonly uint32_t window_size # <<<<<<<<<<<<<< + * """Number of bytes of uncompressed data stored with each seek point.""" + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 235, 0, __PYX_ERR(0, 235, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->window_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.window_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":239 + * + * + * cdef readonly uint32_t readbuf_size # <<<<<<<<<<<<<< + * """Size of buffer in bytes for storing compressed data read in from the + * file. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 239, 0, __PYX_ERR(0, 239, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->readbuf_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readbuf_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":245 + * + * + * cdef readonly unsigned int readall_buf_size # <<<<<<<<<<<<<< + * """Size of buffer in bytes used by :meth:`read` when reading until EOF. + * """ + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 245, 0, __PYX_ERR(0, 245, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->readall_buf_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readall_buf_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":250 + * + * + * cdef readonly bint auto_build # <<<<<<<<<<<<<< + * """Flag which is set to ``True`` if the file index is built automatically + * on seeks/reads. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 250, 0, __PYX_ERR(0, 250, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->auto_build); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.auto_build.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":256 + * + * + * cdef readonly bint skip_crc_check # <<<<<<<<<<<<<< + * """Flag which is set to ``True`` if CRC/size validation of uncompressed + * data is disabled. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 256, 0, __PYX_ERR(0, 256, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->skip_crc_check); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.skip_crc_check.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":262 + * + * + * cdef readonly object filename # <<<<<<<<<<<<<< + * """String containing path of file being indexed. Used to release and + * reopen file handles between seeks and reads. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 262, 0, __PYX_ERR(0, 262, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_self->filename); + __pyx_r = __pyx_v_self->filename; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.filename.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":269 + * + * + * cdef readonly bint own_file # <<<<<<<<<<<<<< + * """Flag which tracks whether this ``_IndexedGzipFile`` has opened its + * own file handle, or was given one. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 269, 0, __PYX_ERR(0, 269, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->own_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.own_file.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":275 + * + * + * cdef readonly bint drop_handles # <<<<<<<<<<<<<< + * """Copy of the ``drop_handles`` flag as passed to :meth:`__cinit__`. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__get__", 0); + __Pyx_TraceCall("__get__", __pyx_f[0], 275, 0, __PYX_ERR(0, 275, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->drop_handles); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.drop_handles.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__[] = "_IndexedGzipFile.__reduce_cython__(self)"; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__39) + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 1, __pyx_L1_error)); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("self.index cannot be converted to a Python object for pickling") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("self.index cannot be converted to a Python object for pickling") + */ + __Pyx_TraceLine(2,0,__PYX_ERR(1, 2, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 2, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("self.index cannot be converted to a Python object for pickling") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__[] = "_IndexedGzipFile.__setstate_cython__(self, __pyx_state)"; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__41) + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 3, __pyx_L1_error)); + + /* "(tree fragment)":4 + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("self.index cannot be converted to a Python object for pickling") # <<<<<<<<<<<<<< + */ + __Pyx_TraceLine(4,0,__PYX_ERR(1, 4, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 4, __pyx_L1_error) + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("self.index cannot be converted to a Python object for pickling") + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":1051 + * + * + * def __cinit__(self, size_t size): # <<<<<<<<<<<<<< + * """Allocate ``size`` bytes of memory. """ + * + */ + +/* Python wrapper */ +static int __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + size_t __pyx_v_size; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,0}; + PyObject* values[1] = {0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 1051, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + } + __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1051, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1051, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer___cinit__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self), __pyx_v_size); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static int __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer___cinit__(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, size_t __pyx_v_size) { + int __pyx_r; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__cinit__", 0); + __Pyx_TraceCall("__cinit__", __pyx_f[0], 1051, 0, __PYX_ERR(0, 1051, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":1054 + * """Allocate ``size`` bytes of memory. """ + * + * self.size = size # <<<<<<<<<<<<<< + * self.buffer = PyMem_Malloc(size) + * + */ + __Pyx_TraceLine(1054,0,__PYX_ERR(0, 1054, __pyx_L1_error)) + __pyx_v_self->size = __pyx_v_size; + + /* "indexed_gzip/indexed_gzip.pyx":1055 + * + * self.size = size + * self.buffer = PyMem_Malloc(size) # <<<<<<<<<<<<<< + * + * if not self.buffer: + */ + __Pyx_TraceLine(1055,0,__PYX_ERR(0, 1055, __pyx_L1_error)) + __pyx_v_self->buffer = PyMem_Malloc(__pyx_v_size); + + /* "indexed_gzip/indexed_gzip.pyx":1057 + * self.buffer = PyMem_Malloc(size) + * + * if not self.buffer: # <<<<<<<<<<<<<< + * raise MemoryError('PyMem_Malloc fail') + * + */ + __Pyx_TraceLine(1057,0,__PYX_ERR(0, 1057, __pyx_L1_error)) + __pyx_t_1 = ((!(__pyx_v_self->buffer != 0)) != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":1058 + * + * if not self.buffer: + * raise MemoryError('PyMem_Malloc fail') # <<<<<<<<<<<<<< + * + * log.debug('ReadBuffer.__cinit__(%s)', size) + */ + __Pyx_TraceLine(1058,0,__PYX_ERR(0, 1058, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1058, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 1058, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":1057 + * self.buffer = PyMem_Malloc(size) + * + * if not self.buffer: # <<<<<<<<<<<<<< + * raise MemoryError('PyMem_Malloc fail') + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":1060 + * raise MemoryError('PyMem_Malloc fail') + * + * log.debug('ReadBuffer.__cinit__(%s)', size) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1060,0,__PYX_ERR(0, 1060, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1060, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1060, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1060, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_ReadBuffer___cinit___s, __pyx_t_3}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_ReadBuffer___cinit___s, __pyx_t_3}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1060, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_ReadBuffer___cinit___s); + __Pyx_GIVEREF(__pyx_kp_s_ReadBuffer___cinit___s); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_ReadBuffer___cinit___s); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1051 + * + * + * def __cinit__(self, size_t size): # <<<<<<<<<<<<<< + * """Allocate ``size`` bytes of memory. """ + * + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":1063 + * + * + * def resize(self, size_t size): # <<<<<<<<<<<<<< + * """Re-allocate the memory to the given ``size``. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize[] = "ReadBuffer.resize(self, size_t size)\nRe-allocate the memory to the given ``size``. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize = {"resize", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { + size_t __pyx_v_size; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("resize (wrapper)", 0); + assert(__pyx_arg_size); { + __pyx_v_size = __Pyx_PyInt_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1063, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.resize", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self), ((size_t)__pyx_v_size)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, size_t __pyx_v_size) { + void *__pyx_v_buf; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__44) + __Pyx_RefNannySetupContext("resize", 0); + __Pyx_TraceCall("resize", __pyx_f[0], 1063, 0, __PYX_ERR(0, 1063, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":1066 + * """Re-allocate the memory to the given ``size``. """ + * + * if size == self.size: # <<<<<<<<<<<<<< + * return + * + */ + __Pyx_TraceLine(1066,0,__PYX_ERR(0, 1066, __pyx_L1_error)) + __pyx_t_1 = ((__pyx_v_size == __pyx_v_self->size) != 0); + if (__pyx_t_1) { + + /* "indexed_gzip/indexed_gzip.pyx":1067 + * + * if size == self.size: + * return # <<<<<<<<<<<<<< + * + * buf = PyMem_Realloc(self.buffer, size) + */ + __Pyx_TraceLine(1067,0,__PYX_ERR(0, 1067, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":1066 + * """Re-allocate the memory to the given ``size``. """ + * + * if size == self.size: # <<<<<<<<<<<<<< + * return + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":1069 + * return + * + * buf = PyMem_Realloc(self.buffer, size) # <<<<<<<<<<<<<< + * + * if not buf: + */ + __Pyx_TraceLine(1069,0,__PYX_ERR(0, 1069, __pyx_L1_error)) + __pyx_v_buf = PyMem_Realloc(__pyx_v_self->buffer, __pyx_v_size); + + /* "indexed_gzip/indexed_gzip.pyx":1071 + * buf = PyMem_Realloc(self.buffer, size) + * + * if not buf: # <<<<<<<<<<<<<< + * raise MemoryError('PyMem_Realloc fail') + * + */ + __Pyx_TraceLine(1071,0,__PYX_ERR(0, 1071, __pyx_L1_error)) + __pyx_t_1 = ((!(__pyx_v_buf != 0)) != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/indexed_gzip.pyx":1072 + * + * if not buf: + * raise MemoryError('PyMem_Realloc fail') # <<<<<<<<<<<<<< + * + * log.debug('ReadBuffer.resize(%s)', size) + */ + __Pyx_TraceLine(1072,0,__PYX_ERR(0, 1072, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1072, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 1072, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":1071 + * buf = PyMem_Realloc(self.buffer, size) + * + * if not buf: # <<<<<<<<<<<<<< + * raise MemoryError('PyMem_Realloc fail') + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":1074 + * raise MemoryError('PyMem_Realloc fail') + * + * log.debug('ReadBuffer.resize(%s)', size) # <<<<<<<<<<<<<< + * + * self.size = size + */ + __Pyx_TraceLine(1074,0,__PYX_ERR(0, 1074, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1074, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1074, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1074, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_ReadBuffer_resize_s, __pyx_t_3}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_ReadBuffer_resize_s, __pyx_t_3}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1074, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_kp_s_ReadBuffer_resize_s); + __Pyx_GIVEREF(__pyx_kp_s_ReadBuffer_resize_s); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_ReadBuffer_resize_s); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1076 + * log.debug('ReadBuffer.resize(%s)', size) + * + * self.size = size # <<<<<<<<<<<<<< + * self.buffer = buf + * + */ + __Pyx_TraceLine(1076,0,__PYX_ERR(0, 1076, __pyx_L1_error)) + __pyx_v_self->size = __pyx_v_size; + + /* "indexed_gzip/indexed_gzip.pyx":1077 + * + * self.size = size + * self.buffer = buf # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1077,0,__PYX_ERR(0, 1077, __pyx_L1_error)) + __pyx_v_self->buffer = __pyx_v_buf; + + /* "indexed_gzip/indexed_gzip.pyx":1063 + * + * + * def resize(self, size_t size): # <<<<<<<<<<<<<< + * """Re-allocate the memory to the given ``size``. """ + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.resize", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":1080 + * + * + * def __dealloc__(self): # <<<<<<<<<<<<<< + * """Free the mwmory. """ + * PyMem_Free(self.buffer) + */ + +/* Python wrapper */ +static void __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_5__dealloc__(PyObject *__pyx_v_self); /*proto*/ +static void __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_5__dealloc__(PyObject *__pyx_v_self) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); + __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_4__dealloc__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +static void __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_4__dealloc__(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self) { + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__dealloc__", 0); + __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1080, 0, __PYX_ERR(0, 1080, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":1082 + * def __dealloc__(self): + * """Free the mwmory. """ + * PyMem_Free(self.buffer) # <<<<<<<<<<<<<< + * + * log.debug('ReadBuffer.__dealloc__()') + */ + __Pyx_TraceLine(1082,0,__PYX_ERR(0, 1082, __pyx_L1_error)) + PyMem_Free(__pyx_v_self->buffer); + + /* "indexed_gzip/indexed_gzip.pyx":1084 + * PyMem_Free(self.buffer) + * + * log.debug('ReadBuffer.__dealloc__()') # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1084,0,__PYX_ERR(0, 1084, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1084, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_s_ReadBuffer___dealloc) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_ReadBuffer___dealloc); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1080 + * + * + * def __dealloc__(self): # <<<<<<<<<<<<<< + * """Free the mwmory. """ + * PyMem_Free(self.buffer) + */ + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_WriteUnraisable("indexed_gzip.indexed_gzip.ReadBuffer.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__[] = "ReadBuffer.__reduce_cython__(self)"; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__46) + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 1, __pyx_L1_error)); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __Pyx_TraceLine(2,0,__PYX_ERR(1, 2, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 2, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__[] = "ReadBuffer.__setstate_cython__(self, __pyx_state)"; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__48) + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 3, __pyx_L1_error)); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __Pyx_TraceLine(4,0,__PYX_ERR(1, 4, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 4, __pyx_L1_error) + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/indexed_gzip.pyx":1087 + * + * + * def unpickle(state): # <<<<<<<<<<<<<< + * """Create a new ``IndexedGzipFile`` from a pickled state. + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_3unpickle(PyObject *__pyx_self, PyObject *__pyx_v_state); /*proto*/ +static char __pyx_doc_12indexed_gzip_12indexed_gzip_2unpickle[] = "unpickle(state)\nCreate a new ``IndexedGzipFile`` from a pickled state.\n\n :arg state: State of a pickled object, as returned by the\n ``IndexedGzipFile.__reduce__`` method.\n\n :returns: A new ``IndexedGzipFile`` object.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_3unpickle = {"unpickle", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_3unpickle, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_2unpickle}; +static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_3unpickle(PyObject *__pyx_self, PyObject *__pyx_v_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("unpickle (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_2unpickle(__pyx_self, ((PyObject *)__pyx_v_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_2unpickle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state) { + PyObject *__pyx_v_tell = NULL; + PyObject *__pyx_v_index = NULL; + PyObject *__pyx_v_gzobj = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__50) + __Pyx_RefNannySetupContext("unpickle", 0); + __Pyx_TraceCall("unpickle", __pyx_f[0], 1087, 0, __PYX_ERR(0, 1087, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":1096 + * """ + * + * tell = state.pop('tell') # <<<<<<<<<<<<<< + * index = state.pop('index') + * gzobj = IndexedGzipFile(**state) + */ + __Pyx_TraceLine(1096,0,__PYX_ERR(0, 1096, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_state, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_tell) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_tell); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1096, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_tell = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1097 + * + * tell = state.pop('tell') + * index = state.pop('index') # <<<<<<<<<<<<<< + * gzobj = IndexedGzipFile(**state) + * + */ + __Pyx_TraceLine(1097,0,__PYX_ERR(0, 1097, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_state, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1097, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_index) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_index); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_index = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1098 + * tell = state.pop('tell') + * index = state.pop('index') + * gzobj = IndexedGzipFile(**state) # <<<<<<<<<<<<<< + * + * if index is not None: + */ + __Pyx_TraceLine(1098,0,__PYX_ERR(0, 1098, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(__pyx_v_state == Py_None)) { + PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); + __PYX_ERR(0, 1098, __pyx_L1_error) + } + if (likely(PyDict_CheckExact(__pyx_v_state))) { + __pyx_t_2 = PyDict_Copy(__pyx_v_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + } else { + __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_state, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + } + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_gzobj = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1100 + * gzobj = IndexedGzipFile(**state) + * + * if index is not None: # <<<<<<<<<<<<<< + * gzobj.import_index(fileobj=io.BytesIO(index)) + * + */ + __Pyx_TraceLine(1100,0,__PYX_ERR(0, 1100, __pyx_L1_error)) + __pyx_t_4 = (__pyx_v_index != Py_None); + __pyx_t_5 = (__pyx_t_4 != 0); + if (__pyx_t_5) { + + /* "indexed_gzip/indexed_gzip.pyx":1101 + * + * if index is not None: + * gzobj.import_index(fileobj=io.BytesIO(index)) # <<<<<<<<<<<<<< + * + * gzobj.seek(tell) + */ + __Pyx_TraceLine(1101,0,__PYX_ERR(0, 1101, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzobj, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_io); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_v_index) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_index); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_t_1) < 0) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1100 + * gzobj = IndexedGzipFile(**state) + * + * if index is not None: # <<<<<<<<<<<<<< + * gzobj.import_index(fileobj=io.BytesIO(index)) + * + */ + } + + /* "indexed_gzip/indexed_gzip.pyx":1103 + * gzobj.import_index(fileobj=io.BytesIO(index)) + * + * gzobj.seek(tell) # <<<<<<<<<<<<<< + * + * return gzobj + */ + __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzobj, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1103, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_tell) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_tell); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1103, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1105 + * gzobj.seek(tell) + * + * return gzobj # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1105,0,__PYX_ERR(0, 1105, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_gzobj); + __pyx_r = __pyx_v_gzobj; + goto __pyx_L0; + + /* "indexed_gzip/indexed_gzip.pyx":1087 + * + * + * def unpickle(state): # <<<<<<<<<<<<<< + * """Create a new ``IndexedGzipFile`` from a pickled state. + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.indexed_gzip.unpickle", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_tell); + __Pyx_XDECREF(__pyx_v_index); + __Pyx_XDECREF(__pyx_v_gzobj); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)o); + p->filename = Py_None; Py_INCREF(Py_None); + p->pyfid = Py_None; Py_INCREF(Py_None); + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyObject *o) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); + __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_26__dealloc__(o); + __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->filename); + Py_CLEAR(p->pyfid); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)o; + if (p->filename) { + e = (*v)(p->filename, a); if (e) return e; + } + if (p->pyfid) { + e = (*v)(p->pyfid, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)o; + tmp = ((PyObject*)p->filename); + p->filename = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->pyfid); + p->pyfid = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_errname(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_npoints(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_mode(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_closed(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_spacing(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_window_size(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_readbuf_size(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_readall_buf_size(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_auto_build(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_skip_crc_check(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_filename(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_own_file(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file_1__get__(o); +} + +static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_drop_handles(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles_1__get__(o); +} + +static PyObject *__pyx_specialmethod___pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__(PyObject *self, CYTHON_UNUSED PyObject *arg) {return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__(self);} + +static PyMethodDef __pyx_methods_12indexed_gzip_12indexed_gzip__IndexedGzipFile[] = { + {"__file_handle", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle}, + {"seek_points", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points}, + {"fileno", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno}, + {"fileobj", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj}, + {"close", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close}, + {"readable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable}, + {"writable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable}, + {"seekable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable}, + {"tell", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell}, + {"__enter__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__}, + {"__exit__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__}, + {"build_full_index", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index}, + {"seek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek}, + {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read}, + {"readinto", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto}, + {"pread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread}, + {"readline", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline}, + {"readlines", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines}, + {"__next__", (PyCFunction)__pyx_specialmethod___pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__, METH_NOARGS|METH_COEXIST, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__}, + {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write}, + {"flush", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush}, + {"export_index", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index}, + {"import_index", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__}, + {0, 0, 0, 0} +}; + +static struct PyGetSetDef __pyx_getsets_12indexed_gzip_12indexed_gzip__IndexedGzipFile[] = { + {(char *)"errname", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_errname, 0, (char *)"Used in exception messages. Returns the file name associated with\n this ``_IndexedGzipFile``, or ``'n/a'`` if a file name cannot be\n identified.\n ", 0}, + {(char *)"npoints", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_npoints, 0, (char *)"Returns the number of index points that have been created. ", 0}, + {(char *)"mode", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_mode, 0, (char *)"Returns the mode that this file was opened in. Currently always\n returns ``'rb'``.\n ", 0}, + {(char *)"closed", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_closed, 0, (char *)"Returns ``True`` if this ``_IndexedGzipFile`` is closed, ``False``\n otherwise.\n ", 0}, + {(char *)"spacing", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_spacing, 0, (char *)"Number of bytes between index seek points. ", 0}, + {(char *)"window_size", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_window_size, 0, (char *)"Number of bytes of uncompressed data stored with each seek point.", 0}, + {(char *)"readbuf_size", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_readbuf_size, 0, (char *)"Size of buffer in bytes for storing compressed data read in from the\n file.\n ", 0}, + {(char *)"readall_buf_size", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_readall_buf_size, 0, (char *)"Size of buffer in bytes used by :meth:`read` when reading until EOF.\n ", 0}, + {(char *)"auto_build", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_auto_build, 0, (char *)"Flag which is set to ``True`` if the file index is built automatically\n on seeks/reads.\n ", 0}, + {(char *)"skip_crc_check", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_skip_crc_check, 0, (char *)"Flag which is set to ``True`` if CRC/size validation of uncompressed\n data is disabled.\n ", 0}, + {(char *)"filename", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_filename, 0, (char *)"String containing path of file being indexed. Used to release and\n reopen file handles between seeks and reads.\n Set to ``None`` if file handle is passed.\n ", 0}, + {(char *)"own_file", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_own_file, 0, (char *)"Flag which tracks whether this ``_IndexedGzipFile`` has opened its\n own file handle, or was given one.\n ", 0}, + {(char *)"drop_handles", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_drop_handles, 0, (char *)"Copy of the ``drop_handles`` flag as passed to :meth:`__cinit__`. ", 0}, + {0, 0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.indexed_gzip._IndexedGzipFile", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "_IndexedGzipFile(filename=None, fileobj=None, mode=None, auto_build=True, spacing=4194304, window_size=32768, readbuf_size=1048576, readall_buf_size=16777216, drop_handles=True, index_file=None, skip_crc_check=False)\nThe ``_IndexedGzipFile`` class allows for fast random access of a gzip\n file by using the ``zran`` library to build and maintain an index of seek\n points into the file.\n\n .. note:: The :meth:`seek` and :meth:`read` methods release the GIL while\n calling ``zran`` functions, but the ``_IndexedGzipFile`` is *not*\n thread-safe. Use the ``IndexedGzipFile`` class (i.e. without the\n leading underscore) if you need thread-safety.\n ", /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_traverse*/ + __pyx_tp_clear_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_42__iter__, /*tp_iter*/ + __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__, /*tp_iternext*/ + __pyx_methods_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_methods*/ + 0, /*tp_members*/ + __pyx_getsets_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_1__init__, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip_ReadBuffer(PyTypeObject *t, PyObject *a, PyObject *k) { + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + if (unlikely(__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_1__cinit__(o, a, k) < 0)) goto bad; + return o; + bad: + Py_DECREF(o); o = 0; + return NULL; +} + +static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip_ReadBuffer(PyObject *o) { + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); + __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_5__dealloc__(o); + __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + (*Py_TYPE(o)->tp_free)(o); +} + +static PyMethodDef __pyx_methods_12indexed_gzip_12indexed_gzip_ReadBuffer[] = { + {"resize", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.indexed_gzip.ReadBuffer", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip_ReadBuffer, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ + "Wrapper around a chunk of memory.\n\n .. see:: http://docs.cython.org/src/tutorial/memory_allocation.html\n ", /*tp_doc*/ + 0, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_12indexed_gzip_12indexed_gzip_ReadBuffer, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_12indexed_gzip_ReadBuffer, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle[8]; +static int __pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle = 0; + +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle)))) { + o = (PyObject*)__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle[--__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle]; + memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyObject *o) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v_self); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle)))) { + __pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle[__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle++] = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)o; + if (p->__pyx_v_self) { + e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)o; + tmp = ((PyObject*)p->__pyx_v_self); + p->__pyx_v_self = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.indexed_gzip.__pyx_scope_struct____file_handle", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, /*tp_traverse*/ + __pyx_tp_clear_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy[8]; +static int __pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy = 0; + +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy)))) { + o = (PyObject*)__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy[--__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy]; + memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(PyObject *o) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_outer_scope); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy)))) { + __pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy[__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy++] = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)o; + if (p->__pyx_outer_scope) { + e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e; + } + return 0; +} + +static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.indexed_gzip.__pyx_scope_struct_1_proxy", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points[8]; +static int __pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points = 0; + +static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points)))) { + o = (PyObject*)__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points[--__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points]; + memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(PyObject *o) { + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v_self); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points)))) { + __pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points[__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points++] = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)o; + if (p->__pyx_v_self) { + e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e; + } + return 0; +} + +static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.indexed_gzip.__pyx_scope_struct_2_seek_points", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points, /*tp_traverse*/ + 0, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_indexed_gzip(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_indexed_gzip}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "indexed_gzip", + __pyx_k_This_module_provides_the_class_I, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_n_s_BufferedReader, __pyx_k_BufferedReader, sizeof(__pyx_k_BufferedReader), 0, 0, 1, 1}, + {&__pyx_n_s_BytesIO, __pyx_k_BytesIO, sizeof(__pyx_k_BytesIO), 0, 0, 1, 1}, + {&__pyx_kp_s_CRC_size_validation_failed_the_G, __pyx_k_CRC_size_validation_failed_the_G, sizeof(__pyx_k_CRC_size_validation_failed_the_G), 0, 0, 1, 0}, + {&__pyx_kp_s_Cannot_pickle_IndexedGzipFile_th, __pyx_k_Cannot_pickle_IndexedGzipFile_th, sizeof(__pyx_k_Cannot_pickle_IndexedGzipFile_th), 0, 0, 1, 0}, + {&__pyx_kp_s_Contains_text_versions_of_all_er, __pyx_k_Contains_text_versions_of_all_er, sizeof(__pyx_k_Contains_text_versions_of_all_er), 0, 0, 1, 0}, + {&__pyx_n_s_CrcError, __pyx_k_CrcError, sizeof(__pyx_k_CrcError), 0, 0, 1, 1}, + {&__pyx_kp_s_Exception_raised_by_the_class__I, __pyx_k_Exception_raised_by_the_class__I, sizeof(__pyx_k_Exception_raised_by_the_class__I), 0, 0, 1, 0}, + {&__pyx_kp_s_Exception_raised_by_the_class__I_2, __pyx_k_Exception_raised_by_the_class__I_2, sizeof(__pyx_k_Exception_raised_by_the_class__I_2), 0, 0, 1, 0}, + {&__pyx_kp_s_Exception_raised_by_the_class__I_3, __pyx_k_Exception_raised_by_the_class__I_3, sizeof(__pyx_k_Exception_raised_by_the_class__I_3), 0, 0, 1, 0}, + {&__pyx_kp_s_Exception_raised_by_the_class__I_4, __pyx_k_Exception_raised_by_the_class__I_4, sizeof(__pyx_k_Exception_raised_by_the_class__I_4), 0, 0, 1, 0}, + {&__pyx_kp_s_File_does_not_exist, __pyx_k_File_does_not_exist, sizeof(__pyx_k_File_does_not_exist), 0, 0, 1, 0}, + {&__pyx_kp_s_File_should_be_opened_in_writeab, __pyx_k_File_should_be_opened_in_writeab, sizeof(__pyx_k_File_should_be_opened_in_writeab), 0, 0, 1, 0}, + {&__pyx_kp_s_File_should_be_opened_read_only, __pyx_k_File_should_be_opened_read_only, sizeof(__pyx_k_File_should_be_opened_read_only), 0, 0, 1, 0}, + {&__pyx_n_s_IOError, __pyx_k_IOError, sizeof(__pyx_k_IOError), 0, 0, 1, 1}, + {&__pyx_kp_s_Index_does_not_cover_current_off, __pyx_k_Index_does_not_cover_current_off, sizeof(__pyx_k_Index_does_not_cover_current_off), 0, 0, 1, 0}, + {&__pyx_kp_s_Index_does_not_cover_offset, __pyx_k_Index_does_not_cover_offset, sizeof(__pyx_k_Index_does_not_cover_offset), 0, 0, 1, 0}, + {&__pyx_kp_s_Index_must_be_completely_built_i, __pyx_k_Index_must_be_completely_built_i, sizeof(__pyx_k_Index_must_be_completely_built_i), 0, 0, 1, 0}, + {&__pyx_n_s_IndexedGzipFile, __pyx_k_IndexedGzipFile, sizeof(__pyx_k_IndexedGzipFile), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_2, __pyx_k_IndexedGzipFile_2, sizeof(__pyx_k_IndexedGzipFile_2), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile___enter, __pyx_k_IndexedGzipFile___enter, sizeof(__pyx_k_IndexedGzipFile___enter), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile___exit, __pyx_k_IndexedGzipFile___exit, sizeof(__pyx_k_IndexedGzipFile___exit), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile___file_handle, __pyx_k_IndexedGzipFile___file_handle, sizeof(__pyx_k_IndexedGzipFile___file_handle), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile___init, __pyx_k_IndexedGzipFile___init, sizeof(__pyx_k_IndexedGzipFile___init), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile___reduce, __pyx_k_IndexedGzipFile___reduce, sizeof(__pyx_k_IndexedGzipFile___reduce), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile___reduce_cython, __pyx_k_IndexedGzipFile___reduce_cython, sizeof(__pyx_k_IndexedGzipFile___reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile___setstate_cyth, __pyx_k_IndexedGzipFile___setstate_cyth, sizeof(__pyx_k_IndexedGzipFile___setstate_cyth), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile__buffer_size, __pyx_k_IndexedGzipFile__buffer_size, sizeof(__pyx_k_IndexedGzipFile__buffer_size), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile__file_lock, __pyx_k_IndexedGzipFile__file_lock, sizeof(__pyx_k_IndexedGzipFile__file_lock), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile__igz_fobj, __pyx_k_IndexedGzipFile__igz_fobj, sizeof(__pyx_k_IndexedGzipFile__igz_fobj), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_build_full_inde, __pyx_k_IndexedGzipFile_build_full_inde, sizeof(__pyx_k_IndexedGzipFile_build_full_inde), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_close, __pyx_k_IndexedGzipFile_close, sizeof(__pyx_k_IndexedGzipFile_close), 0, 0, 1, 1}, + {&__pyx_kp_s_IndexedGzipFile_does_not_suppor, __pyx_k_IndexedGzipFile_does_not_suppor, sizeof(__pyx_k_IndexedGzipFile_does_not_suppor), 0, 0, 1, 0}, + {&__pyx_n_s_IndexedGzipFile_export_index, __pyx_k_IndexedGzipFile_export_index, sizeof(__pyx_k_IndexedGzipFile_export_index), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_fileno, __pyx_k_IndexedGzipFile_fileno, sizeof(__pyx_k_IndexedGzipFile_fileno), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_fileobj, __pyx_k_IndexedGzipFile_fileobj, sizeof(__pyx_k_IndexedGzipFile_fileobj), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_flush, __pyx_k_IndexedGzipFile_flush, sizeof(__pyx_k_IndexedGzipFile_flush), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_import_index, __pyx_k_IndexedGzipFile_import_index, sizeof(__pyx_k_IndexedGzipFile_import_index), 0, 0, 1, 1}, + {&__pyx_kp_s_IndexedGzipFile_is_already_clos, __pyx_k_IndexedGzipFile_is_already_clos, sizeof(__pyx_k_IndexedGzipFile_is_already_clos), 0, 0, 1, 0}, + {&__pyx_n_s_IndexedGzipFile_pread, __pyx_k_IndexedGzipFile_pread, sizeof(__pyx_k_IndexedGzipFile_pread), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_pread_2, __pyx_k_IndexedGzipFile_pread_2, sizeof(__pyx_k_IndexedGzipFile_pread_2), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_read, __pyx_k_IndexedGzipFile_read, sizeof(__pyx_k_IndexedGzipFile_read), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_readable, __pyx_k_IndexedGzipFile_readable, sizeof(__pyx_k_IndexedGzipFile_readable), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_readinto, __pyx_k_IndexedGzipFile_readinto, sizeof(__pyx_k_IndexedGzipFile_readinto), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_readline, __pyx_k_IndexedGzipFile_readline, sizeof(__pyx_k_IndexedGzipFile_readline), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_readlines, __pyx_k_IndexedGzipFile_readlines, sizeof(__pyx_k_IndexedGzipFile_readlines), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_seek, __pyx_k_IndexedGzipFile_seek, sizeof(__pyx_k_IndexedGzipFile_seek), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_seek_points, __pyx_k_IndexedGzipFile_seek_points, sizeof(__pyx_k_IndexedGzipFile_seek_points), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_seekable, __pyx_k_IndexedGzipFile_seekable, sizeof(__pyx_k_IndexedGzipFile_seekable), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_tell, __pyx_k_IndexedGzipFile_tell, sizeof(__pyx_k_IndexedGzipFile_tell), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_writable, __pyx_k_IndexedGzipFile_writable, sizeof(__pyx_k_IndexedGzipFile_writable), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_write, __pyx_k_IndexedGzipFile_write, sizeof(__pyx_k_IndexedGzipFile_write), 0, 0, 1, 1}, + {&__pyx_kp_s_Invalid_mode_fileobj_must_be_ope, __pyx_k_Invalid_mode_fileobj_must_be_ope, sizeof(__pyx_k_Invalid_mode_fileobj_must_be_ope), 0, 0, 1, 0}, + {&__pyx_kp_s_Invalid_mode_must_be_r_or_rb, __pyx_k_Invalid_mode_must_be_r_or_rb, sizeof(__pyx_k_Invalid_mode_must_be_r_or_rb), 0, 0, 1, 0}, + {&__pyx_kp_s_Invalid_value_for_whence, __pyx_k_Invalid_value_for_whence, sizeof(__pyx_k_Invalid_value_for_whence), 0, 0, 1, 0}, + {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1}, + {&__pyx_n_s_NoHandleError, __pyx_k_NoHandleError, sizeof(__pyx_k_NoHandleError), 0, 0, 1, 1}, + {&__pyx_n_s_NotCoveredError, __pyx_k_NotCoveredError, sizeof(__pyx_k_NotCoveredError), 0, 0, 1, 1}, + {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1}, + {&__pyx_n_s_OSError, __pyx_k_OSError, sizeof(__pyx_k_OSError), 0, 0, 1, 1}, + {&__pyx_kp_s_One_of_filename_or_fileobj_must, __pyx_k_One_of_filename_or_fileobj_must, sizeof(__pyx_k_One_of_filename_or_fileobj_must), 0, 0, 1, 0}, + {&__pyx_kp_s_One_of_fileobj_or_filename_must, __pyx_k_One_of_fileobj_or_filename_must, sizeof(__pyx_k_One_of_fileobj_or_filename_must), 0, 0, 1, 0}, + {&__pyx_kp_s_Only_one_of_filename_or_fileobj, __pyx_k_Only_one_of_filename_or_fileobj, sizeof(__pyx_k_Only_one_of_filename_or_fileobj), 0, 0, 1, 0}, + {&__pyx_n_s_PicklingError, __pyx_k_PicklingError, sizeof(__pyx_k_PicklingError), 0, 0, 1, 1}, + {&__pyx_kp_s_PyMem_Malloc_fail, __pyx_k_PyMem_Malloc_fail, sizeof(__pyx_k_PyMem_Malloc_fail), 0, 0, 1, 0}, + {&__pyx_kp_s_PyMem_Realloc_fail, __pyx_k_PyMem_Realloc_fail, sizeof(__pyx_k_PyMem_Realloc_fail), 0, 0, 1, 0}, + {&__pyx_n_s_RLock, __pyx_k_RLock, sizeof(__pyx_k_RLock), 0, 0, 1, 1}, + {&__pyx_n_s_ReadBuffer, __pyx_k_ReadBuffer, sizeof(__pyx_k_ReadBuffer), 0, 0, 1, 1}, + {&__pyx_kp_s_ReadBuffer___cinit___s, __pyx_k_ReadBuffer___cinit___s, sizeof(__pyx_k_ReadBuffer___cinit___s), 0, 0, 1, 0}, + {&__pyx_kp_s_ReadBuffer___dealloc, __pyx_k_ReadBuffer___dealloc, sizeof(__pyx_k_ReadBuffer___dealloc), 0, 0, 1, 0}, + {&__pyx_n_s_ReadBuffer___reduce_cython, __pyx_k_ReadBuffer___reduce_cython, sizeof(__pyx_k_ReadBuffer___reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_ReadBuffer___setstate_cython, __pyx_k_ReadBuffer___setstate_cython, sizeof(__pyx_k_ReadBuffer___setstate_cython), 0, 0, 1, 1}, + {&__pyx_n_s_ReadBuffer_resize, __pyx_k_ReadBuffer_resize, sizeof(__pyx_k_ReadBuffer_resize), 0, 0, 1, 1}, + {&__pyx_kp_s_ReadBuffer_resize_s, __pyx_k_ReadBuffer_resize_s, sizeof(__pyx_k_ReadBuffer_resize_s), 0, 0, 1, 0}, + {&__pyx_n_s_StopIteration, __pyx_k_StopIteration, sizeof(__pyx_k_StopIteration), 0, 0, 1, 1}, + {&__pyx_kp_s_The_IndexedGzipFile_class_allows, __pyx_k_The_IndexedGzipFile_class_allows, sizeof(__pyx_k_The_IndexedGzipFile_class_allows), 0, 0, 1, 0}, + {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, + {&__pyx_n_s_UnsupportedOperation, __pyx_k_UnsupportedOperation, sizeof(__pyx_k_UnsupportedOperation), 0, 0, 1, 1}, + {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_BUILD, __pyx_k_ZRAN_BUILD, sizeof(__pyx_k_ZRAN_BUILD), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_BUILD_INDEX_CRC_ERROR, __pyx_k_ZRAN_BUILD_INDEX_CRC_ERROR, sizeof(__pyx_k_ZRAN_BUILD_INDEX_CRC_ERROR), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_BUILD_INDEX_FAIL, __pyx_k_ZRAN_BUILD_INDEX_FAIL, sizeof(__pyx_k_ZRAN_BUILD_INDEX_FAIL), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_ERRORS, __pyx_k_ZRAN_ERRORS, sizeof(__pyx_k_ZRAN_ERRORS), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_EXPORT, __pyx_k_ZRAN_EXPORT, sizeof(__pyx_k_ZRAN_EXPORT), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_EXPORT_WRITE_ERROR, __pyx_k_ZRAN_EXPORT_WRITE_ERROR, sizeof(__pyx_k_ZRAN_EXPORT_WRITE_ERROR), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT, __pyx_k_ZRAN_IMPORT, sizeof(__pyx_k_ZRAN_IMPORT), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT_EOF, __pyx_k_ZRAN_IMPORT_EOF, sizeof(__pyx_k_ZRAN_IMPORT_EOF), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT_FAIL, __pyx_k_ZRAN_IMPORT_FAIL, sizeof(__pyx_k_ZRAN_IMPORT_FAIL), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT_INCONSISTENT, __pyx_k_ZRAN_IMPORT_INCONSISTENT, sizeof(__pyx_k_ZRAN_IMPORT_INCONSISTENT), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT_MEMORY_ERROR, __pyx_k_ZRAN_IMPORT_MEMORY_ERROR, sizeof(__pyx_k_ZRAN_IMPORT_MEMORY_ERROR), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT_OK, __pyx_k_ZRAN_IMPORT_OK, sizeof(__pyx_k_ZRAN_IMPORT_OK), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT_READ_ERROR, __pyx_k_ZRAN_IMPORT_READ_ERROR, sizeof(__pyx_k_ZRAN_IMPORT_READ_ERROR), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT_UNKNOWN_FORMAT, __pyx_k_ZRAN_IMPORT_UNKNOWN_FORMAT, sizeof(__pyx_k_ZRAN_IMPORT_UNKNOWN_FORMAT), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_IMPORT_UNSUPPORTED_VERSION, __pyx_k_ZRAN_IMPORT_UNSUPPORTED_VERSION, sizeof(__pyx_k_ZRAN_IMPORT_UNSUPPORTED_VERSION), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_READ, __pyx_k_ZRAN_READ, sizeof(__pyx_k_ZRAN_READ), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_READ_CRC_ERROR, __pyx_k_ZRAN_READ_CRC_ERROR, sizeof(__pyx_k_ZRAN_READ_CRC_ERROR), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_READ_EOF, __pyx_k_ZRAN_READ_EOF, sizeof(__pyx_k_ZRAN_READ_EOF), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_READ_FAIL, __pyx_k_ZRAN_READ_FAIL, sizeof(__pyx_k_ZRAN_READ_FAIL), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_READ_NOT_COVERED, __pyx_k_ZRAN_READ_NOT_COVERED, sizeof(__pyx_k_ZRAN_READ_NOT_COVERED), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_SEEK, __pyx_k_ZRAN_SEEK, sizeof(__pyx_k_ZRAN_SEEK), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_SEEK_CRC_ERROR, __pyx_k_ZRAN_SEEK_CRC_ERROR, sizeof(__pyx_k_ZRAN_SEEK_CRC_ERROR), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_SEEK_EOF, __pyx_k_ZRAN_SEEK_EOF, sizeof(__pyx_k_ZRAN_SEEK_EOF), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_SEEK_FAIL, __pyx_k_ZRAN_SEEK_FAIL, sizeof(__pyx_k_ZRAN_SEEK_FAIL), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_SEEK_INDEX_NOT_BUILT, __pyx_k_ZRAN_SEEK_INDEX_NOT_BUILT, sizeof(__pyx_k_ZRAN_SEEK_INDEX_NOT_BUILT), 0, 0, 1, 1}, + {&__pyx_n_s_ZRAN_SEEK_NOT_COVERED, __pyx_k_ZRAN_SEEK_NOT_COVERED, sizeof(__pyx_k_ZRAN_SEEK_NOT_COVERED), 0, 0, 1, 1}, + {&__pyx_n_s_ZranError, __pyx_k_ZranError, sizeof(__pyx_k_ZranError), 0, 0, 1, 1}, + {&__pyx_kp_b__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 0, 0, 0}, + {&__pyx_kp_b__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 0, 0, 0}, + {&__pyx_n_s__51, __pyx_k__51, sizeof(__pyx_k__51), 0, 0, 1, 1}, + {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, + {&__pyx_n_s_auto_build, __pyx_k_auto_build, sizeof(__pyx_k_auto_build), 0, 0, 1, 1}, + {&__pyx_n_s_buf, __pyx_k_buf, sizeof(__pyx_k_buf), 0, 0, 1, 1}, + {&__pyx_n_s_buffer, __pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 0, 1, 1}, + {&__pyx_n_s_buffer_size, __pyx_k_buffer_size, sizeof(__pyx_k_buffer_size), 0, 0, 1, 1}, + {&__pyx_n_s_bufsz, __pyx_k_bufsz, sizeof(__pyx_k_bufsz), 0, 0, 1, 1}, + {&__pyx_n_s_build_full_index, __pyx_k_build_full_index, sizeof(__pyx_k_build_full_index), 0, 0, 1, 1}, + {&__pyx_n_s_builtin_open, __pyx_k_builtin_open, sizeof(__pyx_k_builtin_open), 0, 0, 1, 1}, + {&__pyx_n_s_c_whence, __pyx_k_c_whence, sizeof(__pyx_k_c_whence), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, + {&__pyx_n_s_close_file, __pyx_k_close_file, sizeof(__pyx_k_close_file), 0, 0, 1, 1}, + {&__pyx_n_s_closed, __pyx_k_closed, sizeof(__pyx_k_closed), 0, 0, 1, 1}, + {&__pyx_n_s_contextlib, __pyx_k_contextlib, sizeof(__pyx_k_contextlib), 0, 0, 1, 1}, + {&__pyx_n_s_contextmanager, __pyx_k_contextmanager, sizeof(__pyx_k_contextmanager), 0, 0, 1, 1}, + {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1}, + {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, + {&__pyx_n_s_drop_handles, __pyx_k_drop_handles, sizeof(__pyx_k_drop_handles), 0, 0, 1, 1}, + {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, + {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, + {&__pyx_n_s_eof, __pyx_k_eof, sizeof(__pyx_k_eof), 0, 0, 1, 1}, + {&__pyx_n_s_errname, __pyx_k_errname, sizeof(__pyx_k_errname), 0, 0, 1, 1}, + {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, + {&__pyx_n_s_export_index, __pyx_k_export_index, sizeof(__pyx_k_export_index), 0, 0, 1, 1}, + {&__pyx_kp_s_export_index_returned_error_file, __pyx_k_export_index_returned_error_file, sizeof(__pyx_k_export_index_returned_error_file), 0, 0, 1, 0}, + {&__pyx_n_s_fd, __pyx_k_fd, sizeof(__pyx_k_fd), 0, 0, 1, 1}, + {&__pyx_n_s_file_handle, __pyx_k_file_handle, sizeof(__pyx_k_file_handle), 0, 0, 1, 1}, + {&__pyx_n_s_file_handle_locals_proxy, __pyx_k_file_handle_locals_proxy, sizeof(__pyx_k_file_handle_locals_proxy), 0, 0, 1, 1}, + {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, + {&__pyx_n_s_fileno, __pyx_k_fileno, sizeof(__pyx_k_fileno), 0, 0, 1, 1}, + {&__pyx_n_s_fileobj, __pyx_k_fileobj, sizeof(__pyx_k_fileobj), 0, 0, 1, 1}, + {&__pyx_n_s_find, __pyx_k_find, sizeof(__pyx_k_find), 0, 0, 1, 1}, + {&__pyx_n_s_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 0, 0, 1, 1}, + {&__pyx_n_s_fobj, __pyx_k_fobj, sizeof(__pyx_k_fobj), 0, 0, 1, 1}, + {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, + {&__pyx_n_s_getLogger, __pyx_k_getLogger, sizeof(__pyx_k_getLogger), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_s_getvalue, __pyx_k_getvalue, sizeof(__pyx_k_getvalue), 0, 0, 1, 1}, + {&__pyx_n_s_gzobj, __pyx_k_gzobj, sizeof(__pyx_k_gzobj), 0, 0, 1, 1}, + {&__pyx_n_s_haveline, __pyx_k_haveline, sizeof(__pyx_k_haveline), 0, 0, 1, 1}, + {&__pyx_n_s_hint, __pyx_k_hint, sizeof(__pyx_k_hint), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_import_index, __pyx_k_import_index, sizeof(__pyx_k_import_index), 0, 0, 1, 1}, + {&__pyx_kp_s_import_index_returned_error_file, __pyx_k_import_index_returned_error_file, sizeof(__pyx_k_import_index_returned_error_file), 0, 0, 1, 0}, + {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1}, + {&__pyx_n_s_index_file, __pyx_k_index_file, sizeof(__pyx_k_index_file), 0, 0, 1, 1}, + {&__pyx_n_s_indexed_gzip_indexed_gzip, __pyx_k_indexed_gzip_indexed_gzip, sizeof(__pyx_k_indexed_gzip_indexed_gzip), 0, 0, 1, 1}, + {&__pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_k_indexed_gzip_indexed_gzip_pyx, sizeof(__pyx_k_indexed_gzip_indexed_gzip_pyx), 0, 0, 1, 0}, + {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1}, + {&__pyx_n_s_io, __pyx_k_io, sizeof(__pyx_k_io), 0, 0, 1, 1}, + {&__pyx_n_s_isfile, __pyx_k_isfile, sizeof(__pyx_k_isfile), 0, 0, 1, 1}, + {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, + {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1}, + {&__pyx_n_s_linebuf, __pyx_k_linebuf, sizeof(__pyx_k_linebuf), 0, 0, 1, 1}, + {&__pyx_n_s_lineidx, __pyx_k_lineidx, sizeof(__pyx_k_lineidx), 0, 0, 1, 1}, + {&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1}, + {&__pyx_n_s_log, __pyx_k_log, sizeof(__pyx_k_log), 0, 0, 1, 1}, + {&__pyx_n_s_logging, __pyx_k_logging, sizeof(__pyx_k_logging), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, + {&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1}, + {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, + {&__pyx_kp_s_n_a, __pyx_k_n_a, sizeof(__pyx_k_n_a), 0, 0, 1, 0}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1}, + {&__pyx_n_s_nbytes, __pyx_k_nbytes, sizeof(__pyx_k_nbytes), 0, 0, 1, 1}, + {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0}, + {&__pyx_n_s_npoints, __pyx_k_npoints, sizeof(__pyx_k_npoints), 0, 0, 1, 1}, + {&__pyx_n_s_nread, __pyx_k_nread, sizeof(__pyx_k_nread), 0, 0, 1, 1}, + {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1}, + {&__pyx_n_s_off, __pyx_k_off, sizeof(__pyx_k_off), 0, 0, 1, 1}, + {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1}, + {&__pyx_n_s_op, __pyx_k_op, sizeof(__pyx_k_op), 0, 0, 1, 1}, + {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1}, + {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, + {&__pyx_n_s_os_path, __pyx_k_os_path, sizeof(__pyx_k_os_path), 0, 0, 1, 1}, + {&__pyx_n_s_own_file, __pyx_k_own_file, sizeof(__pyx_k_own_file), 0, 0, 1, 1}, + {&__pyx_n_s_pbuf, __pyx_k_pbuf, sizeof(__pyx_k_pbuf), 0, 0, 1, 1}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_point, __pyx_k_point, sizeof(__pyx_k_point), 0, 0, 1, 1}, + {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1}, + {&__pyx_n_s_pread, __pyx_k_pread, sizeof(__pyx_k_pread), 0, 0, 1, 1}, + {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, + {&__pyx_n_s_proxy, __pyx_k_proxy, sizeof(__pyx_k_proxy), 0, 0, 1, 1}, + {&__pyx_n_s_pybuf, __pyx_k_pybuf, sizeof(__pyx_k_pybuf), 0, 0, 1, 1}, + {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, + {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, + {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_rb, __pyx_k_rb, sizeof(__pyx_k_rb), 0, 0, 1, 1}, + {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1}, + {&__pyx_n_s_readable, __pyx_k_readable, sizeof(__pyx_k_readable), 0, 0, 1, 1}, + {&__pyx_n_s_readall_buf_size, __pyx_k_readall_buf_size, sizeof(__pyx_k_readall_buf_size), 0, 0, 1, 1}, + {&__pyx_n_s_readbuf_size, __pyx_k_readbuf_size, sizeof(__pyx_k_readbuf_size), 0, 0, 1, 1}, + {&__pyx_n_s_readinto, __pyx_k_readinto, sizeof(__pyx_k_readinto), 0, 0, 1, 1}, + {&__pyx_n_s_readline, __pyx_k_readline, sizeof(__pyx_k_readline), 0, 0, 1, 1}, + {&__pyx_n_s_readlines, __pyx_k_readlines, sizeof(__pyx_k_readlines), 0, 0, 1, 1}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_n_s_resize, __pyx_k_resize, sizeof(__pyx_k_resize), 0, 0, 1, 1}, + {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1}, + {&__pyx_kp_s_s___init___s_s_s_s_s_s_s, __pyx_k_s___init___s_s_s_s_s_s_s, sizeof(__pyx_k_s___init___s_s_s_s_s_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_s_build_full_index, __pyx_k_s_build_full_index, sizeof(__pyx_k_s_build_full_index), 0, 0, 1, 0}, + {&__pyx_kp_s_s_close, __pyx_k_s_close, sizeof(__pyx_k_s_close), 0, 0, 1, 0}, + {&__pyx_kp_s_s_export_index_s_s, __pyx_k_s_export_index_s_s, sizeof(__pyx_k_s_export_index_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_s_import_index_s_s, __pyx_k_s_import_index_s_s, sizeof(__pyx_k_s_import_index_s_s), 0, 0, 1, 0}, + {&__pyx_kp_s_s_read_s, __pyx_k_s_read_s, sizeof(__pyx_k_s_read_s), 0, 0, 1, 0}, + {&__pyx_kp_s_s_seek_s, __pyx_k_s_seek_s, sizeof(__pyx_k_s_seek_s), 0, 0, 1, 0}, + {&__pyx_n_s_seek, __pyx_k_seek, sizeof(__pyx_k_seek), 0, 0, 1, 1}, + {&__pyx_n_s_seek_points, __pyx_k_seek_points, sizeof(__pyx_k_seek_points), 0, 0, 1, 1}, + {&__pyx_n_s_seekable, __pyx_k_seekable, sizeof(__pyx_k_seekable), 0, 0, 1, 1}, + {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1}, + {&__pyx_kp_s_self_index_cannot_be_converted_t, __pyx_k_self_index_cannot_be_converted_t, sizeof(__pyx_k_self_index_cannot_be_converted_t), 0, 0, 1, 0}, + {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, + {&__pyx_n_s_skip_crc_check, __pyx_k_skip_crc_check, sizeof(__pyx_k_skip_crc_check), 0, 0, 1, 1}, + {&__pyx_n_s_spacing, __pyx_k_spacing, sizeof(__pyx_k_spacing), 0, 0, 1, 1}, + {&__pyx_n_s_startpos, __pyx_k_startpos, sizeof(__pyx_k_startpos), 0, 0, 1, 1}, + {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, + {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, + {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1}, + {&__pyx_n_s_tell, __pyx_k_tell, sizeof(__pyx_k_tell), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1}, + {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, + {&__pyx_n_s_totalsize, __pyx_k_totalsize, sizeof(__pyx_k_totalsize), 0, 0, 1, 1}, + {&__pyx_n_s_unpickle, __pyx_k_unpickle, sizeof(__pyx_k_unpickle), 0, 0, 1, 1}, + {&__pyx_n_s_vbuf, __pyx_k_vbuf, sizeof(__pyx_k_vbuf), 0, 0, 1, 1}, + {&__pyx_n_s_warnings, __pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 0, 1, 1}, + {&__pyx_n_s_wb, __pyx_k_wb, sizeof(__pyx_k_wb), 0, 0, 1, 1}, + {&__pyx_n_s_whence, __pyx_k_whence, sizeof(__pyx_k_whence), 0, 0, 1, 1}, + {&__pyx_n_s_window_size, __pyx_k_window_size, sizeof(__pyx_k_window_size), 0, 0, 1, 1}, + {&__pyx_n_s_writable, __pyx_k_writable, sizeof(__pyx_k_writable), 0, 0, 1, 1}, + {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1}, + {&__pyx_kp_s_zran_build_index_returned_error, __pyx_k_zran_build_index_returned_error, sizeof(__pyx_k_zran_build_index_returned_error), 0, 0, 1, 0}, + {&__pyx_kp_s_zran_init_returned_error_file, __pyx_k_zran_init_returned_error_file, sizeof(__pyx_k_zran_init_returned_error_file), 0, 0, 1, 0}, + {&__pyx_kp_s_zran_read_returned_error_file, __pyx_k_zran_read_returned_error_file, sizeof(__pyx_k_zran_read_returned_error_file), 0, 0, 1, 0}, + {&__pyx_kp_s_zran_seek_returned_error_file, __pyx_k_zran_seek_returned_error_file, sizeof(__pyx_k_zran_seek_returned_error_file), 0, 0, 1, 0}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 1108, __pyx_L1_error) + __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) __PYX_ERR(0, 1118, __pyx_L1_error) + __pyx_builtin_OSError = __Pyx_GetBuiltinName(__pyx_n_s_OSError); if (!__pyx_builtin_OSError) __PYX_ERR(0, 1125, __pyx_L1_error) + __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 1140, __pyx_L1_error) + __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 160, __pyx_L1_error) + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 487, __pyx_L1_error) + __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 920, __pyx_L1_error) + __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(0, 927, __pyx_L1_error) + __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error) + __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(0, 1058, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "indexed_gzip/indexed_gzip.pyx":167 + * The calls to seek and read are protected by a ``threading.RLock``. + * """ + * with self.__file_lock: # <<<<<<<<<<<<<< + * self.seek(offset) + * return self.read(nbytes) + */ + __pyx_tuple__4 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); + + /* "indexed_gzip/indexed_gzip.pyx":351 + * if (fileobj is None and filename is None) or \ + * (fileobj is not None and filename is not None): + * raise ValueError('One of fileobj or filename must be specified') # <<<<<<<<<<<<<< + * + * # filename can be either a + */ + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_One_of_fileobj_or_filename_must); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + + /* "indexed_gzip/indexed_gzip.pyx":361 + * if fileobj is not None and \ + * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): + * raise ValueError('Invalid mode - fileobj must be opened ' # <<<<<<<<<<<<<< + * 'in read-only binary ("rb") mode') + * + */ + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_Invalid_mode_fileobj_must_be_ope); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 361, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); + + /* "indexed_gzip/indexed_gzip.pyx":453 + * # dropping support for cython < 0.26. + * @contextlib.contextmanager + * def proxy(): # <<<<<<<<<<<<<< + * + * # If a file handle already exists, + */ + __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_proxy, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 453, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":927 + * def write(self, *args, **kwargs): + * """Currently raises a :exc:`NotImplementedError`.""" + * raise NotImplementedError('_IndexedGzipFile does not support writing') # <<<<<<<<<<<<<< + * + * + */ + __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_IndexedGzipFile_does_not_suppor); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 927, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__31); + __Pyx_GIVEREF(__pyx_tuple__31); + + /* "indexed_gzip/indexed_gzip.pyx":945 + * + * if filename is None and fileobj is None: + * raise ValueError('One of filename or fileobj must be specified') # <<<<<<<<<<<<<< + * + * if filename is not None and fileobj is not None: + */ + __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_One_of_filename_or_fileobj_must); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 945, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__34); + __Pyx_GIVEREF(__pyx_tuple__34); + + /* "indexed_gzip/indexed_gzip.pyx":948 + * + * if filename is not None and fileobj is not None: + * raise ValueError( # <<<<<<<<<<<<<< + * 'Only one of filename or fileobj must be specified') + * + */ + __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_Only_one_of_filename_or_fileobj); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 948, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__35); + __Pyx_GIVEREF(__pyx_tuple__35); + + /* "indexed_gzip/indexed_gzip.pyx":958 + * close_file = False + * if getattr(fileobj, 'mode', 'wb') != 'wb': + * raise ValueError( # <<<<<<<<<<<<<< + * 'File should be opened in writeable binary mode.') + * + */ + __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_File_should_be_opened_in_writeab); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 958, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__36); + __Pyx_GIVEREF(__pyx_tuple__36); + + /* "indexed_gzip/indexed_gzip.pyx":1008 + * close_file = False + * if getattr(fileobj, 'mode', 'rb') != 'rb': + * raise ValueError( # <<<<<<<<<<<<<< + * 'File should be opened read-only binary mode.') + * + */ + __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_File_should_be_opened_read_only); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 1008, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__38); + __Pyx_GIVEREF(__pyx_tuple__38); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("self.index cannot be converted to a Python object for pickling") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("self.index cannot be converted to a Python object for pickling") + */ + __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_self_index_cannot_be_converted_t); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__40); + __Pyx_GIVEREF(__pyx_tuple__40); + + /* "(tree fragment)":4 + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("self.index cannot be converted to a Python object for pickling") # <<<<<<<<<<<<<< + */ + __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_self_index_cannot_be_converted_t); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__42); + __Pyx_GIVEREF(__pyx_tuple__42); + + /* "indexed_gzip/indexed_gzip.pyx":1058 + * + * if not self.buffer: + * raise MemoryError('PyMem_Malloc fail') # <<<<<<<<<<<<<< + * + * log.debug('ReadBuffer.__cinit__(%s)', size) + */ + __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_PyMem_Malloc_fail); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 1058, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__43); + __Pyx_GIVEREF(__pyx_tuple__43); + + /* "indexed_gzip/indexed_gzip.pyx":1072 + * + * if not buf: + * raise MemoryError('PyMem_Realloc fail') # <<<<<<<<<<<<<< + * + * log.debug('ReadBuffer.resize(%s)', size) + */ + __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_PyMem_Realloc_fail); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1072, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__45); + __Pyx_GIVEREF(__pyx_tuple__45); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__47); + __Pyx_GIVEREF(__pyx_tuple__47); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__49); + __Pyx_GIVEREF(__pyx_tuple__49); + + /* "indexed_gzip/indexed_gzip.pyx":60 + * + * + * def open(filename=None, fileobj=None, *args, **kwargs): # <<<<<<<<<<<<<< + * """Create and return an ``IndexedGzipFile``. + * + */ + __pyx_tuple__52 = PyTuple_Pack(4, __pyx_n_s_filename, __pyx_n_s_fileobj, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__52); + __Pyx_GIVEREF(__pyx_tuple__52); + __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_open, 60, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 60, __pyx_L1_error) + __pyx_tuple__53 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__53); + __Pyx_GIVEREF(__pyx_tuple__53); + + /* "indexed_gzip/indexed_gzip.pyx":86 + * + * + * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Create an ``IndexedGzipFile``. The file may be specified either + * with an open file handle (``fileobj``), or with a ``filename``. If the + */ + __pyx_tuple__54 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_spacing, __pyx_n_s_buffer_size, __pyx_n_s_fobj); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__54); + __Pyx_GIVEREF(__pyx_tuple__54); + __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_init, 86, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 86, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":163 + * + * + * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< + * """Seeks to ``offset``, then reads and returns up to ``nbytes``. + * The calls to seek and read are protected by a ``threading.RLock``. + */ + __pyx_tuple__55 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_nbytes, __pyx_n_s_offset); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 163, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__55); + __Pyx_GIVEREF(__pyx_tuple__55); + __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_pread, 163, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 163, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":172 + * + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * """Used to pickle an ``IndexedGzipFile``. + * + */ + __pyx_tuple__56 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_fobj, __pyx_n_s_index, __pyx_n_s_state); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 172, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__56); + __Pyx_GIVEREF(__pyx_tuple__56); + __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_reduce, 172, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) __PYX_ERR(0, 172, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":440 + * + * + * def __file_handle(self): # <<<<<<<<<<<<<< + * """This method is used as a context manager whenever access to the + * underlying file stream is required. It makes sure that ``index.fd`` + */ + __pyx_tuple__57 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_proxy, __pyx_n_s_proxy); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__57); + __Pyx_GIVEREF(__pyx_tuple__57); + __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_file_handle, 440, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 440, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":481 + * + * + * def seek_points(self): # <<<<<<<<<<<<<< + * """Return the seek point locations that currently exist in the index. + * + */ + __pyx_tuple__58 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_i, __pyx_n_s_point); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__58); + __Pyx_GIVEREF(__pyx_tuple__58); + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_seek_points, 481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 481, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":492 + * + * + * def fileno(self): # <<<<<<<<<<<<<< + * """Calls ``fileno`` on the underlying file object. Raises a + * :exc:`NoHandleError` if ``drop_handles is True``. + */ + __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 492, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__59); + __Pyx_GIVEREF(__pyx_tuple__59); + __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_fileno, 492, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 492, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":501 + * + * + * def fileobj(self): # <<<<<<<<<<<<<< + * """Returns a reference to the python file object. Raises a + * :exc:`NoHandleError` if ``drop_handles is True``. + */ + __pyx_tuple__60 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 501, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__60); + __Pyx_GIVEREF(__pyx_tuple__60); + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_fileobj, 501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 501, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":538 + * + * + * def close(self): # <<<<<<<<<<<<<< + * """Closes this ``_IndexedGzipFile``. """ + * + */ + __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__61); + __Pyx_GIVEREF(__pyx_tuple__61); + __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_close, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 538, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":568 + * + * + * def readable(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` is readable, ``False`` + * otherwise. + */ + __pyx_tuple__62 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__62); + __Pyx_GIVEREF(__pyx_tuple__62); + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_readable, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 568, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":575 + * + * + * def writable(self): # <<<<<<<<<<<<<< + * """Currently always returns ``False`` - the ``_IndexedGzipFile`` does + * not support writing yet. + */ + __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 575, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__63); + __Pyx_GIVEREF(__pyx_tuple__63); + __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_writable, 575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 575, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":582 + * + * + * def seekable(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` supports seeking, + * ``False`` otherwise. + */ + __pyx_tuple__64 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 582, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__64); + __Pyx_GIVEREF(__pyx_tuple__64); + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_seekable, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 582, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":589 + * + * + * def tell(self): # <<<<<<<<<<<<<< + * """Returns the current seek offset into the uncompressed data stream. + * """ + */ + __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 589, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__65); + __Pyx_GIVEREF(__pyx_tuple__65); + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_tell, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 589, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":595 + * + * + * def __enter__(self): # <<<<<<<<<<<<<< + * """Returns this ``_IndexedGzipFile``. """ + * return self + */ + __pyx_tuple__66 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__66); + __Pyx_GIVEREF(__pyx_tuple__66); + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_enter, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 595, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":600 + * + * + * def __exit__(self, *args): # <<<<<<<<<<<<<< + * """Calls close on this ``_IndexedGzipFile``. """ + * if not self.closed: + */ + __pyx_tuple__67 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_args); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(0, 600, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__67); + __Pyx_GIVEREF(__pyx_tuple__67); + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_exit, 600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 600, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":614 + * + * + * def build_full_index(self): # <<<<<<<<<<<<<< + * """Re-builds the full file index. """ + * + */ + __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 614, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__68); + __Pyx_GIVEREF(__pyx_tuple__68); + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_build_full_index, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 614, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":627 + * + * + * def seek(self, offset, whence=SEEK_SET): # <<<<<<<<<<<<<< + * """Seeks to the specified position in the uncompressed data stream. + * + */ + __pyx_tuple__69 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_offset, __pyx_n_s_whence, __pyx_n_s_ret, __pyx_n_s_off, __pyx_n_s_c_whence, __pyx_n_s_index); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 627, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__69); + __Pyx_GIVEREF(__pyx_tuple__69); + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_seek, 627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 627, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":680 + * + * + * def read(self, nbytes=-1): # <<<<<<<<<<<<<< + * """Reads up to ``nbytes`` bytes from the uncompressed data stream. + * If ``nbytes < 0`` the stream is read until EOF. + */ + __pyx_tuple__70 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_nbytes, __pyx_n_s_buf, __pyx_n_s_index, __pyx_n_s_nread, __pyx_n_s_bufsz, __pyx_n_s_offset, __pyx_n_s_buffer, __pyx_n_s_ret, __pyx_n_s_pybuf); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 680, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__70); + __Pyx_GIVEREF(__pyx_tuple__70); + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_read, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 680, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":767 + * + * + * def readinto(self, buf): # <<<<<<<<<<<<<< + * """Reads up to ``len(buf)`` bytes directly into ``buf``, which is + * assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview`` + */ + __pyx_tuple__71 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_buf, __pyx_n_s_index, __pyx_n_s_bufsz, __pyx_n_s_pbuf, __pyx_n_s_vbuf, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 767, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__71); + __Pyx_GIVEREF(__pyx_tuple__71); + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_readinto, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 767, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":820 + * + * + * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< + * """Seeks to the specified ``offset``, then reads and returns + * ``nbytes``. See :meth:`seek` and :meth:`read`. + */ + __pyx_tuple__72 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_nbytes, __pyx_n_s_offset); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(0, 820, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__72); + __Pyx_GIVEREF(__pyx_tuple__72); + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_pread, 820, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 820, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":829 + * + * + * def readline(self, size=-1): # <<<<<<<<<<<<<< + * """Read and return up to the next ``'\n'`` character (up to at most + * ``size`` bytes, if ``size >= 0``) from the uncompressed data stream. + */ + __pyx_tuple__73 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_linebuf, __pyx_n_s_startpos, __pyx_n_s_bufsz, __pyx_n_s_buf, __pyx_n_s_lineidx, __pyx_n_s_haveline, __pyx_n_s_eof); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 829, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__73); + __Pyx_GIVEREF(__pyx_tuple__73); + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_readline, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 829, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":880 + * + * + * def readlines(self, hint=-1): # <<<<<<<<<<<<<< + * """Reads and returns a list of lines from the uncompressed data. + * If ``hint`` is provided, lines will be read until the total size + */ + __pyx_tuple__74 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_hint, __pyx_n_s_totalsize, __pyx_n_s_lines, __pyx_n_s_line); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 880, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__74); + __Pyx_GIVEREF(__pyx_tuple__74); + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_readlines, 880, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 880, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":925 + * + * + * def write(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Currently raises a :exc:`NotImplementedError`.""" + * raise NotImplementedError('_IndexedGzipFile does not support writing') + */ + __pyx_tuple__75 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 925, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__75); + __Pyx_GIVEREF(__pyx_tuple__75); + __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_write, 925, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 925, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":930 + * + * + * def flush(self): # <<<<<<<<<<<<<< + * """Currently does nothing. """ + * pass + */ + __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 930, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__76); + __Pyx_GIVEREF(__pyx_tuple__76); + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_flush, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 930, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":935 + * + * + * def export_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< + * """Export index data to the given file. Either ``filename`` or + * ``fileobj`` should be specified, but not both. ``fileobj`` should be + */ + __pyx_tuple__77 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_filename, __pyx_n_s_fileobj, __pyx_n_s_close_file, __pyx_n_s_fd, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 935, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__77); + __Pyx_GIVEREF(__pyx_tuple__77); + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_export_index, 935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 935, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":985 + * + * + * def import_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< + * """Import index data from the given file. Either ``filename`` or + * ``fileobj`` should be specified, but not both. ``fileobj`` should be + */ + __pyx_tuple__78 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_filename, __pyx_n_s_fileobj, __pyx_n_s_close_file, __pyx_n_s_fd, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 985, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__78); + __Pyx_GIVEREF(__pyx_tuple__78); + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_import_index, 985, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 985, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): + */ + __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__79); + __Pyx_GIVEREF(__pyx_tuple__79); + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(1, 1, __pyx_L1_error) + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("self.index cannot be converted to a Python object for pickling") + */ + __pyx_tuple__80 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__80); + __Pyx_GIVEREF(__pyx_tuple__80); + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(1, 3, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":1063 + * + * + * def resize(self, size_t size): # <<<<<<<<<<<<<< + * """Re-allocate the memory to the given ``size``. """ + * + */ + __pyx_tuple__81 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_size, __pyx_n_s_buf); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 1063, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__81); + __Pyx_GIVEREF(__pyx_tuple__81); + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_resize, 1063, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 1063, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + __pyx_tuple__82 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__82); + __Pyx_GIVEREF(__pyx_tuple__82); + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(1, 1, __pyx_L1_error) + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__83); + __Pyx_GIVEREF(__pyx_tuple__83); + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(1, 3, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":1087 + * + * + * def unpickle(state): # <<<<<<<<<<<<<< + * """Create a new ``IndexedGzipFile`` from a pickled state. + * + */ + __pyx_tuple__84 = PyTuple_Pack(4, __pyx_n_s_state, __pyx_n_s_tell, __pyx_n_s_index, __pyx_n_s_gzobj); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(0, 1087, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__84); + __Pyx_GIVEREF(__pyx_tuple__84); + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_unpickle, 1087, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 1087, __pyx_L1_error) + + /* "indexed_gzip/indexed_gzip.pyx":1108 + * + * + * class NotCoveredError(ValueError): # <<<<<<<<<<<<<< + * """Exception raised by the :class:`_IndexedGzipFile` when an attempt is + * made to seek to/read from a location that is not covered by the + */ + __pyx_tuple__85 = PyTuple_Pack(1, __pyx_builtin_ValueError); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 1108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__85); + __Pyx_GIVEREF(__pyx_tuple__85); + + /* "indexed_gzip/indexed_gzip.pyx":1118 + * + * + * class ZranError(IOError): # <<<<<<<<<<<<<< + * """Exception raised by the :class:`_IndexedGzipFile` when the ``zran`` + * library signals an error. + */ + __pyx_tuple__86 = PyTuple_Pack(1, __pyx_builtin_IOError); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 1118, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__86); + __Pyx_GIVEREF(__pyx_tuple__86); + + /* "indexed_gzip/indexed_gzip.pyx":1125 + * + * + * class CrcError(OSError): # <<<<<<<<<<<<<< + * """Exception raised by the :class:`_IndexedGzipFile` when a CRC/size + * validation check fails, which suggests that the GZIP data might be + */ + __pyx_tuple__87 = PyTuple_Pack(1, __pyx_builtin_OSError); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 1125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__87); + __Pyx_GIVEREF(__pyx_tuple__87); + + /* "indexed_gzip/indexed_gzip.pyx":1133 + * + * + * class NoHandleError(ValueError): # <<<<<<<<<<<<<< + * """Exception raised by the :class:`_IndexedGzipFile` when + * ``drop_handles is True`` and an attempt is made to access the underlying + */ + __pyx_tuple__88 = PyTuple_Pack(1, __pyx_builtin_ValueError); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__88); + __Pyx_GIVEREF(__pyx_tuple__88); + + /* "indexed_gzip/indexed_gzip.pyx":1140 + * + * + * class ZRAN_ERRORS(object): # <<<<<<<<<<<<<< + * """Contains text versions of all error codes emitted by zran.c. """ + * ZRAN_BUILD = { + */ + __pyx_tuple__89 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 1140, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__89); + __Pyx_GIVEREF(__pyx_tuple__89); + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + __pyx_umethod_PyDict_Type_pop.type = (PyObject*)&PyDict_Type; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_32768 = PyInt_FromLong(32768L); if (unlikely(!__pyx_int_32768)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1048576 = PyInt_FromLong(1048576L); if (unlikely(!__pyx_int_1048576)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4194304 = PyInt_FromLong(4194304L); if (unlikely(!__pyx_int_4194304)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_16777216 = PyInt_FromLong(16777216L); if (unlikely(!__pyx_int_16777216)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile) < 0) __PYX_ERR(0, 215, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + #if CYTHON_UPDATE_DESCRIPTOR_DOC + { + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 215, __pyx_L1_error) + if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { + __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; + __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__.doc = __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__; + ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__; + } + } + #endif + #if CYTHON_UPDATE_DESCRIPTOR_DOC + { + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile, "__iter__"); if (unlikely(!wrapper)) __PYX_ERR(0, 215, __pyx_L1_error) + if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { + __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__ = *((PyWrapperDescrObject *)wrapper)->d_base; + __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__.doc = __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__; + ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__; + } + } + #endif + #if CYTHON_UPDATE_DESCRIPTOR_DOC + { + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile, "__next__"); if (unlikely(!wrapper)) __PYX_ERR(0, 215, __pyx_L1_error) + if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { + __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__ = *((PyWrapperDescrObject *)wrapper)->d_base; + __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__.doc = __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__; + ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__; + } + } + #endif + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_IndexedGzipFile_2, (PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile) < 0) __PYX_ERR(0, 215, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile) < 0) __PYX_ERR(0, 215, __pyx_L1_error) + __pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile = &__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile; + if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer) < 0) __PYX_ERR(0, 1037, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ReadBuffer, (PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer) < 0) __PYX_ERR(0, 1037, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer) < 0) __PYX_ERR(0, 1037, __pyx_L1_error) + __pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer = &__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer; + if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle) < 0) __PYX_ERR(0, 440, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle = &__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle; + if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy) < 0) __PYX_ERR(0, 453, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy = &__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy; + if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points) < 0) __PYX_ERR(0, 481, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points = &__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#ifndef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#elif PY_MAJOR_VERSION < 3 +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" void +#else +#define __Pyx_PyMODINIT_FUNC void +#endif +#else +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyObject * +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initindexed_gzip(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initindexed_gzip(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_indexed_gzip(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_indexed_gzip(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_indexed_gzip(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + __Pyx_TraceDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'indexed_gzip' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_indexed_gzip(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + PyEval_InitThreads(); + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("indexed_gzip", __pyx_methods, __pyx_k_This_module_provides_the_class_I, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_indexed_gzip__indexed_gzip) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "indexed_gzip.indexed_gzip")) { + if (unlikely(PyDict_SetItemString(modules, "indexed_gzip.indexed_gzip", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit_indexed_gzip(void)", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error)); + + /* "indexed_gzip/indexed_gzip.pyx":38 + * cimport indexed_gzip.zran as zran + * + * import io # <<<<<<<<<<<<<< + * import os + * import os.path as op + */ + __Pyx_TraceLine(38,0,__PYX_ERR(0, 38, __pyx_L1_error)) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_io, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_io, __pyx_t_1) < 0) __PYX_ERR(0, 38, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":39 + * + * import io + * import os # <<<<<<<<<<<<<< + * import os.path as op + * import pickle + */ + __Pyx_TraceLine(39,0,__PYX_ERR(0, 39, __pyx_L1_error)) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":40 + * import io + * import os + * import os.path as op # <<<<<<<<<<<<<< + * import pickle + * import logging + */ + __Pyx_TraceLine(40,0,__PYX_ERR(0, 40, __pyx_L1_error)) + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s__51); + __Pyx_GIVEREF(__pyx_n_s__51); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__51); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_os_path, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_op, __pyx_t_2) < 0) __PYX_ERR(0, 40, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":41 + * import os + * import os.path as op + * import pickle # <<<<<<<<<<<<<< + * import logging + * import warnings + */ + __Pyx_TraceLine(41,0,__PYX_ERR(0, 41, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pickle, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pickle, __pyx_t_2) < 0) __PYX_ERR(0, 41, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":42 + * import os.path as op + * import pickle + * import logging # <<<<<<<<<<<<<< + * import warnings + * import threading + */ + __Pyx_TraceLine(42,0,__PYX_ERR(0, 42, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(0, 42, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":43 + * import pickle + * import logging + * import warnings # <<<<<<<<<<<<<< + * import threading + * import contextlib + */ + __Pyx_TraceLine(43,0,__PYX_ERR(0, 43, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_warnings, __pyx_t_2) < 0) __PYX_ERR(0, 43, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":44 + * import logging + * import warnings + * import threading # <<<<<<<<<<<<<< + * import contextlib + * + */ + __Pyx_TraceLine(44,0,__PYX_ERR(0, 44, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_threading, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_2) < 0) __PYX_ERR(0, 44, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":45 + * import warnings + * import threading + * import contextlib # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(45,0,__PYX_ERR(0, 45, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_contextlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_contextlib, __pyx_t_2) < 0) __PYX_ERR(0, 45, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":48 + * + * + * builtin_open = open # <<<<<<<<<<<<<< + * """Reference to the built-in open function, which is otherwise masked by + * our open function below. + */ + __Pyx_TraceLine(48,0,__PYX_ERR(0, 48, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_builtin_open, __pyx_t_2) < 0) __PYX_ERR(0, 48, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":57 + * + * + * log = logging.getLogger(__name__) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_log, __pyx_t_3) < 0) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":60 + * + * + * def open(filename=None, fileobj=None, *args, **kwargs): # <<<<<<<<<<<<<< + * """Create and return an ``IndexedGzipFile``. + * + */ + __Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_1open, 0, __pyx_n_s_open, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__53); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_open, __pyx_t_3) < 0) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":71 + * + * + * class IndexedGzipFile(io.BufferedReader): # <<<<<<<<<<<<<< + * """The ``IndexedGzipFile`` class allows for fast random access of a gzip + * file by using the ``zran`` library to build and maintain an index of seek + */ + __Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_io); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BufferedReader); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_IndexedGzipFile, __pyx_n_s_IndexedGzipFile, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_The_IndexedGzipFile_class_allows); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "indexed_gzip/indexed_gzip.pyx":86 + * + * + * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Create an ``IndexedGzipFile``. The file may be specified either + * with an open file handle (``fileobj``), or with a ``filename``. If the + */ + __Pyx_TraceLine(86,0,__PYX_ERR(0, 86, __pyx_L1_error)) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__, 0, __pyx_n_s_IndexedGzipFile___init, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":163 + * + * + * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< + * """Seeks to ``offset``, then reads and returns up to ``nbytes``. + * The calls to seek and read are protected by a ``threading.RLock``. + */ + __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L1_error)) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread, 0, __pyx_n_s_IndexedGzipFile_pread, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_pread, __pyx_t_4) < 0) __PYX_ERR(0, 163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":172 + * + * + * def __reduce__(self): # <<<<<<<<<<<<<< + * """Used to pickle an ``IndexedGzipFile``. + * + */ + __Pyx_TraceLine(172,0,__PYX_ERR(0, 172, __pyx_L1_error)) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__, 0, __pyx_n_s_IndexedGzipFile___reduce, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 172, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_reduce, __pyx_t_4) < 0) __PYX_ERR(0, 172, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":71 + * + * + * class IndexedGzipFile(io.BufferedReader): # <<<<<<<<<<<<<< + * """The ``IndexedGzipFile`` class allows for fast random access of a gzip + * file by using the ``zran`` library to build and maintain an index of seek + */ + __Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) + __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_IndexedGzipFile, __pyx_t_3, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_IndexedGzipFile, __pyx_t_4) < 0) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":440 + * + * + * def __file_handle(self): # <<<<<<<<<<<<<< + * """This method is used as a context manager whenever access to the + * underlying file stream is required. It makes sure that ``index.fd`` + */ + __Pyx_TraceLine(440,0,__PYX_ERR(0, 440, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___file_handle, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_file_handle, __pyx_t_3) < 0) __PYX_ERR(0, 440, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":481 + * + * + * def seek_points(self): # <<<<<<<<<<<<<< + * """Return the seek point locations that currently exist in the index. + * + */ + __Pyx_TraceLine(481,0,__PYX_ERR(0, 481, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_seek_points, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_seek_points, __pyx_t_3) < 0) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":492 + * + * + * def fileno(self): # <<<<<<<<<<<<<< + * """Calls ``fileno`` on the underlying file object. Raises a + * :exc:`NoHandleError` if ``drop_handles is True``. + */ + __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_fileno, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_fileno, __pyx_t_3) < 0) __PYX_ERR(0, 492, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":501 + * + * + * def fileobj(self): # <<<<<<<<<<<<<< + * """Returns a reference to the python file object. Raises a + * :exc:`NoHandleError` if ``drop_handles is True``. + */ + __Pyx_TraceLine(501,0,__PYX_ERR(0, 501, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_fileobj, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_fileobj, __pyx_t_3) < 0) __PYX_ERR(0, 501, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":538 + * + * + * def close(self): # <<<<<<<<<<<<<< + * """Closes this ``_IndexedGzipFile``. """ + * + */ + __Pyx_TraceLine(538,0,__PYX_ERR(0, 538, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_close, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_close, __pyx_t_3) < 0) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":568 + * + * + * def readable(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` is readable, ``False`` + * otherwise. + */ + __Pyx_TraceLine(568,0,__PYX_ERR(0, 568, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_readable, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_readable, __pyx_t_3) < 0) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":575 + * + * + * def writable(self): # <<<<<<<<<<<<<< + * """Currently always returns ``False`` - the ``_IndexedGzipFile`` does + * not support writing yet. + */ + __Pyx_TraceLine(575,0,__PYX_ERR(0, 575, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_writable, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 575, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_writable, __pyx_t_3) < 0) __PYX_ERR(0, 575, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":582 + * + * + * def seekable(self): # <<<<<<<<<<<<<< + * """Returns ``True`` if this ``_IndexedGzipFile`` supports seeking, + * ``False`` otherwise. + */ + __Pyx_TraceLine(582,0,__PYX_ERR(0, 582, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_seekable, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 582, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_seekable, __pyx_t_3) < 0) __PYX_ERR(0, 582, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":589 + * + * + * def tell(self): # <<<<<<<<<<<<<< + * """Returns the current seek offset into the uncompressed data stream. + * """ + */ + __Pyx_TraceLine(589,0,__PYX_ERR(0, 589, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_tell, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_tell, __pyx_t_3) < 0) __PYX_ERR(0, 589, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":595 + * + * + * def __enter__(self): # <<<<<<<<<<<<<< + * """Returns this ``_IndexedGzipFile``. """ + * return self + */ + __Pyx_TraceLine(595,0,__PYX_ERR(0, 595, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___enter, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_enter, __pyx_t_3) < 0) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":600 + * + * + * def __exit__(self, *args): # <<<<<<<<<<<<<< + * """Calls close on this ``_IndexedGzipFile``. """ + * if not self.closed: + */ + __Pyx_TraceLine(600,0,__PYX_ERR(0, 600, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___exit, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_exit, __pyx_t_3) < 0) __PYX_ERR(0, 600, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":614 + * + * + * def build_full_index(self): # <<<<<<<<<<<<<< + * """Re-builds the full file index. """ + * + */ + __Pyx_TraceLine(614,0,__PYX_ERR(0, 614, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_build_full_inde, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 614, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_build_full_index, __pyx_t_3) < 0) __PYX_ERR(0, 614, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":627 + * + * + * def seek(self, offset, whence=SEEK_SET): # <<<<<<<<<<<<<< + * """Seeks to the specified position in the uncompressed data stream. + * + */ + __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyInt_From_int(SEEK_SET); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 627, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_k__21 = __pyx_t_3; + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_seek, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 627, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_seek, __pyx_t_3) < 0) __PYX_ERR(0, 627, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":680 + * + * + * def read(self, nbytes=-1): # <<<<<<<<<<<<<< + * """Reads up to ``nbytes`` bytes from the uncompressed data stream. + * If ``nbytes < 0`` the stream is read until EOF. + */ + __Pyx_TraceLine(680,0,__PYX_ERR(0, 680, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_read, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 680, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_read, __pyx_t_3) < 0) __PYX_ERR(0, 680, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":767 + * + * + * def readinto(self, buf): # <<<<<<<<<<<<<< + * """Reads up to ``len(buf)`` bytes directly into ``buf``, which is + * assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview`` + */ + __Pyx_TraceLine(767,0,__PYX_ERR(0, 767, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_readinto, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_readinto, __pyx_t_3) < 0) __PYX_ERR(0, 767, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":820 + * + * + * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< + * """Seeks to the specified ``offset``, then reads and returns + * ``nbytes``. See :meth:`seek` and :meth:`read`. + */ + __Pyx_TraceLine(820,0,__PYX_ERR(0, 820, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_pread_2, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 820, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_pread, __pyx_t_3) < 0) __PYX_ERR(0, 820, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":829 + * + * + * def readline(self, size=-1): # <<<<<<<<<<<<<< + * """Read and return up to the next ``'\n'`` character (up to at most + * ``size`` bytes, if ``size >= 0``) from the uncompressed data stream. + */ + __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_readline, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 829, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_readline, __pyx_t_3) < 0) __PYX_ERR(0, 829, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":880 + * + * + * def readlines(self, hint=-1): # <<<<<<<<<<<<<< + * """Reads and returns a list of lines from the uncompressed data. + * If ``hint`` is provided, lines will be read until the total size + */ + __Pyx_TraceLine(880,0,__PYX_ERR(0, 880, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_readlines, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_readlines, __pyx_t_3) < 0) __PYX_ERR(0, 880, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":925 + * + * + * def write(self, *args, **kwargs): # <<<<<<<<<<<<<< + * """Currently raises a :exc:`NotImplementedError`.""" + * raise NotImplementedError('_IndexedGzipFile does not support writing') + */ + __Pyx_TraceLine(925,0,__PYX_ERR(0, 925, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_write, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 925, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_write, __pyx_t_3) < 0) __PYX_ERR(0, 925, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":930 + * + * + * def flush(self): # <<<<<<<<<<<<<< + * """Currently does nothing. """ + * pass + */ + __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_flush, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_flush, __pyx_t_3) < 0) __PYX_ERR(0, 930, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":935 + * + * + * def export_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< + * """Export index data to the given file. Either ``filename`` or + * ``fileobj`` should be specified, but not both. ``fileobj`` should be + */ + __Pyx_TraceLine(935,0,__PYX_ERR(0, 935, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_export_index, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 935, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_export_index, __pyx_t_3) < 0) __PYX_ERR(0, 935, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "indexed_gzip/indexed_gzip.pyx":985 + * + * + * def import_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< + * """Import index data from the given file. Either ``filename`` or + * ``fileobj`` should be specified, but not both. ``fileobj`` should be + */ + __Pyx_TraceLine(985,0,__PYX_ERR(0, 985, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_import_index, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 985, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_import_index, __pyx_t_3) < 0) __PYX_ERR(0, 985, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): + */ + __Pyx_TraceLine(1,0,__PYX_ERR(1, 1, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___reduce_cython, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("self.index cannot be converted to a Python object for pickling") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("self.index cannot be converted to a Python object for pickling") + */ + __Pyx_TraceLine(3,0,__PYX_ERR(1, 3, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___setstate_cyth, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1063 + * + * + * def resize(self, size_t size): # <<<<<<<<<<<<<< + * """Re-allocate the memory to the given ``size``. """ + * + */ + __Pyx_TraceLine(1063,0,__PYX_ERR(0, 1063, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ReadBuffer_resize, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1063, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer->tp_dict, __pyx_n_s_resize, __pyx_t_3) < 0) __PYX_ERR(0, 1063, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer); + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + __Pyx_TraceLine(1,0,__PYX_ERR(1, 1, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ReadBuffer___reduce_cython, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(1, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __Pyx_TraceLine(3,0,__PYX_ERR(1, 3, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ReadBuffer___setstate_cython, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(1, 3, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1087 + * + * + * def unpickle(state): # <<<<<<<<<<<<<< + * """Create a new ``IndexedGzipFile`` from a pickled state. + * + */ + __Pyx_TraceLine(1087,0,__PYX_ERR(0, 1087, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_3unpickle, 0, __pyx_n_s_unpickle, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1087, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_unpickle, __pyx_t_3) < 0) __PYX_ERR(0, 1087, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1108 + * + * + * class NotCoveredError(ValueError): # <<<<<<<<<<<<<< + * """Exception raised by the :class:`_IndexedGzipFile` when an attempt is + * made to seek to/read from a location that is not covered by the + */ + __Pyx_TraceLine(1108,0,__PYX_ERR(0, 1108, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__85); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__85, __pyx_n_s_NotCoveredError, __pyx_n_s_NotCoveredError, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Exception_raised_by_the_class__I); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_NotCoveredError, __pyx_tuple__85, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NotCoveredError, __pyx_t_1) < 0) __PYX_ERR(0, 1108, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1118 + * + * + * class ZranError(IOError): # <<<<<<<<<<<<<< + * """Exception raised by the :class:`_IndexedGzipFile` when the ``zran`` + * library signals an error. + */ + __Pyx_TraceLine(1118,0,__PYX_ERR(0, 1118, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__86); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1118, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__86, __pyx_n_s_ZranError, __pyx_n_s_ZranError, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Exception_raised_by_the_class__I_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ZranError, __pyx_tuple__86, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ZranError, __pyx_t_1) < 0) __PYX_ERR(0, 1118, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1125 + * + * + * class CrcError(OSError): # <<<<<<<<<<<<<< + * """Exception raised by the :class:`_IndexedGzipFile` when a CRC/size + * validation check fails, which suggests that the GZIP data might be + */ + __Pyx_TraceLine(1125,0,__PYX_ERR(0, 1125, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__87); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__87, __pyx_n_s_CrcError, __pyx_n_s_CrcError, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Exception_raised_by_the_class__I_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CrcError, __pyx_tuple__87, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_CrcError, __pyx_t_1) < 0) __PYX_ERR(0, 1125, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1133 + * + * + * class NoHandleError(ValueError): # <<<<<<<<<<<<<< + * """Exception raised by the :class:`_IndexedGzipFile` when + * ``drop_handles is True`` and an attempt is made to access the underlying + */ + __Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__88); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__88, __pyx_n_s_NoHandleError, __pyx_n_s_NoHandleError, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Exception_raised_by_the_class__I_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_NoHandleError, __pyx_tuple__88, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NoHandleError, __pyx_t_1) < 0) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1140 + * + * + * class ZRAN_ERRORS(object): # <<<<<<<<<<<<<< + * """Contains text versions of all error codes emitted by zran.c. """ + * ZRAN_BUILD = { + */ + __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__89); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__89, __pyx_n_s_ZRAN_ERRORS, __pyx_n_s_ZRAN_ERRORS, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Contains_text_versions_of_all_er); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + + /* "indexed_gzip/indexed_gzip.pyx":1143 + * """Contains text versions of all error codes emitted by zran.c. """ + * ZRAN_BUILD = { + * zran.ZRAN_BUILD_INDEX_FAIL : 'ZRAN_BUILD_INDEX_FAIL', # <<<<<<<<<<<<<< + * zran.ZRAN_BUILD_INDEX_CRC_ERROR : 'ZRAN_BUILD_INDEX_CRC_ERROR' + * } + */ + __Pyx_TraceLine(1143,0,__PYX_ERR(0, 1143, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1143, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_BUILD_INDEX_FAIL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1143, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_BUILD_INDEX_FAIL) < 0) __PYX_ERR(0, 1143, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1144 + * ZRAN_BUILD = { + * zran.ZRAN_BUILD_INDEX_FAIL : 'ZRAN_BUILD_INDEX_FAIL', + * zran.ZRAN_BUILD_INDEX_CRC_ERROR : 'ZRAN_BUILD_INDEX_CRC_ERROR' # <<<<<<<<<<<<<< + * } + * ZRAN_SEEK = { + */ + __Pyx_TraceLine(1144,0,__PYX_ERR(0, 1144, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_BUILD_INDEX_CRC_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1144, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_BUILD_INDEX_CRC_ERROR) < 0) __PYX_ERR(0, 1143, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_BUILD, __pyx_t_1) < 0) __PYX_ERR(0, 1142, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1147 + * } + * ZRAN_SEEK = { + * zran.ZRAN_SEEK_CRC_ERROR : 'ZRAN_SEEK_CRC_ERROR', # <<<<<<<<<<<<<< + * zran.ZRAN_SEEK_FAIL : 'ZRAN_SEEK_FAIL', + * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', + */ + __Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_CRC_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_CRC_ERROR) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1148 + * ZRAN_SEEK = { + * zran.ZRAN_SEEK_CRC_ERROR : 'ZRAN_SEEK_CRC_ERROR', + * zran.ZRAN_SEEK_FAIL : 'ZRAN_SEEK_FAIL', # <<<<<<<<<<<<<< + * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', + * zran.ZRAN_SEEK_EOF : 'ZRAN_SEEK_EOF', + */ + __Pyx_TraceLine(1148,0,__PYX_ERR(0, 1148, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_FAIL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1148, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_FAIL) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1149 + * zran.ZRAN_SEEK_CRC_ERROR : 'ZRAN_SEEK_CRC_ERROR', + * zran.ZRAN_SEEK_FAIL : 'ZRAN_SEEK_FAIL', + * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', # <<<<<<<<<<<<<< + * zran.ZRAN_SEEK_EOF : 'ZRAN_SEEK_EOF', + * zran.ZRAN_SEEK_INDEX_NOT_BUILT : 'ZRAN_SEEK_INDEX_NOT_BUILT' + */ + __Pyx_TraceLine(1149,0,__PYX_ERR(0, 1149, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_NOT_COVERED); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1149, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_NOT_COVERED) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1150 + * zran.ZRAN_SEEK_FAIL : 'ZRAN_SEEK_FAIL', + * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', + * zran.ZRAN_SEEK_EOF : 'ZRAN_SEEK_EOF', # <<<<<<<<<<<<<< + * zran.ZRAN_SEEK_INDEX_NOT_BUILT : 'ZRAN_SEEK_INDEX_NOT_BUILT' + * } + */ + __Pyx_TraceLine(1150,0,__PYX_ERR(0, 1150, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_EOF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1150, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_EOF) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1151 + * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', + * zran.ZRAN_SEEK_EOF : 'ZRAN_SEEK_EOF', + * zran.ZRAN_SEEK_INDEX_NOT_BUILT : 'ZRAN_SEEK_INDEX_NOT_BUILT' # <<<<<<<<<<<<<< + * } + * ZRAN_READ = { + */ + __Pyx_TraceLine(1151,0,__PYX_ERR(0, 1151, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_INDEX_NOT_BUILT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1151, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_INDEX_NOT_BUILT) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_SEEK, __pyx_t_1) < 0) __PYX_ERR(0, 1146, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1154 + * } + * ZRAN_READ = { + * zran.ZRAN_READ_NOT_COVERED : 'ZRAN_READ_NOT_COVERED', # <<<<<<<<<<<<<< + * zran.ZRAN_READ_EOF : 'ZRAN_READ_EOF', + * zran.ZRAN_READ_FAIL : 'ZRAN_READ_FAIL', + */ + __Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_READ_NOT_COVERED); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_READ_NOT_COVERED) < 0) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1155 + * ZRAN_READ = { + * zran.ZRAN_READ_NOT_COVERED : 'ZRAN_READ_NOT_COVERED', + * zran.ZRAN_READ_EOF : 'ZRAN_READ_EOF', # <<<<<<<<<<<<<< + * zran.ZRAN_READ_FAIL : 'ZRAN_READ_FAIL', + * zran.ZRAN_READ_CRC_ERROR : 'ZRAN_READ_CRC_ERROR' + */ + __Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_READ_EOF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_READ_EOF) < 0) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1156 + * zran.ZRAN_READ_NOT_COVERED : 'ZRAN_READ_NOT_COVERED', + * zran.ZRAN_READ_EOF : 'ZRAN_READ_EOF', + * zran.ZRAN_READ_FAIL : 'ZRAN_READ_FAIL', # <<<<<<<<<<<<<< + * zran.ZRAN_READ_CRC_ERROR : 'ZRAN_READ_CRC_ERROR' + * } + */ + __Pyx_TraceLine(1156,0,__PYX_ERR(0, 1156, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_READ_FAIL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_READ_FAIL) < 0) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1157 + * zran.ZRAN_READ_EOF : 'ZRAN_READ_EOF', + * zran.ZRAN_READ_FAIL : 'ZRAN_READ_FAIL', + * zran.ZRAN_READ_CRC_ERROR : 'ZRAN_READ_CRC_ERROR' # <<<<<<<<<<<<<< + * } + * ZRAN_EXPORT = { + */ + __Pyx_TraceLine(1157,0,__PYX_ERR(0, 1157, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_READ_CRC_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1157, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_READ_CRC_ERROR) < 0) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_READ, __pyx_t_1) < 0) __PYX_ERR(0, 1153, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1160 + * } + * ZRAN_EXPORT = { + * zran.ZRAN_EXPORT_WRITE_ERROR : 'ZRAN_EXPORT_WRITE_ERROR' # <<<<<<<<<<<<<< + * } + * ZRAN_IMPORT = { + */ + __Pyx_TraceLine(1160,0,__PYX_ERR(0, 1160, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_EXPORT_WRITE_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_EXPORT_WRITE_ERROR) < 0) __PYX_ERR(0, 1160, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_EXPORT, __pyx_t_1) < 0) __PYX_ERR(0, 1159, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1163 + * } + * ZRAN_IMPORT = { + * zran.ZRAN_IMPORT_OK : 'ZRAN_IMPORT_OK', # <<<<<<<<<<<<<< + * zran.ZRAN_IMPORT_FAIL : 'ZRAN_IMPORT_FAIL', + * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', + */ + __Pyx_TraceLine(1163,0,__PYX_ERR(0, 1163, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyDict_NewPresized(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_OK); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_OK) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1164 + * ZRAN_IMPORT = { + * zran.ZRAN_IMPORT_OK : 'ZRAN_IMPORT_OK', + * zran.ZRAN_IMPORT_FAIL : 'ZRAN_IMPORT_FAIL', # <<<<<<<<<<<<<< + * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', + * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', + */ + __Pyx_TraceLine(1164,0,__PYX_ERR(0, 1164, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_FAIL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1164, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_FAIL) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1165 + * zran.ZRAN_IMPORT_OK : 'ZRAN_IMPORT_OK', + * zran.ZRAN_IMPORT_FAIL : 'ZRAN_IMPORT_FAIL', + * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', # <<<<<<<<<<<<<< + * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', + * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', + */ + __Pyx_TraceLine(1165,0,__PYX_ERR(0, 1165, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_EOF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1165, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_EOF) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1166 + * zran.ZRAN_IMPORT_FAIL : 'ZRAN_IMPORT_FAIL', + * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', + * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', # <<<<<<<<<<<<<< + * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', + * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', + */ + __Pyx_TraceLine(1166,0,__PYX_ERR(0, 1166, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_READ_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_READ_ERROR) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1167 + * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', + * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', + * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', # <<<<<<<<<<<<<< + * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', + * zran.ZRAN_IMPORT_UNKNOWN_FORMAT : 'ZRAN_IMPORT_UNKNOWN_FORMAT', + */ + __Pyx_TraceLine(1167,0,__PYX_ERR(0, 1167, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_INCONSISTENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1167, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_INCONSISTENT) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1168 + * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', + * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', + * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', # <<<<<<<<<<<<<< + * zran.ZRAN_IMPORT_UNKNOWN_FORMAT : 'ZRAN_IMPORT_UNKNOWN_FORMAT', + * zran.ZRAN_IMPORT_UNSUPPORTED_VERSION : 'ZRAN_IMPORT_UNSUPPORTED_VERSION' + */ + __Pyx_TraceLine(1168,0,__PYX_ERR(0, 1168, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_MEMORY_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_MEMORY_ERROR) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1169 + * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', + * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', + * zran.ZRAN_IMPORT_UNKNOWN_FORMAT : 'ZRAN_IMPORT_UNKNOWN_FORMAT', # <<<<<<<<<<<<<< + * zran.ZRAN_IMPORT_UNSUPPORTED_VERSION : 'ZRAN_IMPORT_UNSUPPORTED_VERSION' + * } + */ + __Pyx_TraceLine(1169,0,__PYX_ERR(0, 1169, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_UNKNOWN_FORMAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_UNKNOWN_FORMAT) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1170 + * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', + * zran.ZRAN_IMPORT_UNKNOWN_FORMAT : 'ZRAN_IMPORT_UNKNOWN_FORMAT', + * zran.ZRAN_IMPORT_UNSUPPORTED_VERSION : 'ZRAN_IMPORT_UNSUPPORTED_VERSION' # <<<<<<<<<<<<<< + * } + */ + __Pyx_TraceLine(1170,0,__PYX_ERR(0, 1170, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_UNSUPPORTED_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1170, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_UNSUPPORTED_VERSION) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_IMPORT, __pyx_t_1) < 0) __PYX_ERR(0, 1162, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1140 + * + * + * class ZRAN_ERRORS(object): # <<<<<<<<<<<<<< + * """Contains text versions of all error codes emitted by zran.c. """ + * ZRAN_BUILD = { + */ + __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L1_error)) + __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ZRAN_ERRORS, __pyx_tuple__89, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1140, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ZRAN_ERRORS, __pyx_t_1) < 0) __PYX_ERR(0, 1140, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/indexed_gzip.pyx":1 + * # cython: binding=True,embedsignature=True # <<<<<<<<<<<<<< + * # + * # The IndexedGzipFile class. + */ + __Pyx_TraceLine(1,0,__PYX_ERR(0, 1, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_TraceReturn(Py_None, 0); + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init indexed_gzip.indexed_gzip", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init indexed_gzip.indexed_gzip"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* Profile */ +#if CYTHON_PROFILE +static int __Pyx_TraceSetupAndCall(PyCodeObject** code, + PyFrameObject** frame, + PyThreadState* tstate, + const char *funcname, + const char *srcfile, + int firstlineno) { + PyObject *type, *value, *traceback; + int retval; + if (*frame == NULL || !CYTHON_PROFILE_REUSE_FRAME) { + if (*code == NULL) { + *code = __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno); + if (*code == NULL) return 0; + } + *frame = PyFrame_New( + tstate, /*PyThreadState *tstate*/ + *code, /*PyCodeObject *code*/ + __pyx_d, /*PyObject *globals*/ + 0 /*PyObject *locals*/ + ); + if (*frame == NULL) return 0; + if (CYTHON_TRACE && (*frame)->f_trace == NULL) { + Py_INCREF(Py_None); + (*frame)->f_trace = Py_None; + } +#if PY_VERSION_HEX < 0x030400B1 + } else { + (*frame)->f_tstate = tstate; +#endif + } + __Pyx_PyFrame_SetLineNumber(*frame, firstlineno); + retval = 1; + __Pyx_EnterTracing(tstate); + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + #if CYTHON_TRACE + if (tstate->c_tracefunc) + retval = tstate->c_tracefunc(tstate->c_traceobj, *frame, PyTrace_CALL, NULL) == 0; + if (retval && tstate->c_profilefunc) + #endif + retval = tstate->c_profilefunc(tstate->c_profileobj, *frame, PyTrace_CALL, NULL) == 0; + __Pyx_LeaveTracing(tstate); + if (retval) { + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + return __Pyx_IsTracing(tstate, 0, 0) && retval; + } else { + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(traceback); + return -1; + } +} +static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno) { + PyCodeObject *py_code = 0; +#if PY_MAJOR_VERSION >= 3 + py_code = PyCode_NewEmpty(srcfile, funcname, firstlineno); + if (likely(py_code)) { + py_code->co_flags |= CO_OPTIMIZED | CO_NEWLOCALS; + } +#else + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + py_funcname = PyString_FromString(funcname); + if (unlikely(!py_funcname)) goto bad; + py_srcfile = PyString_FromString(srcfile); + if (unlikely(!py_srcfile)) goto bad; + py_code = PyCode_New( + 0, + 0, + 0, + CO_OPTIMIZED | CO_NEWLOCALS, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + firstlineno, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); +#endif + return py_code; +} +#endif + +/* PyDictVersioning */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = Py_TYPE(func)->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* DictGetItem */ +#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY +static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { + PyObject *value; + value = PyDict_GetItemWithError(d, key); + if (unlikely(!value)) { + if (!PyErr_Occurred()) { + if (unlikely(PyTuple_Check(key))) { + PyObject* args = PyTuple_Pack(1, key); + if (likely(args)) { + PyErr_SetObject(PyExc_KeyError, args); + Py_DECREF(args); + } + } else { + PyErr_SetObject(PyExc_KeyError, key); + } + } + return NULL; + } + Py_INCREF(value); + return value; +} +#endif + +/* UnpackUnboundCMethod */ +static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { + PyObject *method; + method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); + if (unlikely(!method)) + return -1; + target->method = method; +#if CYTHON_COMPILING_IN_CPYTHON + #if PY_MAJOR_VERSION >= 3 + if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) + #endif + { + PyMethodDescrObject *descr = (PyMethodDescrObject*) method; + target->func = descr->d_method->ml_meth; + target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); + } +#endif + return 0; +} + +/* CallUnboundCMethod2 */ +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1 +static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) { + if (likely(cfunc->func)) { + PyObject *args[2] = {arg1, arg2}; + if (cfunc->flag == METH_FASTCALL) { + #if PY_VERSION_HEX >= 0x030700A0 + return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, args, 2); + #else + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL); + #endif + } + #if PY_VERSION_HEX >= 0x030700A0 + if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS)) + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL); + #endif + } + return __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2); +} +#endif +static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){ + PyObject *args, *result = NULL; + if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; +#if CYTHON_COMPILING_IN_CPYTHON + if (cfunc->func && (cfunc->flag & METH_VARARGS)) { + args = PyTuple_New(2); + if (unlikely(!args)) goto bad; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + if (cfunc->flag & METH_KEYWORDS) + result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); + else + result = (*cfunc->func)(self, args); + } else { + args = PyTuple_New(3); + if (unlikely(!args)) goto bad; + Py_INCREF(self); + PyTuple_SET_ITEM(args, 0, self); + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 1, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 2, arg2); + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); + } +#else + args = PyTuple_Pack(3, self, arg1, arg2); + if (unlikely(!args)) goto bad; + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); +#endif +bad: + Py_XDECREF(args); + return result; +} + +/* CallUnboundCMethod1 */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) { + if (likely(cfunc->func)) { + int flag = cfunc->flag; + if (flag == METH_O) { + return (*(cfunc->func))(self, arg); + } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) { + #if PY_VERSION_HEX >= 0x030700A0 + return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1); + #else + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); + #endif + } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) { + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); + } + } + return __Pyx__CallUnboundCMethod1(cfunc, self, arg); +} +#endif +static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){ + PyObject *args, *result = NULL; + if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; +#if CYTHON_COMPILING_IN_CPYTHON + if (cfunc->func && (cfunc->flag & METH_VARARGS)) { + args = PyTuple_New(1); + if (unlikely(!args)) goto bad; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + if (cfunc->flag & METH_KEYWORDS) + result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); + else + result = (*cfunc->func)(self, args); + } else { + args = PyTuple_New(2); + if (unlikely(!args)) goto bad; + Py_INCREF(self); + PyTuple_SET_ITEM(args, 0, self); + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 1, arg); + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); + } +#else + args = PyTuple_Pack(2, self, arg); + if (unlikely(!args)) goto bad; + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); +#endif +bad: + Py_XDECREF(args); + return result; +} + +/* py_dict_pop */ +static CYTHON_INLINE PyObject *__Pyx_PyDict_Pop(PyObject *d, PyObject *key, PyObject *default_value) { +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B3 + if ((1)) { + return _PyDict_Pop(d, key, default_value); + } else +#endif + if (default_value) { + return __Pyx_CallUnboundCMethod2(&__pyx_umethod_PyDict_Type_pop, d, key, default_value); + } else { + return __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_pop, d, key); + } +} + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG) + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (__Pyx_PyFastCFunction_Check(func)) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyObjectSetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_setattro)) + return tp->tp_setattro(obj, attr_name, value); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_setattr)) + return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); +#endif + return PyObject_SetAttr(obj, attr_name, value); +} +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* PyIntCompare */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { + if (op1 == op2) { + Py_RETURN_TRUE; + } + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long a = PyInt_AS_LONG(op1); + if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + int unequal; + unsigned long uintval; + Py_ssize_t size = Py_SIZE(op1); + const digit* digits = ((PyLongObject*)op1)->ob_digit; + if (intval == 0) { + if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } else if (intval < 0) { + if (size >= 0) + Py_RETURN_FALSE; + intval = -intval; + size = -size; + } else { + if (size <= 0) + Py_RETURN_FALSE; + } + uintval = (unsigned long) intval; +#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 4)) { + unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 3)) { + unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 2)) { + unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 1)) { + unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif + unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); + if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + return ( + PyObject_RichCompare(op1, op2, Py_EQ)); +} + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* GetAttr3 */ +static PyObject *__Pyx_GetAttr3Default(PyObject *d) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(d); + return d; +} +static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { + PyObject *r = __Pyx_GetAttr(o, n); + return (likely(r)) ? r : __Pyx_GetAttr3Default(d); +} + +/* BytesEquals */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else + if (s1 == s2) { + return (equals == Py_EQ); + } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { + const char *ps1, *ps2; + Py_ssize_t length = PyBytes_GET_SIZE(s1); + if (length != PyBytes_GET_SIZE(s2)) + return (equals == Py_NE); + ps1 = PyBytes_AS_STRING(s1); + ps2 = PyBytes_AS_STRING(s2); + if (ps1[0] != ps2[0]) { + return (equals == Py_NE); + } else if (length == 1) { + return (equals == Py_EQ); + } else { + int result; +#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) + Py_hash_t hash1, hash2; + hash1 = ((PyBytesObject*)s1)->ob_shash; + hash2 = ((PyBytesObject*)s2)->ob_shash; + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + return (equals == Py_NE); + } +#endif + result = memcmp(ps1, ps2, (size_t)length); + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { + return (equals == Py_NE); + } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { + return (equals == Py_NE); + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +#endif +} + +/* UnicodeEquals */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else +#if PY_MAJOR_VERSION < 3 + PyObject* owned_ref = NULL; +#endif + int s1_is_unicode, s2_is_unicode; + if (s1 == s2) { + goto return_eq; + } + s1_is_unicode = PyUnicode_CheckExact(s1); + s2_is_unicode = PyUnicode_CheckExact(s2); +#if PY_MAJOR_VERSION < 3 + if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { + owned_ref = PyUnicode_FromObject(s2); + if (unlikely(!owned_ref)) + return -1; + s2 = owned_ref; + s2_is_unicode = 1; + } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { + owned_ref = PyUnicode_FromObject(s1); + if (unlikely(!owned_ref)) + return -1; + s1 = owned_ref; + s1_is_unicode = 1; + } else if (((!s2_is_unicode) & (!s1_is_unicode))) { + return __Pyx_PyBytes_Equals(s1, s2, equals); + } +#endif + if (s1_is_unicode & s2_is_unicode) { + Py_ssize_t length; + int kind; + void *data1, *data2; + if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) + return -1; + length = __Pyx_PyUnicode_GET_LENGTH(s1); + if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { + goto return_ne; + } +#if CYTHON_USE_UNICODE_INTERNALS + { + Py_hash_t hash1, hash2; + #if CYTHON_PEP393_ENABLED + hash1 = ((PyASCIIObject*)s1)->hash; + hash2 = ((PyASCIIObject*)s2)->hash; + #else + hash1 = ((PyUnicodeObject*)s1)->hash; + hash2 = ((PyUnicodeObject*)s2)->hash; + #endif + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + goto return_ne; + } + } +#endif + kind = __Pyx_PyUnicode_KIND(s1); + if (kind != __Pyx_PyUnicode_KIND(s2)) { + goto return_ne; + } + data1 = __Pyx_PyUnicode_DATA(s1); + data2 = __Pyx_PyUnicode_DATA(s2); + if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { + goto return_ne; + } else if (length == 1) { + goto return_eq; + } else { + int result = memcmp(data1, data2, (size_t)(length * kind)); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & s2_is_unicode) { + goto return_ne; + } else if ((s2 == Py_None) & s1_is_unicode) { + goto return_ne; + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +return_eq: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ); +return_ne: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_NE); +#endif +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; iexc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = *type; + exc_info->exc_value = *value; + exc_info->exc_traceback = *tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = *type; + tstate->exc_value = *value; + tstate->exc_traceback = *tb; + #endif + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); + PyErr_SetExcInfo(*type, *value, *tb); + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#endif + +/* FetchCommonType */ +static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { + PyObject* fake_module; + PyTypeObject* cached_type = NULL; + fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); + if (!fake_module) return NULL; + Py_INCREF(fake_module); + cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); + if (cached_type) { + if (!PyType_Check((PyObject*)cached_type)) { + PyErr_Format(PyExc_TypeError, + "Shared Cython type %.200s is not a type object", + type->tp_name); + goto bad; + } + if (cached_type->tp_basicsize != type->tp_basicsize) { + PyErr_Format(PyExc_TypeError, + "Shared Cython type %.200s has the wrong size, try recompiling", + type->tp_name); + goto bad; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; + PyErr_Clear(); + if (PyType_Ready(type) < 0) goto bad; + if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) + goto bad; + Py_INCREF(type); + cached_type = type; + } +done: + Py_DECREF(fake_module); + return cached_type; +bad: + Py_XDECREF(cached_type); + cached_type = NULL; + goto done; +} + +/* CythonFunctionShared */ +#include +static PyObject * +__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure) +{ + if (unlikely(op->func_doc == NULL)) { + if (op->func.m_ml->ml_doc) { +#if PY_MAJOR_VERSION >= 3 + op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc); +#else + op->func_doc = PyString_FromString(op->func.m_ml->ml_doc); +#endif + if (unlikely(op->func_doc == NULL)) + return NULL; + } else { + Py_INCREF(Py_None); + return Py_None; + } + } + Py_INCREF(op->func_doc); + return op->func_doc; +} +static int +__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp = op->func_doc; + if (value == NULL) { + value = Py_None; + } + Py_INCREF(value); + op->func_doc = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + if (unlikely(op->func_name == NULL)) { +#if PY_MAJOR_VERSION >= 3 + op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name); +#else + op->func_name = PyString_InternFromString(op->func.m_ml->ml_name); +#endif + if (unlikely(op->func_name == NULL)) + return NULL; + } + Py_INCREF(op->func_name); + return op->func_name; +} +static int +__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__name__ must be set to a string object"); + return -1; + } + tmp = op->func_name; + Py_INCREF(value); + op->func_name = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(op->func_qualname); + return op->func_qualname; +} +static int +__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__qualname__ must be set to a string object"); + return -1; + } + tmp = op->func_qualname; + Py_INCREF(value); + op->func_qualname = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure) +{ + PyObject *self; + self = m->func_closure; + if (self == NULL) + self = Py_None; + Py_INCREF(self); + return self; +} +static PyObject * +__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + if (unlikely(op->func_dict == NULL)) { + op->func_dict = PyDict_New(); + if (unlikely(op->func_dict == NULL)) + return NULL; + } + Py_INCREF(op->func_dict); + return op->func_dict; +} +static int +__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; + if (unlikely(value == NULL)) { + PyErr_SetString(PyExc_TypeError, + "function's dictionary may not be deleted"); + return -1; + } + if (unlikely(!PyDict_Check(value))) { + PyErr_SetString(PyExc_TypeError, + "setting function's dictionary to a non-dict"); + return -1; + } + tmp = op->func_dict; + Py_INCREF(value); + op->func_dict = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(op->func_globals); + return op->func_globals; +} +static PyObject * +__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(Py_None); + return Py_None; +} +static PyObject * +__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + PyObject* result = (op->func_code) ? op->func_code : Py_None; + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { + int result = 0; + PyObject *res = op->defaults_getter((PyObject *) op); + if (unlikely(!res)) + return -1; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + op->defaults_tuple = PyTuple_GET_ITEM(res, 0); + Py_INCREF(op->defaults_tuple); + op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); + Py_INCREF(op->defaults_kwdict); + #else + op->defaults_tuple = PySequence_ITEM(res, 0); + if (unlikely(!op->defaults_tuple)) result = -1; + else { + op->defaults_kwdict = PySequence_ITEM(res, 1); + if (unlikely(!op->defaults_kwdict)) result = -1; + } + #endif + Py_DECREF(res); + return result; +} +static int +__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value) { + value = Py_None; + } else if (value != Py_None && !PyTuple_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__defaults__ must be set to a tuple object"); + return -1; + } + Py_INCREF(value); + tmp = op->defaults_tuple; + op->defaults_tuple = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->defaults_tuple; + if (unlikely(!result)) { + if (op->defaults_getter) { + if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; + result = op->defaults_tuple; + } else { + result = Py_None; + } + } + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value) { + value = Py_None; + } else if (value != Py_None && !PyDict_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__kwdefaults__ must be set to a dict object"); + return -1; + } + Py_INCREF(value); + tmp = op->defaults_kwdict; + op->defaults_kwdict = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->defaults_kwdict; + if (unlikely(!result)) { + if (op->defaults_getter) { + if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; + result = op->defaults_kwdict; + } else { + result = Py_None; + } + } + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value || value == Py_None) { + value = NULL; + } else if (!PyDict_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__annotations__ must be set to a dict object"); + return -1; + } + Py_XINCREF(value); + tmp = op->func_annotations; + op->func_annotations = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->func_annotations; + if (unlikely(!result)) { + result = PyDict_New(); + if (unlikely(!result)) return NULL; + op->func_annotations = result; + } + Py_INCREF(result); + return result; +} +static PyGetSetDef __pyx_CyFunction_getsets[] = { + {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, + {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, + {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, + {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, + {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, + {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0}, + {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, + {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, + {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, + {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, + {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, + {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, + {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, + {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, + {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, + {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, + {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, + {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, + {0, 0, 0, 0, 0} +}; +static PyMemberDef __pyx_CyFunction_members[] = { + {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0}, + {0, 0, 0, 0, 0} +}; +static PyObject * +__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) +{ +#if PY_MAJOR_VERSION >= 3 + Py_INCREF(m->func_qualname); + return m->func_qualname; +#else + return PyString_FromString(m->func.m_ml->ml_name); +#endif +} +static PyMethodDef __pyx_CyFunction_methods[] = { + {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, + {0, 0, 0, 0} +}; +#if PY_VERSION_HEX < 0x030500A0 +#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) +#else +#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) +#endif +static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, + PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { + if (unlikely(op == NULL)) + return NULL; + op->flags = flags; + __Pyx_CyFunction_weakreflist(op) = NULL; + op->func.m_ml = ml; + op->func.m_self = (PyObject *) op; + Py_XINCREF(closure); + op->func_closure = closure; + Py_XINCREF(module); + op->func.m_module = module; + op->func_dict = NULL; + op->func_name = NULL; + Py_INCREF(qualname); + op->func_qualname = qualname; + op->func_doc = NULL; + op->func_classobj = NULL; + op->func_globals = globals; + Py_INCREF(op->func_globals); + Py_XINCREF(code); + op->func_code = code; + op->defaults_pyobjects = 0; + op->defaults_size = 0; + op->defaults = NULL; + op->defaults_tuple = NULL; + op->defaults_kwdict = NULL; + op->defaults_getter = NULL; + op->func_annotations = NULL; + return (PyObject *) op; +} +static int +__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) +{ + Py_CLEAR(m->func_closure); + Py_CLEAR(m->func.m_module); + Py_CLEAR(m->func_dict); + Py_CLEAR(m->func_name); + Py_CLEAR(m->func_qualname); + Py_CLEAR(m->func_doc); + Py_CLEAR(m->func_globals); + Py_CLEAR(m->func_code); + Py_CLEAR(m->func_classobj); + Py_CLEAR(m->defaults_tuple); + Py_CLEAR(m->defaults_kwdict); + Py_CLEAR(m->func_annotations); + if (m->defaults) { + PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); + int i; + for (i = 0; i < m->defaults_pyobjects; i++) + Py_XDECREF(pydefaults[i]); + PyObject_Free(m->defaults); + m->defaults = NULL; + } + return 0; +} +static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) +{ + if (__Pyx_CyFunction_weakreflist(m) != NULL) + PyObject_ClearWeakRefs((PyObject *) m); + __Pyx_CyFunction_clear(m); + PyObject_GC_Del(m); +} +static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) +{ + PyObject_GC_UnTrack(m); + __Pyx__CyFunction_dealloc(m); +} +static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) +{ + Py_VISIT(m->func_closure); + Py_VISIT(m->func.m_module); + Py_VISIT(m->func_dict); + Py_VISIT(m->func_name); + Py_VISIT(m->func_qualname); + Py_VISIT(m->func_doc); + Py_VISIT(m->func_globals); + Py_VISIT(m->func_code); + Py_VISIT(m->func_classobj); + Py_VISIT(m->defaults_tuple); + Py_VISIT(m->defaults_kwdict); + if (m->defaults) { + PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); + int i; + for (i = 0; i < m->defaults_pyobjects; i++) + Py_VISIT(pydefaults[i]); + } + return 0; +} +static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) +{ +#if PY_MAJOR_VERSION < 3 + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { + Py_INCREF(func); + return func; + } + if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { + if (type == NULL) + type = (PyObject *)(Py_TYPE(obj)); + return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); + } + if (obj == Py_None) + obj = NULL; +#endif + return __Pyx_PyMethod_New(func, obj, type); +} +static PyObject* +__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) +{ +#if PY_MAJOR_VERSION >= 3 + return PyUnicode_FromFormat("", + op->func_qualname, (void *)op); +#else + return PyString_FromFormat("", + PyString_AsString(op->func_qualname), (void *)op); +#endif +} +static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { + PyCFunctionObject* f = (PyCFunctionObject*)func; + PyCFunction meth = f->m_ml->ml_meth; + Py_ssize_t size; + switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { + case METH_VARARGS: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) + return (*meth)(self, arg); + break; + case METH_VARARGS | METH_KEYWORDS: + return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); + case METH_NOARGS: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) { + size = PyTuple_GET_SIZE(arg); + if (likely(size == 0)) + return (*meth)(self, NULL); + PyErr_Format(PyExc_TypeError, + "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", + f->m_ml->ml_name, size); + return NULL; + } + break; + case METH_O: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) { + size = PyTuple_GET_SIZE(arg); + if (likely(size == 1)) { + PyObject *result, *arg0; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + arg0 = PyTuple_GET_ITEM(arg, 0); + #else + arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; + #endif + result = (*meth)(self, arg0); + #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) + Py_DECREF(arg0); + #endif + return result; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", + f->m_ml->ml_name, size); + return NULL; + } + break; + default: + PyErr_SetString(PyExc_SystemError, "Bad call flags in " + "__Pyx_CyFunction_Call. METH_OLDARGS is no " + "longer supported!"); + return NULL; + } + PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", + f->m_ml->ml_name); + return NULL; +} +static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { + return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); +} +static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { + PyObject *result; + __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; + if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { + Py_ssize_t argc; + PyObject *new_args; + PyObject *self; + argc = PyTuple_GET_SIZE(args); + new_args = PyTuple_GetSlice(args, 1, argc); + if (unlikely(!new_args)) + return NULL; + self = PyTuple_GetItem(args, 0); + if (unlikely(!self)) { + Py_DECREF(new_args); +#if PY_MAJOR_VERSION > 2 + PyErr_Format(PyExc_TypeError, + "unbound method %.200S() needs an argument", + cyfunc->func_qualname); +#else + PyErr_SetString(PyExc_TypeError, + "unbound method needs an argument"); +#endif + return NULL; + } + result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); + Py_DECREF(new_args); + } else { + result = __Pyx_CyFunction_Call(func, args, kw); + } + return result; +} +static PyTypeObject __pyx_CyFunctionType_type = { + PyVarObject_HEAD_INIT(0, 0) + "cython_function_or_method", + sizeof(__pyx_CyFunctionObject), + 0, + (destructor) __Pyx_CyFunction_dealloc, + 0, + 0, + 0, +#if PY_MAJOR_VERSION < 3 + 0, +#else + 0, +#endif + (reprfunc) __Pyx_CyFunction_repr, + 0, + 0, + 0, + 0, + __Pyx_CyFunction_CallAsMethod, + 0, + 0, + 0, + 0, + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, + 0, + (traverseproc) __Pyx_CyFunction_traverse, + (inquiry) __Pyx_CyFunction_clear, + 0, +#if PY_VERSION_HEX < 0x030500A0 + offsetof(__pyx_CyFunctionObject, func_weakreflist), +#else + offsetof(PyCFunctionObject, m_weakreflist), +#endif + 0, + 0, + __pyx_CyFunction_methods, + __pyx_CyFunction_members, + __pyx_CyFunction_getsets, + 0, + 0, + __Pyx_CyFunction_descr_get, + 0, + offsetof(__pyx_CyFunctionObject, func_dict), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, +#if PY_VERSION_HEX >= 0x030400a1 + 0, +#endif +#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, +#endif +#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, +#endif +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, +#endif +}; +static int __pyx_CyFunction_init(void) { + __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); + if (unlikely(__pyx_CyFunctionType == NULL)) { + return -1; + } + return 0; +} +static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults = PyObject_Malloc(size); + if (unlikely(!m->defaults)) + return PyErr_NoMemory(); + memset(m->defaults, 0, size); + m->defaults_pyobjects = pyobjects; + m->defaults_size = size; + return m->defaults; +} +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults_tuple = tuple; + Py_INCREF(tuple); +} +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults_kwdict = dict; + Py_INCREF(dict); +} +static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->func_annotations = dict; + Py_INCREF(dict); +} + +/* CythonFunction */ +static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, + PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { + PyObject *op = __Pyx_CyFunction_Init( + PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), + ml, flags, qualname, closure, module, globals, code + ); + if (likely(op)) { + PyObject_GC_Track(op); + } + return op; +} + +/* KeywordStringCheck */ +static int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) +{ + PyObject* key = 0; + Py_ssize_t pos = 0; +#if CYTHON_COMPILING_IN_PYPY + if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) + goto invalid_keyword; + return 1; +#else + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_Check(key))) + #endif + if (unlikely(!PyUnicode_Check(key))) + goto invalid_keyword_type; + } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + return 0; +#endif +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif + return 0; +} + +/* WriteUnraisableException */ +static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, + CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename, + int full_traceback, CYTHON_UNUSED int nogil) { + PyObject *old_exc, *old_val, *old_tb; + PyObject *ctx; + __Pyx_PyThreadState_declare +#ifdef WITH_THREAD + PyGILState_STATE state; + if (nogil) + state = PyGILState_Ensure(); + else state = (PyGILState_STATE)0; +#endif + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); + if (full_traceback) { + Py_XINCREF(old_exc); + Py_XINCREF(old_val); + Py_XINCREF(old_tb); + __Pyx_ErrRestore(old_exc, old_val, old_tb); + PyErr_PrintEx(1); + } + #if PY_MAJOR_VERSION < 3 + ctx = PyString_FromString(name); + #else + ctx = PyUnicode_FromString(name); + #endif + __Pyx_ErrRestore(old_exc, old_val, old_tb); + if (!ctx) { + PyErr_WriteUnraisable(Py_None); + } else { + PyErr_WriteUnraisable(ctx); + Py_DECREF(ctx); + } +#ifdef WITH_THREAD + if (nogil) + PyGILState_Release(state); +#endif +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* SliceObject */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* PyObjectGetAttrStrNoError */ +static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + __Pyx_PyErr_Clear(); +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { + PyObject *result; +#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { + return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); + } +#endif + result = __Pyx_PyObject_GetAttrStr(obj, attr_name); + if (unlikely(!result)) { + __Pyx_PyObject_GetAttrStr_ClearAttributeError(); + } + return result; +} + +/* SetupReduce */ +static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_getstate = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; + PyObject *getstate = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate); +#else + getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate); + if (!getstate && PyErr_Occurred()) { + goto __PYX_BAD; + } +#endif + if (getstate) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate); +#else + object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate); + if (!object_getstate && PyErr_Occurred()) { + goto __PYX_BAD; + } +#endif + if (object_getstate != getstate) { + goto __PYX_GOOD; + } + } +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython); + if (likely(reduce_cython)) { + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + } else if (reduce == object_reduce || PyErr_Occurred()) { + goto __PYX_BAD; + } + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython); + if (likely(setstate_cython)) { + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + } else if (!setstate || PyErr_Occurred()) { + goto __PYX_BAD; + } + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto __PYX_GOOD; +__PYX_BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +__PYX_GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); + Py_XDECREF(object_getstate); + Py_XDECREF(getstate); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* TypeImport */ +#ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* CalculateMetaclass */ +static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { + Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases); + for (i=0; i < nbases; i++) { + PyTypeObject *tmptype; + PyObject *tmp = PyTuple_GET_ITEM(bases, i); + tmptype = Py_TYPE(tmp); +#if PY_MAJOR_VERSION < 3 + if (tmptype == &PyClass_Type) + continue; +#endif + if (!metaclass) { + metaclass = tmptype; + continue; + } + if (PyType_IsSubtype(metaclass, tmptype)) + continue; + if (PyType_IsSubtype(tmptype, metaclass)) { + metaclass = tmptype; + continue; + } + PyErr_SetString(PyExc_TypeError, + "metaclass conflict: " + "the metaclass of a derived class " + "must be a (non-strict) subclass " + "of the metaclasses of all its bases"); + return NULL; + } + if (!metaclass) { +#if PY_MAJOR_VERSION < 3 + metaclass = &PyClass_Type; +#else + metaclass = &PyType_Type; +#endif + } + Py_INCREF((PyObject*) metaclass); + return (PyObject*) metaclass; +} + +/* Py3ClassCreate */ +static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, + PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { + PyObject *ns; + if (metaclass) { + PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare); + if (prep) { + PyObject *pargs = PyTuple_Pack(2, name, bases); + if (unlikely(!pargs)) { + Py_DECREF(prep); + return NULL; + } + ns = PyObject_Call(prep, pargs, mkw); + Py_DECREF(prep); + Py_DECREF(pargs); + } else { + if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + PyErr_Clear(); + ns = PyDict_New(); + } + } else { + ns = PyDict_New(); + } + if (unlikely(!ns)) + return NULL; + if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad; + if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad; + if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad; + return ns; +bad: + Py_DECREF(ns); + return NULL; +} +static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, + PyObject *dict, PyObject *mkw, + int calculate_metaclass, int allow_py2_metaclass) { + PyObject *result, *margs; + PyObject *owned_metaclass = NULL; + if (allow_py2_metaclass) { + owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass); + if (owned_metaclass) { + metaclass = owned_metaclass; + } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { + PyErr_Clear(); + } else { + return NULL; + } + } + if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { + metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); + Py_XDECREF(owned_metaclass); + if (unlikely(!metaclass)) + return NULL; + owned_metaclass = metaclass; + } + margs = PyTuple_Pack(3, name, bases, dict); + if (unlikely(!margs)) { + result = NULL; + } else { + result = PyObject_Call(metaclass, margs, mkw); + Py_DECREF(margs); + } + Py_XDECREF(owned_metaclass); + return result; +} + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = NULL; + PyObject *py_funcname = NULL; + #if PY_MAJOR_VERSION < 3 + PyObject *py_srcfile = NULL; + py_srcfile = PyString_FromString(filename); + if (!py_srcfile) goto bad; + #endif + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + funcname = PyUnicode_AsUTF8(py_funcname); + if (!funcname) goto bad; + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + if (!py_funcname) goto bad; + #endif + } + #if PY_MAJOR_VERSION < 3 + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + #else + py_code = PyCode_NewEmpty(filename, funcname, py_line); + #endif + Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline + return py_code; +bad: + Py_XDECREF(py_funcname); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_srcfile); + #endif + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject *ptype, *pvalue, *ptraceback; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) { + /* If the code object creation fails, then we should clear the + fetched exception references and propagate the new exception */ + Py_XDECREF(ptype); + Py_XDECREF(pvalue); + Py_XDECREF(ptraceback); + goto bad; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const size_t neg_one = (size_t) -1, const_zero = (size_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(size_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (size_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (size_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0]) + case 2: + if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) { + return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) { + return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 4 * PyLong_SHIFT) { + return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (size_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(size_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (size_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, +digits[0]) + case -2: + if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { + return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(size_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + size_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (size_t) -1; + } + } else { + size_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (size_t) -1; + val = __Pyx_PyInt_As_size_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to size_t"); + return (size_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to size_t"); + return (size_t) -1; +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(uint32_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(uint32_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (uint32_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint32_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, digits[0]) + case 2: + if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) >= 2 * PyLong_SHIFT) { + return (uint32_t) (((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) >= 3 * PyLong_SHIFT) { + return (uint32_t) (((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) >= 4 * PyLong_SHIFT) { + return (uint32_t) (((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (uint32_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(uint32_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint32_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(uint32_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, +digits[0]) + case -2: + if (8 * sizeof(uint32_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { + return (uint32_t) (((uint32_t)-1)*(((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { + return (uint32_t) ((((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { + return (uint32_t) (((uint32_t)-1)*(((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { + return (uint32_t) ((((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) { + return (uint32_t) (((uint32_t)-1)*(((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) { + return (uint32_t) ((((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(uint32_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint32_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint32_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + uint32_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (uint32_t) -1; + } + } else { + uint32_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (uint32_t) -1; + val = __Pyx_PyInt_As_uint32_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to uint32_t"); + return (uint32_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to uint32_t"); + return (uint32_t) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(unsigned int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(unsigned int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (unsigned int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (unsigned int) 0; + case 1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, digits[0]) + case 2: + if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT) { + return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT) { + return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT) { + return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (unsigned int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(unsigned int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (unsigned int) 0; + case -1: __PYX_VERIFY_RETURN_INT(unsigned int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, +digits[0]) + case -2: + if (8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { + return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { + return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { + return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { + return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) { + return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) { + return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(unsigned int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + unsigned int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (unsigned int) -1; + } + } else { + unsigned int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (unsigned int) -1; + val = __Pyx_PyInt_As_unsigned_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to unsigned int"); + return (unsigned int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to unsigned int"); + return (unsigned int) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint16_t neg_one = (uint16_t) -1, const_zero = (uint16_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(uint16_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(uint16_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (uint16_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint16_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, digits[0]) + case 2: + if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) >= 2 * PyLong_SHIFT) { + return (uint16_t) (((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) >= 3 * PyLong_SHIFT) { + return (uint16_t) (((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) >= 4 * PyLong_SHIFT) { + return (uint16_t) (((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (uint16_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(uint16_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint16_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint16_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(uint16_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, +digits[0]) + case -2: + if (8 * sizeof(uint16_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { + return (uint16_t) (((uint16_t)-1)*(((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { + return (uint16_t) ((((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { + return (uint16_t) (((uint16_t)-1)*(((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { + return (uint16_t) ((((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) { + return (uint16_t) (((uint16_t)-1)*(((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) { + return (uint16_t) ((((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(uint16_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint16_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint16_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint16_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + uint16_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (uint16_t) -1; + } + } else { + uint16_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (uint16_t) -1; + val = __Pyx_PyInt_As_uint16_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to uint16_t"); + return (uint16_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to uint16_t"); + return (uint16_t) -1; +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(uint32_t) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(uint32_t) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(uint32_t) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(uint32_t), + little, !is_unsigned); + } +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(uint64_t) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(uint64_t) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(uint64_t) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(uint64_t), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int64_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int64_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int64_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int64_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, digits[0]) + case 2: + if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) >= 2 * PyLong_SHIFT) { + return (int64_t) (((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) >= 3 * PyLong_SHIFT) { + return (int64_t) (((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) >= 4 * PyLong_SHIFT) { + return (int64_t) (((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int64_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int64_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int64_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(int64_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, +digits[0]) + case -2: + if (8 * sizeof(int64_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { + return (int64_t) (((int64_t)-1)*(((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { + return (int64_t) ((((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { + return (int64_t) (((int64_t)-1)*(((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { + return (int64_t) ((((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) { + return (int64_t) (((int64_t)-1)*(((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) { + return (int64_t) ((((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int64_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int64_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int64_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int64_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int64_t) -1; + } + } else { + int64_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int64_t) -1; + val = __Pyx_PyInt_As_int64_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int64_t"); + return (int64_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int64_t"); + return (int64_t) -1; +} + +/* CIntFromPy */ +static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint8_t neg_one = (uint8_t) -1, const_zero = (uint8_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(uint8_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(uint8_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (uint8_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint8_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(uint8_t, digit, digits[0]) + case 2: + if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) >= 2 * PyLong_SHIFT) { + return (uint8_t) (((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) >= 3 * PyLong_SHIFT) { + return (uint8_t) (((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) >= 4 * PyLong_SHIFT) { + return (uint8_t) (((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (uint8_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(uint8_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint8_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint8_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(uint8_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(uint8_t, digit, +digits[0]) + case -2: + if (8 * sizeof(uint8_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { + return (uint8_t) (((uint8_t)-1)*(((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { + return (uint8_t) ((((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { + return (uint8_t) (((uint8_t)-1)*(((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { + return (uint8_t) ((((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 4 * PyLong_SHIFT) { + return (uint8_t) (((uint8_t)-1)*(((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint8_t) - 1 > 4 * PyLong_SHIFT) { + return (uint8_t) ((((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(uint8_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint8_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint8_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint8_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + uint8_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (uint8_t) -1; + } + } else { + uint8_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (uint8_t) -1; + val = __Pyx_PyInt_As_uint8_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to uint8_t"); + return (uint8_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to uint8_t"); + return (uint8_t) -1; +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(unsigned int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(unsigned int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(unsigned int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(unsigned int), + little, !is_unsigned); + } +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int64_t) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int64_t) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int64_t) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int64_t), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* PyObjectGetMethod */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { + PyObject *attr; +#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP + PyTypeObject *tp = Py_TYPE(obj); + PyObject *descr; + descrgetfunc f = NULL; + PyObject **dictptr, *dict; + int meth_found = 0; + assert (*method == NULL); + if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; + } + if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { + return 0; + } + descr = _PyType_Lookup(tp, name); + if (likely(descr != NULL)) { + Py_INCREF(descr); +#if PY_MAJOR_VERSION >= 3 + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) + #endif +#else + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr))) + #endif +#endif + { + meth_found = 1; + } else { + f = Py_TYPE(descr)->tp_descr_get; + if (f != NULL && PyDescr_IsData(descr)) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + } + } + dictptr = _PyObject_GetDictPtr(obj); + if (dictptr != NULL && (dict = *dictptr) != NULL) { + Py_INCREF(dict); + attr = __Pyx_PyDict_GetItemStr(dict, name); + if (attr != NULL) { + Py_INCREF(attr); + Py_DECREF(dict); + Py_XDECREF(descr); + goto try_unpack; + } + Py_DECREF(dict); + } + if (meth_found) { + *method = descr; + return 1; + } + if (f != NULL) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + if (descr != NULL) { + *method = descr; + return 0; + } + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(name)); +#endif + return 0; +#else + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; +#endif +try_unpack: +#if CYTHON_UNPACK_METHODS + if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { + PyObject *function = PyMethod_GET_FUNCTION(attr); + Py_INCREF(function); + Py_DECREF(attr); + *method = function; + return 1; + } +#endif + *method = attr; + return 0; +} + +/* PyObjectCallMethod1 */ +static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { + PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); + Py_DECREF(method); + return result; +} +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { + PyObject *method = NULL, *result; + int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); + if (likely(is_method)) { + result = __Pyx_PyObject_Call2Args(method, obj, arg); + Py_DECREF(method); + return result; + } + if (unlikely(!method)) return NULL; + return __Pyx__PyObject_CallMethod1(method, arg); +} + +/* CoroutineBase */ +#include +#include +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif +#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) +static int __Pyx_PyGen__FetchStopIterationValue(CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject **pvalue) { + PyObject *et, *ev, *tb; + PyObject *value = NULL; + __Pyx_ErrFetch(&et, &ev, &tb); + if (!et) { + Py_XDECREF(tb); + Py_XDECREF(ev); + Py_INCREF(Py_None); + *pvalue = Py_None; + return 0; + } + if (likely(et == PyExc_StopIteration)) { + if (!ev) { + Py_INCREF(Py_None); + value = Py_None; + } +#if PY_VERSION_HEX >= 0x030300A0 + else if (Py_TYPE(ev) == (PyTypeObject*)PyExc_StopIteration) { + value = ((PyStopIterationObject *)ev)->value; + Py_INCREF(value); + Py_DECREF(ev); + } +#endif + else if (unlikely(PyTuple_Check(ev))) { + if (PyTuple_GET_SIZE(ev) >= 1) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + value = PyTuple_GET_ITEM(ev, 0); + Py_INCREF(value); +#else + value = PySequence_ITEM(ev, 0); +#endif + } else { + Py_INCREF(Py_None); + value = Py_None; + } + Py_DECREF(ev); + } + else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { + value = ev; + } + if (likely(value)) { + Py_XDECREF(tb); + Py_DECREF(et); + *pvalue = value; + return 0; + } + } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { + __Pyx_ErrRestore(et, ev, tb); + return -1; + } + PyErr_NormalizeException(&et, &ev, &tb); + if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { + __Pyx_ErrRestore(et, ev, tb); + return -1; + } + Py_XDECREF(tb); + Py_DECREF(et); +#if PY_VERSION_HEX >= 0x030300A0 + value = ((PyStopIterationObject *)ev)->value; + Py_INCREF(value); + Py_DECREF(ev); +#else + { + PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); + Py_DECREF(ev); + if (likely(args)) { + value = PySequence_GetItem(args, 0); + Py_DECREF(args); + } + if (unlikely(!value)) { + __Pyx_ErrRestore(NULL, NULL, NULL); + Py_INCREF(Py_None); + value = Py_None; + } + } +#endif + *pvalue = value; + return 0; +} +static CYTHON_INLINE +void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { + PyObject *t, *v, *tb; + t = exc_state->exc_type; + v = exc_state->exc_value; + tb = exc_state->exc_traceback; + exc_state->exc_type = NULL; + exc_state->exc_value = NULL; + exc_state->exc_traceback = NULL; + Py_XDECREF(t); + Py_XDECREF(v); + Py_XDECREF(tb); +} +#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) +static void __Pyx__Coroutine_AlreadyRunningError(CYTHON_UNUSED __pyx_CoroutineObject *gen) { + const char *msg; + if ((0)) { + #ifdef __Pyx_Coroutine_USED + } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { + msg = "coroutine already executing"; + #endif + #ifdef __Pyx_AsyncGen_USED + } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { + msg = "async generator already executing"; + #endif + } else { + msg = "generator already executing"; + } + PyErr_SetString(PyExc_ValueError, msg); +} +#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) +static void __Pyx__Coroutine_NotStartedError(CYTHON_UNUSED PyObject *gen) { + const char *msg; + if ((0)) { + #ifdef __Pyx_Coroutine_USED + } else if (__Pyx_Coroutine_Check(gen)) { + msg = "can't send non-None value to a just-started coroutine"; + #endif + #ifdef __Pyx_AsyncGen_USED + } else if (__Pyx_AsyncGen_CheckExact(gen)) { + msg = "can't send non-None value to a just-started async generator"; + #endif + } else { + msg = "can't send non-None value to a just-started generator"; + } + PyErr_SetString(PyExc_TypeError, msg); +} +#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) +static void __Pyx__Coroutine_AlreadyTerminatedError(CYTHON_UNUSED PyObject *gen, PyObject *value, CYTHON_UNUSED int closing) { + #ifdef __Pyx_Coroutine_USED + if (!closing && __Pyx_Coroutine_Check(gen)) { + PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); + } else + #endif + if (value) { + #ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(gen)) + PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); + else + #endif + PyErr_SetNone(PyExc_StopIteration); + } +} +static +PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { + __Pyx_PyThreadState_declare + PyThreadState *tstate; + __Pyx_ExcInfoStruct *exc_state; + PyObject *retval; + assert(!self->is_running); + if (unlikely(self->resume_label == 0)) { + if (unlikely(value && value != Py_None)) { + return __Pyx_Coroutine_NotStartedError((PyObject*)self); + } + } + if (unlikely(self->resume_label == -1)) { + return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); + } +#if CYTHON_FAST_THREAD_STATE + __Pyx_PyThreadState_assign + tstate = __pyx_tstate; +#else + tstate = __Pyx_PyThreadState_Current; +#endif + exc_state = &self->gi_exc_state; + if (exc_state->exc_type) { + #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON + #else + if (exc_state->exc_traceback) { + PyTracebackObject *tb = (PyTracebackObject *) exc_state->exc_traceback; + PyFrameObject *f = tb->tb_frame; + assert(f->f_back == NULL); + #if PY_VERSION_HEX >= 0x030B00A1 + f->f_back = PyThreadState_GetFrame(tstate); + #else + Py_XINCREF(tstate->frame); + f->f_back = tstate->frame; + #endif + } + #endif + } +#if CYTHON_USE_EXC_INFO_STACK + exc_state->previous_item = tstate->exc_info; + tstate->exc_info = exc_state; +#else + if (exc_state->exc_type) { + __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); + } else { + __Pyx_Coroutine_ExceptionClear(exc_state); + __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); + } +#endif + self->is_running = 1; + retval = self->body((PyObject *) self, tstate, value); + self->is_running = 0; +#if CYTHON_USE_EXC_INFO_STACK + exc_state = &self->gi_exc_state; + tstate->exc_info = exc_state->previous_item; + exc_state->previous_item = NULL; + __Pyx_Coroutine_ResetFrameBackpointer(exc_state); +#endif + return retval; +} +static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { + PyObject *exc_tb = exc_state->exc_traceback; + if (likely(exc_tb)) { +#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON +#else + PyTracebackObject *tb = (PyTracebackObject *) exc_tb; + PyFrameObject *f = tb->tb_frame; + Py_CLEAR(f->f_back); +#endif + } +} +static CYTHON_INLINE +PyObject *__Pyx_Coroutine_MethodReturn(CYTHON_UNUSED PyObject* gen, PyObject *retval) { + if (unlikely(!retval)) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (!__Pyx_PyErr_Occurred()) { + PyObject *exc = PyExc_StopIteration; + #ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(gen)) + exc = __Pyx_PyExc_StopAsyncIteration; + #endif + __Pyx_PyErr_SetNone(exc); + } + } + return retval; +} +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) +static CYTHON_INLINE +PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) { +#if PY_VERSION_HEX <= 0x030A00A1 + return _PyGen_Send(gen, arg); +#else + PyObject *result; + if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { + if (PyAsyncGen_CheckExact(gen)) { + assert(result == Py_None); + PyErr_SetNone(PyExc_StopAsyncIteration); + } + else if (result == Py_None) { + PyErr_SetNone(PyExc_StopIteration); + } + else { + _PyGen_SetStopIterationValue(result); + } + Py_CLEAR(result); + } + return result; +#endif +} +#endif +static CYTHON_INLINE +PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { + PyObject *ret; + PyObject *val = NULL; + __Pyx_Coroutine_Undelegate(gen); + __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); + ret = __Pyx_Coroutine_SendEx(gen, val, 0); + Py_XDECREF(val); + return ret; +} +static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { + PyObject *retval; + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; + PyObject *yf = gen->yieldfrom; + if (unlikely(gen->is_running)) + return __Pyx_Coroutine_AlreadyRunningError(gen); + if (yf) { + PyObject *ret; + gen->is_running = 1; + #ifdef __Pyx_Generator_USED + if (__Pyx_Generator_CheckExact(yf)) { + ret = __Pyx_Coroutine_Send(yf, value); + } else + #endif + #ifdef __Pyx_Coroutine_USED + if (__Pyx_Coroutine_Check(yf)) { + ret = __Pyx_Coroutine_Send(yf, value); + } else + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_PyAsyncGenASend_CheckExact(yf)) { + ret = __Pyx_async_gen_asend_send(yf, value); + } else + #endif + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) + if (PyGen_CheckExact(yf)) { + ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); + } else + #endif + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) + if (PyCoro_CheckExact(yf)) { + ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); + } else + #endif + { + if (value == Py_None) + ret = Py_TYPE(yf)->tp_iternext(yf); + else + ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); + } + gen->is_running = 0; + if (likely(ret)) { + return ret; + } + retval = __Pyx_Coroutine_FinishDelegation(gen); + } else { + retval = __Pyx_Coroutine_SendEx(gen, value, 0); + } + return __Pyx_Coroutine_MethodReturn(self, retval); +} +static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { + PyObject *retval = NULL; + int err = 0; + #ifdef __Pyx_Generator_USED + if (__Pyx_Generator_CheckExact(yf)) { + retval = __Pyx_Coroutine_Close(yf); + if (!retval) + return -1; + } else + #endif + #ifdef __Pyx_Coroutine_USED + if (__Pyx_Coroutine_Check(yf)) { + retval = __Pyx_Coroutine_Close(yf); + if (!retval) + return -1; + } else + if (__Pyx_CoroutineAwait_CheckExact(yf)) { + retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); + if (!retval) + return -1; + } else + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_PyAsyncGenASend_CheckExact(yf)) { + retval = __Pyx_async_gen_asend_close(yf, NULL); + } else + if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { + retval = __Pyx_async_gen_athrow_close(yf, NULL); + } else + #endif + { + PyObject *meth; + gen->is_running = 1; + meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_close); + if (unlikely(!meth)) { + if (!PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_WriteUnraisable(yf); + } + PyErr_Clear(); + } else { + retval = PyObject_CallFunction(meth, NULL); + Py_DECREF(meth); + if (!retval) + err = -1; + } + gen->is_running = 0; + } + Py_XDECREF(retval); + return err; +} +static PyObject *__Pyx_Generator_Next(PyObject *self) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; + PyObject *yf = gen->yieldfrom; + if (unlikely(gen->is_running)) + return __Pyx_Coroutine_AlreadyRunningError(gen); + if (yf) { + PyObject *ret; + gen->is_running = 1; + #ifdef __Pyx_Generator_USED + if (__Pyx_Generator_CheckExact(yf)) { + ret = __Pyx_Generator_Next(yf); + } else + #endif + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) + if (PyGen_CheckExact(yf)) { + ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL); + } else + #endif + #ifdef __Pyx_Coroutine_USED + if (__Pyx_Coroutine_Check(yf)) { + ret = __Pyx_Coroutine_Send(yf, Py_None); + } else + #endif + ret = Py_TYPE(yf)->tp_iternext(yf); + gen->is_running = 0; + if (likely(ret)) { + return ret; + } + return __Pyx_Coroutine_FinishDelegation(gen); + } + return __Pyx_Coroutine_SendEx(gen, Py_None, 0); +} +static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, CYTHON_UNUSED PyObject *arg) { + return __Pyx_Coroutine_Close(self); +} +static PyObject *__Pyx_Coroutine_Close(PyObject *self) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + PyObject *retval, *raised_exception; + PyObject *yf = gen->yieldfrom; + int err = 0; + if (unlikely(gen->is_running)) + return __Pyx_Coroutine_AlreadyRunningError(gen); + if (yf) { + Py_INCREF(yf); + err = __Pyx_Coroutine_CloseIter(gen, yf); + __Pyx_Coroutine_Undelegate(gen); + Py_DECREF(yf); + } + if (err == 0) + PyErr_SetNone(PyExc_GeneratorExit); + retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); + if (unlikely(retval)) { + const char *msg; + Py_DECREF(retval); + if ((0)) { + #ifdef __Pyx_Coroutine_USED + } else if (__Pyx_Coroutine_Check(self)) { + msg = "coroutine ignored GeneratorExit"; + #endif + #ifdef __Pyx_AsyncGen_USED + } else if (__Pyx_AsyncGen_CheckExact(self)) { +#if PY_VERSION_HEX < 0x03060000 + msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; +#else + msg = "async generator ignored GeneratorExit"; +#endif + #endif + } else { + msg = "generator ignored GeneratorExit"; + } + PyErr_SetString(PyExc_RuntimeError, msg); + return NULL; + } + raised_exception = PyErr_Occurred(); + if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { + if (raised_exception) PyErr_Clear(); + Py_INCREF(Py_None); + return Py_None; + } + return NULL; +} +static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, + PyObject *args, int close_on_genexit) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + PyObject *yf = gen->yieldfrom; + if (unlikely(gen->is_running)) + return __Pyx_Coroutine_AlreadyRunningError(gen); + if (yf) { + PyObject *ret; + Py_INCREF(yf); + if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { + int err = __Pyx_Coroutine_CloseIter(gen, yf); + Py_DECREF(yf); + __Pyx_Coroutine_Undelegate(gen); + if (err < 0) + return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); + goto throw_here; + } + gen->is_running = 1; + if (0 + #ifdef __Pyx_Generator_USED + || __Pyx_Generator_CheckExact(yf) + #endif + #ifdef __Pyx_Coroutine_USED + || __Pyx_Coroutine_Check(yf) + #endif + ) { + ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); + #ifdef __Pyx_Coroutine_USED + } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { + ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); + #endif + } else { + PyObject *meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_throw); + if (unlikely(!meth)) { + Py_DECREF(yf); + if (!PyErr_ExceptionMatches(PyExc_AttributeError)) { + gen->is_running = 0; + return NULL; + } + PyErr_Clear(); + __Pyx_Coroutine_Undelegate(gen); + gen->is_running = 0; + goto throw_here; + } + if (likely(args)) { + ret = PyObject_CallObject(meth, args); + } else { + ret = PyObject_CallFunctionObjArgs(meth, typ, val, tb, NULL); + } + Py_DECREF(meth); + } + gen->is_running = 0; + Py_DECREF(yf); + if (!ret) { + ret = __Pyx_Coroutine_FinishDelegation(gen); + } + return __Pyx_Coroutine_MethodReturn(self, ret); + } +throw_here: + __Pyx_Raise(typ, val, tb, NULL); + return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); +} +static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { + PyObject *typ; + PyObject *val = NULL; + PyObject *tb = NULL; + if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb)) + return NULL; + return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); +} +static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { + Py_VISIT(exc_state->exc_type); + Py_VISIT(exc_state->exc_value); + Py_VISIT(exc_state->exc_traceback); + return 0; +} +static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { + Py_VISIT(gen->closure); + Py_VISIT(gen->classobj); + Py_VISIT(gen->yieldfrom); + return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); +} +static int __Pyx_Coroutine_clear(PyObject *self) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + Py_CLEAR(gen->closure); + Py_CLEAR(gen->classobj); + Py_CLEAR(gen->yieldfrom); + __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); +#ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(self)) { + Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); + } +#endif + Py_CLEAR(gen->gi_code); + Py_CLEAR(gen->gi_frame); + Py_CLEAR(gen->gi_name); + Py_CLEAR(gen->gi_qualname); + Py_CLEAR(gen->gi_modulename); + return 0; +} +static void __Pyx_Coroutine_dealloc(PyObject *self) { + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + PyObject_GC_UnTrack(gen); + if (gen->gi_weakreflist != NULL) + PyObject_ClearWeakRefs(self); + if (gen->resume_label >= 0) { + PyObject_GC_Track(self); +#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE + if (PyObject_CallFinalizerFromDealloc(self)) +#else + Py_TYPE(gen)->tp_del(self); + if (Py_REFCNT(self) > 0) +#endif + { + return; + } + PyObject_GC_UnTrack(self); + } +#ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(self)) { + /* We have to handle this case for asynchronous generators + right here, because this code has to be between UNTRACK + and GC_Del. */ + Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); + } +#endif + __Pyx_Coroutine_clear(self); + PyObject_GC_Del(gen); +} +static void __Pyx_Coroutine_del(PyObject *self) { + PyObject *error_type, *error_value, *error_traceback; + __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; + __Pyx_PyThreadState_declare + if (gen->resume_label < 0) { + return; + } +#if !CYTHON_USE_TP_FINALIZE + assert(self->ob_refcnt == 0); + __Pyx_SET_REFCNT(self, 1); +#endif + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); +#ifdef __Pyx_AsyncGen_USED + if (__Pyx_AsyncGen_CheckExact(self)) { + __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; + PyObject *finalizer = agen->ag_finalizer; + if (finalizer && !agen->ag_closed) { + PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); + if (unlikely(!res)) { + PyErr_WriteUnraisable(self); + } else { + Py_DECREF(res); + } + __Pyx_ErrRestore(error_type, error_value, error_traceback); + return; + } + } +#endif + if (unlikely(gen->resume_label == 0 && !error_value)) { +#ifdef __Pyx_Coroutine_USED +#ifdef __Pyx_Generator_USED + if (!__Pyx_Generator_CheckExact(self)) +#endif + { + PyObject_GC_UnTrack(self); +#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) + if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) + PyErr_WriteUnraisable(self); +#else + {PyObject *msg; + char *cmsg; + #if CYTHON_COMPILING_IN_PYPY + msg = NULL; + cmsg = (char*) "coroutine was never awaited"; + #else + char *cname; + PyObject *qualname; + qualname = gen->gi_qualname; + cname = PyString_AS_STRING(qualname); + msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); + if (unlikely(!msg)) { + PyErr_Clear(); + cmsg = (char*) "coroutine was never awaited"; + } else { + cmsg = PyString_AS_STRING(msg); + } + #endif + if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) + PyErr_WriteUnraisable(self); + Py_XDECREF(msg);} +#endif + PyObject_GC_Track(self); + } +#endif + } else { + PyObject *res = __Pyx_Coroutine_Close(self); + if (unlikely(!res)) { + if (PyErr_Occurred()) + PyErr_WriteUnraisable(self); + } else { + Py_DECREF(res); + } + } + __Pyx_ErrRestore(error_type, error_value, error_traceback); +#if !CYTHON_USE_TP_FINALIZE + assert(Py_REFCNT(self) > 0); + if (--self->ob_refcnt == 0) { + return; + } + { + Py_ssize_t refcnt = Py_REFCNT(self); + _Py_NewReference(self); + __Pyx_SET_REFCNT(self, refcnt); + } +#if CYTHON_COMPILING_IN_CPYTHON + assert(PyType_IS_GC(Py_TYPE(self)) && + _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); + _Py_DEC_REFTOTAL; +#endif +#ifdef COUNT_ALLOCS + --Py_TYPE(self)->tp_frees; + --Py_TYPE(self)->tp_allocs; +#endif +#endif +} +static PyObject * +__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context) +{ + PyObject *name = self->gi_name; + if (unlikely(!name)) name = Py_None; + Py_INCREF(name); + return name; +} +static int +__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__name__ must be set to a string object"); + return -1; + } + tmp = self->gi_name; + Py_INCREF(value); + self->gi_name = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context) +{ + PyObject *name = self->gi_qualname; + if (unlikely(!name)) name = Py_None; + Py_INCREF(name); + return name; +} +static int +__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__qualname__ must be set to a string object"); + return -1; + } + tmp = self->gi_qualname; + Py_INCREF(value); + self->gi_qualname = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context) +{ + PyObject *frame = self->gi_frame; + if (!frame) { + if (unlikely(!self->gi_code)) { + Py_RETURN_NONE; + } + frame = (PyObject *) PyFrame_New( + PyThreadState_Get(), /*PyThreadState *tstate,*/ + (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (unlikely(!frame)) + return NULL; + self->gi_frame = frame; + } + Py_INCREF(frame); + return frame; +} +static __pyx_CoroutineObject *__Pyx__Coroutine_New( + PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, + PyObject *name, PyObject *qualname, PyObject *module_name) { + __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); + if (unlikely(!gen)) + return NULL; + return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); +} +static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( + __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, + PyObject *name, PyObject *qualname, PyObject *module_name) { + gen->body = body; + gen->closure = closure; + Py_XINCREF(closure); + gen->is_running = 0; + gen->resume_label = 0; + gen->classobj = NULL; + gen->yieldfrom = NULL; + gen->gi_exc_state.exc_type = NULL; + gen->gi_exc_state.exc_value = NULL; + gen->gi_exc_state.exc_traceback = NULL; +#if CYTHON_USE_EXC_INFO_STACK + gen->gi_exc_state.previous_item = NULL; +#endif + gen->gi_weakreflist = NULL; + Py_XINCREF(qualname); + gen->gi_qualname = qualname; + Py_XINCREF(name); + gen->gi_name = name; + Py_XINCREF(module_name); + gen->gi_modulename = module_name; + Py_XINCREF(code); + gen->gi_code = code; + gen->gi_frame = NULL; + PyObject_GC_Track(gen); + return gen; +} + +/* PatchModuleWithCoroutine */ +static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { +#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + int result; + PyObject *globals, *result_obj; + globals = PyDict_New(); if (unlikely(!globals)) goto ignore; + result = PyDict_SetItemString(globals, "_cython_coroutine_type", + #ifdef __Pyx_Coroutine_USED + (PyObject*)__pyx_CoroutineType); + #else + Py_None); + #endif + if (unlikely(result < 0)) goto ignore; + result = PyDict_SetItemString(globals, "_cython_generator_type", + #ifdef __Pyx_Generator_USED + (PyObject*)__pyx_GeneratorType); + #else + Py_None); + #endif + if (unlikely(result < 0)) goto ignore; + if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; + if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; + result_obj = PyRun_String(py_code, Py_file_input, globals, globals); + if (unlikely(!result_obj)) goto ignore; + Py_DECREF(result_obj); + Py_DECREF(globals); + return module; +ignore: + Py_XDECREF(globals); + PyErr_WriteUnraisable(module); + if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { + Py_DECREF(module); + module = NULL; + } +#else + py_code++; +#endif + return module; +} + +/* PatchGeneratorABC */ +#ifndef CYTHON_REGISTER_ABCS +#define CYTHON_REGISTER_ABCS 1 +#endif +#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) +static PyObject* __Pyx_patch_abc_module(PyObject *module); +static PyObject* __Pyx_patch_abc_module(PyObject *module) { + module = __Pyx_Coroutine_patch_module( + module, "" +"if _cython_generator_type is not None:\n" +" try: Generator = _module.Generator\n" +" except AttributeError: pass\n" +" else: Generator.register(_cython_generator_type)\n" +"if _cython_coroutine_type is not None:\n" +" try: Coroutine = _module.Coroutine\n" +" except AttributeError: pass\n" +" else: Coroutine.register(_cython_coroutine_type)\n" + ); + return module; +} +#endif +static int __Pyx_patch_abc(void) { +#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + static int abc_patched = 0; + if (CYTHON_REGISTER_ABCS && !abc_patched) { + PyObject *module; + module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); + if (!module) { + PyErr_WriteUnraisable(NULL); + if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, + ((PY_MAJOR_VERSION >= 3) ? + "Cython module failed to register with collections.abc module" : + "Cython module failed to register with collections module"), 1) < 0)) { + return -1; + } + } else { + module = __Pyx_patch_abc_module(module); + abc_patched = 1; + if (unlikely(!module)) + return -1; + Py_DECREF(module); + } + module = PyImport_ImportModule("backports_abc"); + if (module) { + module = __Pyx_patch_abc_module(module); + Py_XDECREF(module); + } + if (!module) { + PyErr_Clear(); + } + } +#else + if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); +#endif + return 0; +} + +/* Generator */ +static PyMethodDef __pyx_Generator_methods[] = { + {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, + (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")}, + {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, + (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")}, + {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, + (char*) PyDoc_STR("close() -> raise GeneratorExit inside generator.")}, + {0, 0, 0, 0} +}; +static PyMemberDef __pyx_Generator_memberlist[] = { + {(char *) "gi_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, + {(char*) "gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, + (char*) PyDoc_STR("object being iterated by 'yield from', or None")}, + {(char*) "gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, + {0, 0, 0, 0, 0} +}; +static PyGetSetDef __pyx_Generator_getsets[] = { + {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, + (char*) PyDoc_STR("name of the generator"), 0}, + {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, + (char*) PyDoc_STR("qualified name of the generator"), 0}, + {(char *) "gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL, + (char*) PyDoc_STR("Frame of the generator"), 0}, + {0, 0, 0, 0, 0} +}; +static PyTypeObject __pyx_GeneratorType_type = { + PyVarObject_HEAD_INIT(0, 0) + "generator", + sizeof(__pyx_CoroutineObject), + 0, + (destructor) __Pyx_Coroutine_dealloc, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, + 0, + (traverseproc) __Pyx_Coroutine_traverse, + 0, + 0, + offsetof(__pyx_CoroutineObject, gi_weakreflist), + 0, + (iternextfunc) __Pyx_Generator_Next, + __pyx_Generator_methods, + __pyx_Generator_memberlist, + __pyx_Generator_getsets, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, +#if CYTHON_USE_TP_FINALIZE + 0, +#else + __Pyx_Coroutine_del, +#endif + 0, +#if CYTHON_USE_TP_FINALIZE + __Pyx_Coroutine_del, +#elif PY_VERSION_HEX >= 0x030400a1 + 0, +#endif +#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, +#endif +#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, +#endif +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, +#endif +}; +static int __pyx_Generator_init(void) { + __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter; + __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type); + if (unlikely(!__pyx_GeneratorType)) { + return -1; + } + return 0; +} + +/* CheckBinaryVersion */ +static int __Pyx_check_binary_version(void) { + char ctversion[5]; + int same=1, i, found_dot; + const char* rt_from_call = Py_GetVersion(); + PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); + found_dot = 0; + for (i = 0; i < 4; i++) { + if (!ctversion[i]) { + same = (rt_from_call[i] < '0' || rt_from_call[i] > '9'); + break; + } + if (rt_from_call[i] != ctversion[i]) { + same = 0; + break; + } + } + if (!same) { + char rtversion[5] = {'\0'}; + char message[200]; + for (i=0; i<4; ++i) { + if (rt_from_call[i] == '.') { + if (found_dot) break; + found_dot = 1; + } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { + break; + } + rtversion[i] = rt_from_call[i]; + } + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { + if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { + return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); +#if PY_MAJOR_VERSION < 3 + } else if (likely(PyInt_CheckExact(o))) { + return PyInt_AS_LONG(o); +#endif + } else { + Py_ssize_t ival; + PyObject *x; + x = PyNumber_Index(o); + if (!x) return -1; + ival = PyInt_AsLong(x); + Py_DECREF(x); + return ival; + } +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/indexed_gzip/indexed_gzip.cpython-36m-darwin.so b/indexed_gzip/indexed_gzip.cpython-36m-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..eb62e206c16b5acab40265528e7f76e5277bbc08 GIT binary patch literal 377216 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­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 kCzlDVz z+j((7mmVEM@$Gn+K22Tg3sS`9vCu3Cto zwo?h*;BMc&lufVRpa%oIT?aOTx0JHH4QMH5d0{Q(EH5lk(6T}@N?KlASbZsqT3*;O z?r~Wp%(veI&qqqiBotEawEe+=X)hOZKC}l`E6#7$(d|Lz8r>l%uZ5K9Iz+Y&=lpHSRT~*5&Uu#y-I;A&Yk7cqO?Ugw zqu2=D62$ZNISHGs-$j9WjU@HGD7tINq>1!63eHW3#!Q+~j}=WnZ%bO*eqLBda^XAElb(GwOixy~tsZvrMIr1wG3IZMkJF z;iWf~w6MCd=)~!`{P7E-hOdhuUE+V(fv+$=(P~#d7OUH`3;)#Bou#7eoj+LcwnzY~ zea8ve-Hob5-ruaZ2GQTdIKcf>HwU|TI>eP+7o698 zcW{6k*#=r{-tQy?Z>-vVEDFL)m4@Uhzy6|luSrnRG>zax?(71npR>(&xm}fax2w{G zCYF`4S2tE>q%;9J58^p?t;dqdtdo(+1|1}_b<0lg<|llyqxZU6KYV*yt)F_Y-`2e| z0PKPG>UnkB<5bxm9a8J3!7TR$&*_2@9N>Hgs>_UiSp~>^s@MKx-72d=a zU#5%cryy-QpK00b{PI(Ay zq}$?2H`mi*KAT-nmm;gPi|Og2&^Kw7YoT+!oL?2E%YsU%(_FL7KMQpbP> $II^N z`L~P+MI)i?Fwhqa2B7Au^)X&zA7+wkpkE?MXzGl6cWo_!_a{xHm$@v o1q5J#@E;J7@}9DQzmzllC4*1_@`67K6n-eQ4!Y6HqSNX855L%`NdN!< literal 0 HcmV?d00001 diff --git a/indexed_gzip/indexed_gzip.cpython-37m-darwin.so b/indexed_gzip/indexed_gzip.cpython-37m-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..c7c60ccaa4077dac243c89912db8bea1514f2cf6 GIT binary patch literal 458016 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

(TgWxvlY_cH4NB|Rn--LQOQp+lr9Tu) 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�Oe0}Z?pLcnNvKniNkVTv1O&qSm3Tv%@x_gz)Yz1E`SBBOWb9m zGTLuu3$u;Gc|BcLosW$0ZLk)(yIgq}JWv2EW1tDrn|+xvQVVMA(bCf{VZc!``Hne? z{M~+UU2)_NmRKvjhc2^Tv)A?{^knYLZd^3wRLit&X@hhyCAHXXvGcBC3^P93z1Xd- z3Ta@dn6e)0NVf%@7)_MpJ5XMS(H18%*+kAi(e6D+{@wv5eXi{@bho4iqp_DMZN=lt zWP5IL!tx9DHS_w|BbZNC?PQk}eXvx0+(s%!vp)Vv`TwquAEX!q$gaxG^|8&hsCwRY zhy1_j6`wz7ki)e1e+wk)xxs>H9;P;P|_#Dj0L9U$l)HR6=Ei+A z(ZdoPGdS7F9@*|h`v2ljK$i2=&;N-mIhCosRHnXopN2Rl8KjzO-*i)L`M!Xj2U`VO zd0LI+A(}jf0qkF>zJff)uO­`m0WZ5>#2?aK;$Ews~})(rr$ey>Lp?^}4raOKgi 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�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 LEACV73$F8Dqsy)% literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/__pycache__/__main__.cpython-36.pyc b/indexed_gzip/tests/__pycache__/__main__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0163d6ecb73844910d3eebbacc2f106c2ad007e4 GIT binary patch literal 895 zcmY*XO>fjN5OqFw6Cx`0R&le$X(h7m(xnxsLP$N+LlHvSOXQ8+jkk%N+D^8M+Ed}g zFX10>kl~b=AIWbPVutb{4jK?#6&(8-tJISx_Kk{!rLO;>g2RV8JX7<4`G(*f| ze(5d!SV?6own9n3Sy)?}SA;A8S2G{ysv`HCQpVedkO*TMZph@t%fo*i zz%{>6E!XFzTJ?>Wu*r=zWIB0%w12oiC5-__DNL=XWN9fRPiv}a#Vyw+b(aB%9HR$d zWO{HkJ(^6WPd7nw2P&e|+8nu5T<@?sX_u|3%U{LfdSigV%$iMpt{c_HFfsbB;m|ai| zO%U^#UwV~43A~jZPC^#2@H3k9c%SvoeLdv8PY9y^J2dFiuO33lNh7h4j9+q=%|416 zH&R$^xv^%5@d>|Zgysg<3wMOA!cz|U#?rFnY?vg;2c^#qrdlPAqTdqy&9s>|L zM)$zT`1$^Le>56DTN}w8%n=>uPP^si8-pBym_tx7UsR%NWW5_7B(UMFck5kyws+IN zLO0QsHv{`DW_T|ecHrv(`b;862#UTTy#fB8x8%J6x@1n}>`YK8$ox!_ zBgHt$6{97clE+`|e`h&vl4b6iEQ3Fx-QV8^F?~?Ti~TKsdFJq~vIbEXWf@aBK#i0c uE@^~L>kvw`d%uSgM=i^iNFS+9Na^CkO0lNoueQK5?%pui@ZunjWA86HW(pGk literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/__pycache__/conftest.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/conftest.cpython-37-pytest-7.2.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c6cae1b48472525e452bf561677f730b96f00d9a GIT binary patch literal 2439 zcmb7FPj4GV6yMohuh)*_q)8~P5U_}%VnJexssz3QLT$68DZill+PHXcy zd~^1)lRPt3F8c9!q>XQ`K^%k3`7;WK!SV9V^jI)3}(l zzfmHhnRN}iJUSfr`|v)=lqMG2rg4%*sYr8qG6{Bfl@NRqJpwI1iZh<4QC0>$D80)i zOcKZzCMoQGG7^(Z2XSh>wTZAIN@${mRLNiXX7cGWfk{@3SMsK!sx8mdV$SozX4FIc#={}Bmk()0V>)|v?@A<4kh211`70FWC?t&S6YWU5E8iZu=-D62Z7rKpeNh>UcwM zi(O_77PxkOkyP@Y5^Ix6NLVHnVY_A67K}hJZ78=vT1>t{bNXOu8If4cyO1gu#Bt@D zps!@CEZUbbR%(8+V(hI~GPY9qFJUgcXc7-s48FZ;kRo2-^A4D0DhZ$5`7T7ebBEsC zC!_*}G_Op7U*_n5d-E#IPr*$IbN<0adr7d_y~(xz>oK>ZC$m<#JSBMr-^r^WKnNIWk=*ebZpa#dRFm129zlnm3dZ6R`Wg(! z^)qr(HY+b1ckXcyG5b^B=HV0V&rx0TDr(T5hg5fGcxOK3wJ9o99ZbEcPx4dR!ACwS z2a?c=-nEXl+O_?KE)MG8#Ms`s-Lvuu;_W_};kP%KwCbI$)#kNFDoS3%X3Jz5H!qAo z%##c=Wdam!@0iPXp=1K_IKdaKN|`4rFiBXmTbPgxXXxVp$(;!=y!sZpY7>MKNGYtd zrdvlMiF1( zkEU=PJDX~*_KFzI#wRM@BUuGkQ*mOkflI*Z+dgZm{p7J8OJN&?E!;9l0=YeH>+MRA n7An+oO!!%v^YKXB3Bf6XUFd8%fC?IW=!H>pvsuCGH=F+g{*Y31 literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/__pycache__/test_indexed_gzip.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/test_indexed_gzip.cpython-37-pytest-7.2.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..afb1a02b80d716063fa4891232558f5ad172946b GIT binary patch literal 539 zcmZWly-ve05I!eqnuc_s6Wv&|G%tWq)$Uyo3|S&KHkH%-$xcMJmDPE;u3q&wfAzwfhW!=VpoAMbBza0c*cii260OwrX00|Q2Kh)H`|g>38eXZS3mv7Gk*(IqQIuTUiy!rc|7-=`!c9AbYsjhOe9G zT5+kOEiG4>prwemSsBeM#-p@iG^fkxSk2$UFsbOD7BdT&D`BsXC>%mV;_YXZEFSoQ*YPU-@bkBDRD%bJpvFOCC nYQNhv<5tb@Cv=&MI<0})N`#a5 literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/__pycache__/test_indexed_gzip_threading.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/test_indexed_gzip_threading.cpython-37-pytest-7.2.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a2496f06bc79f814a260ef13d7c978a4a8fbe3a7 GIT binary patch literal 575 zcmY*U!BWC75KU4FZEX<{XY>=e&>wIdM(;rvIMyE`SD(iVgSB;usg_snR{9}!vKRNs33;WW8^TxsKr4U;Eu}$ zWmt6)fS~H(=&usvxUD2OY5fsSTc6>q^?iKIIxH*))esLM;MsDtJi%iY+=5B>+wBDt zX#2Gi(vZhS7DlY3%S22(3+?dDH{5at#ex@4gi%AuGc5(1oZ5uA9@8jJi1MFNfipIG zXhdm*)Ha>f8?ukiNxd;#n<>?rE5B%}_*x0WZM;v}-Y%E8W=|(n*+6f!jm<)F%7mQT zP&QS)u}IdoyJgu_NXB0{BlA~L+fcL)sL(6wR8&3L;UR4*MVY$vSVPACkyk{?tj2E~*u4N`4u+eR}Ln O3R4t;5s1+4rsx+@Ft2m~ literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/__pycache__/test_nibabel_integration.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/test_nibabel_integration.cpython-37-pytest-7.2.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c5f05c7ea833fc090097358d6b12fd7354aff52c GIT binary patch literal 2209 zcmZWqOK%%D5GJ_~t=DVCb)1KtN8P|}A+(SZ2Pldn2!bX}kREhN+5(FP#9E~6mG@;X z<-~@3atid)L;rz%DbPPspr;;s>gbK+L@)@tO$5Jd7U+`h;|%SC9+o$E_mW zOg3fKp{Au}UWrr(EJ?cgzG83{G-{BU~6EKHPm+aFNaf#1yR3CQ&_bX#OXo<)aLlL}JcqdD1Jt*_)?q!S-1NO z4hE^_yn81r2T4}n1z~1jXcr>(>MBdMYJnll+*)SC*xjqOdYgm_Kxu;6S(j#x2t8PQ z-_bjWV>A}=2!sh80eB;_!vJI2@6Z#U3YEqy^|t(^*cU-StPmS+=QIx zr5I-@N1X4DldRDwAOWJzVYh_c>78mMtck*eFF>n(=mLg6yLRAhbZ>QU!o6%i&XXaYdq&*hz-NGr8NVcz&Q{q9t#<@f1`145Fw}OXxBUp{W}npT1T z{tN=-X0rvJqCc?}0&kjWM=;Y#9e2^V4a`~=uj_`fjNA8LOJbF`fRdvsd;^xrpc-kg*ShmGz{ z9Bu=bxXD9{b6R6A0QM@ozW&U>Eh3bipr`FK$W9W=K#BJ^ntYXjN{(fyj zv}sCm3oI;a61L<-P!#;N-8H)ChD?19+RhEgVVq_WnY=u|*$b8+T1_HHw zr{r^$YH8+9mrQH67J{)Q%0!t~S$C^MZyOhTwT^+$4adbmmt|HPHq^$ix5qlojNe$9 zD9x)<=~C4@@ahpL;}zq)+E+-cpgzOV>Qh`=I=j@hOs$abjGHHFCyr)>jT#d+Zct;| zy3|R=OC_XAi!I{=qH>^{(#>-YWyHTO&ebPyTzu)|pf1)3>n$wowYrGf3o~sEsisMG wqQk3i0X|b5%OCdn1a}(7xr<9R!V{1s648JnfrJdl$O)V_4WbYV*T$LuAJ_OT`~Uy| literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/__pycache__/test_zran.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/test_zran.cpython-37-pytest-7.2.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..381459985816adf15fa45a1bd0d141aea67b8609 GIT binary patch literal 501 zcmY*TJx;?g6t*r$tzCv-Z$R|tx&B{9tILtr}34|d>86r^|J9!rY z2=X2|`ki2c1y1`fF^^uMxoc4aGHBzFjChB4vvEEl69~j0ouEZu6R<|i(u9%d^oDAmXV99~s2vr-v1T$T;}tIlZI zgvA9jM(A*Mp+&8w6|Vo+az}?=?3Y^}rd?zj<8YZVdtd0>#l|viO)c$%>+MmltE#+g z98#qNx*K$Ka;6_iKgguvkc;=w(0&8@)MHxreVyETK_;o0+N6>xnbfIDt_m)ab-`K2 vR*6(xJPA%WTUq`u!ex`RLIcynYryAu!K+MMU{7JD-VG53Gk}qg{teL&N9~!b literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/ctest_indexed_gzip.c b/indexed_gzip/tests/ctest_indexed_gzip.c new file mode 100644 index 00000000..c49a3bd6 --- /dev/null +++ b/indexed_gzip/tests/ctest_indexed_gzip.c @@ -0,0 +1,51671 @@ +/* Generated by Cython 0.29.33 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "define_macros": [ + [ + "CYTHON_TRACE_NOGIL", + "1" + ] + ], + "depends": [], + "extra_compile_args": [ + "-Wall", + "-Wno-unused-function" + ], + "include_dirs": [ + "indexed_gzip", + "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include" + ], + "libraries": [ + "z" + ], + "name": "indexed_gzip.tests.ctest_indexed_gzip", + "sources": [ + "indexed_gzip/tests/ctest_indexed_gzip.pyx" + ] + }, + "module_name": "indexed_gzip.tests.ctest_indexed_gzip" +} +END: Cython Metadata */ + +#ifndef PY_SSIZE_T_CLEAN +#define PY_SSIZE_T_CLEAN +#endif /* PY_SSIZE_T_CLEAN */ +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_33" +#define CYTHON_HEX_VERSION 0x001D21F0 +#define CYTHON_FUTURE_DIVISION 0 +#include +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PY_NOGIL) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #ifndef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 1 + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 1 + #endif + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #elif !defined(CYTHON_FAST_THREAD_STATE) + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #elif !defined(CYTHON_USE_EXC_INFO_STACK) + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #if PY_MAJOR_VERSION < 3 + #include "longintrepr.h" + #endif + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_DefaultClassType PyType_Type +#if PY_VERSION_HEX >= 0x030B00A1 + static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, + PyObject *code, PyObject *c, PyObject* n, PyObject *v, + PyObject *fv, PyObject *cell, PyObject* fn, + PyObject *name, int fline, PyObject *lnos) { + PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; + PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; + const char *fn_cstr=NULL; + const char *name_cstr=NULL; + PyCodeObject* co=NULL; + PyObject *type, *value, *traceback; + PyErr_Fetch(&type, &value, &traceback); + if (!(kwds=PyDict_New())) goto end; + if (!(argcount=PyLong_FromLong(a))) goto end; + if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; + if (!(posonlyargcount=PyLong_FromLong(0))) goto end; + if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; + if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; + if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; + if (!(nlocals=PyLong_FromLong(l))) goto end; + if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; + if (!(stacksize=PyLong_FromLong(s))) goto end; + if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; + if (!(flags=PyLong_FromLong(f))) goto end; + if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; + if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; + if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; + if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; + if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; + if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here + if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; + Py_XDECREF((PyObject*)co); + co = (PyCodeObject*)call_result; + call_result = NULL; + if (0) { + cleanup_code_too: + Py_XDECREF((PyObject*)co); + co = NULL; + } + end: + Py_XDECREF(kwds); + Py_XDECREF(argcount); + Py_XDECREF(posonlyargcount); + Py_XDECREF(kwonlyargcount); + Py_XDECREF(nlocals); + Py_XDECREF(stacksize); + Py_XDECREF(replace); + Py_XDECREF(call_result); + Py_XDECREF(empty); + if (type) { + PyErr_Restore(type, value, traceback); + } + return co; + } +#else + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #if PY_VERSION_HEX >= 0x030C0000 + #define __Pyx_PyUnicode_READY(op) (0) + #else + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #endif + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #if PY_VERSION_HEX >= 0x030C0000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) + #else + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) + #endif + #endif +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if PY_VERSION_HEX >= 0x030900A4 + #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) +#else + #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) + #if !defined(_USE_MATH_DEFINES) + #define _USE_MATH_DEFINES + #endif +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + +#define __PYX_MARK_ERR_POS(f_index, lineno) \ + { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } +#define __PYX_ERR(f_index, lineno, Ln_error) \ + { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__indexed_gzip__tests__ctest_indexed_gzip +#define __PYX_HAVE_API__indexed_gzip__tests__ctest_indexed_gzip +/* Early includes */ +#include +#include +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + + +static const char *__pyx_f[] = { + "indexed_gzip/tests/ctest_indexed_gzip.pyx", +}; + +/*--- Type declarations ---*/ +struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto; + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + * + * + * def test_readinto(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * line 1 + */ +struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto { + PyObject_HEAD + PyObject *__pyx_v_lines; +}; + + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* Profile.proto */ +#ifndef CYTHON_PROFILE +#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON + #define CYTHON_PROFILE 0 +#else + #define CYTHON_PROFILE 1 +#endif +#endif +#ifndef CYTHON_TRACE_NOGIL + #define CYTHON_TRACE_NOGIL 0 +#else + #if CYTHON_TRACE_NOGIL && !defined(CYTHON_TRACE) + #define CYTHON_TRACE 1 + #endif +#endif +#ifndef CYTHON_TRACE + #define CYTHON_TRACE 0 +#endif +#if CYTHON_TRACE + #undef CYTHON_PROFILE_REUSE_FRAME +#endif +#ifndef CYTHON_PROFILE_REUSE_FRAME + #define CYTHON_PROFILE_REUSE_FRAME 0 +#endif +#if CYTHON_PROFILE || CYTHON_TRACE + #include "compile.h" + #include "frameobject.h" + #include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif + #if CYTHON_PROFILE_REUSE_FRAME + #define CYTHON_FRAME_MODIFIER static + #define CYTHON_FRAME_DEL(frame) + #else + #define CYTHON_FRAME_MODIFIER + #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame) + #endif + #define __Pyx_TraceDeclarations\ + static PyCodeObject *__pyx_frame_code = NULL;\ + CYTHON_FRAME_MODIFIER PyFrameObject *__pyx_frame = NULL;\ + int __Pyx_use_tracing = 0; + #define __Pyx_TraceFrameInit(codeobj)\ + if (codeobj) __pyx_frame_code = (PyCodeObject*) codeobj; +#if PY_VERSION_HEX >= 0x030b00a2 + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->cframe->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate) PyThreadState_EnterTracing(tstate) + #define __Pyx_LeaveTracing(tstate) PyThreadState_LeaveTracing(tstate) +#elif PY_VERSION_HEX >= 0x030a00b1 + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->cframe->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate)\ + do { tstate->tracing++; tstate->cframe->use_tracing = 0; } while (0) + #define __Pyx_LeaveTracing(tstate)\ + do {\ + tstate->tracing--;\ + tstate->cframe->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ + || tstate->c_profilefunc != NULL);\ + } while (0) +#else + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate)\ + do { tstate->tracing++; tstate->use_tracing = 0; } while (0) + #define __Pyx_LeaveTracing(tstate)\ + do {\ + tstate->tracing--;\ + tstate->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ + || tstate->c_profilefunc != NULL);\ + } while (0) +#endif + #ifdef WITH_THREAD + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + }\ + PyGILState_Release(state);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } else {\ + PyThreadState* tstate = PyThreadState_GET();\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } + #else + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ + { PyThreadState* tstate = PyThreadState_GET();\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } + #endif + #define __Pyx_TraceException()\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 1)) {\ + __Pyx_EnterTracing(tstate);\ + PyObject *exc_info = __Pyx_GetExceptionTuple(tstate);\ + if (exc_info) {\ + if (CYTHON_TRACE && tstate->c_tracefunc)\ + tstate->c_tracefunc(\ + tstate->c_traceobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ + tstate->c_profilefunc(\ + tstate->c_profileobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ + Py_DECREF(exc_info);\ + }\ + __Pyx_LeaveTracing(tstate);\ + }\ + } + static void __Pyx_call_return_trace_func(PyThreadState *tstate, PyFrameObject *frame, PyObject *result) { + PyObject *type, *value, *traceback; + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + __Pyx_EnterTracing(tstate); + if (CYTHON_TRACE && tstate->c_tracefunc) + tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result); + if (tstate->c_profilefunc) + tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result); + CYTHON_FRAME_DEL(frame); + __Pyx_LeaveTracing(tstate); + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + } + #ifdef WITH_THREAD + #define __Pyx_TraceReturn(result, nogil)\ + if (likely(!__Pyx_use_tracing)); else {\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + PyGILState_Release(state);\ + }\ + } else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + }\ + } + #else + #define __Pyx_TraceReturn(result, nogil)\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + } + #endif + static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno); + static int __Pyx_TraceSetupAndCall(PyCodeObject** code, PyFrameObject** frame, PyThreadState* tstate, const char *funcname, const char *srcfile, int firstlineno); +#else + #define __Pyx_TraceDeclarations + #define __Pyx_TraceFrameInit(codeobj) + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) if ((1)); else goto_error; + #define __Pyx_TraceException() + #define __Pyx_TraceReturn(result, nogil) +#endif +#if CYTHON_TRACE + static int __Pyx_call_line_trace_func(PyThreadState *tstate, PyFrameObject *frame, int lineno) { + int ret; + PyObject *type, *value, *traceback; + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + __Pyx_PyFrame_SetLineNumber(frame, lineno); + __Pyx_EnterTracing(tstate); + ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL); + __Pyx_LeaveTracing(tstate); + if (likely(!ret)) { + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + } else { + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(traceback); + } + return ret; + } + #ifdef WITH_THREAD + #define __Pyx_TraceLine(lineno, nogil, goto_error)\ + if (likely(!__Pyx_use_tracing)); else {\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + int ret = 0;\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + }\ + PyGILState_Release(state);\ + if (unlikely(ret)) goto_error;\ + }\ + } else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + if (unlikely(ret)) goto_error;\ + }\ + }\ + } + #else + #define __Pyx_TraceLine(lineno, nogil, goto_error)\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + if (unlikely(ret)) goto_error;\ + }\ + } + #endif +#else + #define __Pyx_TraceLine(lineno, nogil, goto_error) if ((1)); else goto_error; +#endif + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) do {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} while(0) +#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} while(0) +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif +#if CYTHON_FAST_PYCALL + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif // CYTHON_FAST_PYCALL +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyObjectSetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); +#else +#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) +#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) +#endif + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* ListAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + __Pyx_SET_SIZE(list, len + 1); + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) +#endif + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyObjectGetMethod.proto */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); + +/* PyObjectCallMethod1.proto */ +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); + +/* append.proto */ +static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x); + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* SetItemInt.proto */ +#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\ + __Pyx_SetItemInt_Generic(o, to_py_func(i), v))) +static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v); +static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, + int is_list, int wraparound, int boundscheck); + +/* StringJoin.proto */ +#if PY_MAJOR_VERSION < 3 +#define __Pyx_PyString_Join __Pyx_PyBytes_Join +#define __Pyx_PyBaseString_Join(s, v) (PyUnicode_CheckExact(s) ? PyUnicode_Join(s, v) : __Pyx_PyBytes_Join(s, v)) +#else +#define __Pyx_PyString_Join PyUnicode_Join +#define __Pyx_PyBaseString_Join PyUnicode_Join +#endif +#if CYTHON_COMPILING_IN_CPYTHON + #if PY_MAJOR_VERSION < 3 + #define __Pyx_PyBytes_Join _PyString_Join + #else + #define __Pyx_PyBytes_Join _PyBytes_Join + #endif +#else +static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values); +#endif + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* UnpackUnboundCMethod.proto */ +typedef struct { + PyObject *type; + PyObject **method_name; + PyCFunction func; + PyObject *method; + int flag; +} __Pyx_CachedCFunction; + +/* CallUnboundCMethod1.proto */ +static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); +#else +#define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg) +#endif + +/* PyObjectFormatSimple.proto */ +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyObject_FormatSimple(s, f) (\ + likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ + PyObject_Format(s, f)) +#elif PY_MAJOR_VERSION < 3 + #define __Pyx_PyObject_FormatSimple(s, f) (\ + likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ + likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\ + PyObject_Format(s, f)) +#elif CYTHON_USE_TYPE_SLOTS + #define __Pyx_PyObject_FormatSimple(s, f) (\ + likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ + likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_str(s) :\ + likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_str(s) :\ + PyObject_Format(s, f)) +#else + #define __Pyx_PyObject_FormatSimple(s, f) (\ + likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ + PyObject_Format(s, f)) +#endif + +/* GCCDiagnostics.proto */ +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +#define __Pyx_HAS_GCC_DIAGNOSTIC +#endif + +/* BuildPyUnicode.proto */ +static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, char* chars, int clength, + int prepend_sign, char padding_char); + +/* IncludeStringH.proto */ +#include + +/* CIntToPyUnicode.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char); + +/* JoinPyUnicode.proto */ +static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, + Py_UCS4 max_char); + +/* KeywordStringCheck.proto */ +static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* PyObjectLookupSpecial.proto */ +#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) { + PyObject *res; + PyTypeObject *tp = Py_TYPE(obj); +#if PY_MAJOR_VERSION < 3 + if (unlikely(PyInstance_Check(obj))) + return __Pyx_PyObject_GetAttrStr(obj, attr_name); +#endif + res = _PyType_Lookup(tp, attr_name); + if (likely(res)) { + descrgetfunc f = Py_TYPE(res)->tp_descr_get; + if (!f) { + Py_INCREF(res); + } else { + res = f(res, obj, (PyObject *)tp); + } + } else { + PyErr_SetObject(PyExc_AttributeError, attr_name); + } + return res; +} +#else +#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) +#endif + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* SwapException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* None.proto */ +static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname); + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* IterFinish.proto */ +static CYTHON_INLINE int __Pyx_IterFinish(void); + +/* UnpackItemEndCheck.proto */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); + +/* BytesEquals.proto */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); + +/* CalculateMetaclass.proto */ +static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); + +/* Py3ClassCreate.proto */ +static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, + PyObject *mkw, PyObject *modname, PyObject *doc); +static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, + PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); + +/* UnicodeEquals.proto */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); + +/* StrEquals.proto */ +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals +#else +#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals +#endif + +/* GetAttr.proto */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); + +/* HasAttr.proto */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); + +/* PyIntCompare.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* None.proto */ +static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname); + +/* ListCompAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len)) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + __Pyx_SET_SIZE(list, len + 1); + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) +#endif + +/* FetchCommonType.proto */ +static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); + +/* CythonFunctionShared.proto */ +#define __Pyx_CyFunction_USED 1 +#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 +#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 +#define __Pyx_CYFUNCTION_CCLASS 0x04 +#define __Pyx_CyFunction_GetClosure(f)\ + (((__pyx_CyFunctionObject *) (f))->func_closure) +#define __Pyx_CyFunction_GetClassObj(f)\ + (((__pyx_CyFunctionObject *) (f))->func_classobj) +#define __Pyx_CyFunction_Defaults(type, f)\ + ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) +#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ + ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) +typedef struct { + PyCFunctionObject func; +#if PY_VERSION_HEX < 0x030500A0 + PyObject *func_weakreflist; +#endif + PyObject *func_dict; + PyObject *func_name; + PyObject *func_qualname; + PyObject *func_doc; + PyObject *func_globals; + PyObject *func_code; + PyObject *func_closure; + PyObject *func_classobj; + void *defaults; + int defaults_pyobjects; + size_t defaults_size; // used by FusedFunction for copying defaults + int flags; + PyObject *defaults_tuple; + PyObject *defaults_kwdict; + PyObject *(*defaults_getter)(PyObject *); + PyObject *func_annotations; +} __pyx_CyFunctionObject; +static PyTypeObject *__pyx_CyFunctionType = 0; +#define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType)) +static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, + int flags, PyObject* qualname, + PyObject *self, + PyObject *module, PyObject *globals, + PyObject* code); +static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, + size_t size, + int pyobjects); +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, + PyObject *tuple); +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, + PyObject *dict); +static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, + PyObject *dict); +static int __pyx_CyFunction_init(void); + +/* CythonFunction.proto */ +static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, + int flags, PyObject* qualname, + PyObject *closure, + PyObject *module, PyObject *globals, + PyObject* code); + +/* decode_c_string_utf16.proto */ +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = 0; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = -1; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} +static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) { + int byteorder = 1; + return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); +} + +/* decode_c_bytes.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes( + const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)); + +/* decode_bytes.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_bytes( + PyObject* string, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + return __Pyx_decode_c_bytes( + PyBytes_AS_STRING(string), PyBytes_GET_SIZE(string), + start, stop, encoding, errors, decode_func); +} + +/* decode_bytearray.proto */ +static CYTHON_INLINE PyObject* __Pyx_decode_bytearray( + PyObject* string, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + return __Pyx_decode_c_bytes( + PyByteArray_AS_STRING(string), PyByteArray_GET_SIZE(string), + start, stop, encoding, errors, decode_func); +} + +/* IterNext.proto */ +#define __Pyx_PyIter_Next(obj) __Pyx_PyIter_Next2(obj, NULL) +static CYTHON_INLINE PyObject *__Pyx_PyIter_Next2(PyObject *, PyObject *); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddCObj(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* DivInt[Py_ssize_t].proto */ +static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t); + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* SetNameInClass.proto */ +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 +#define __Pyx_SetNameInClass(ns, name, value)\ + (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) +#elif CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_SetNameInClass(ns, name, value)\ + (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) +#else +#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) +#endif + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from 'indexed_gzip.tests.ctest_indexed_gzip' */ +static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto = 0; +#define __Pyx_MODULE_NAME "indexed_gzip.tests.ctest_indexed_gzip" +extern int __pyx_module_is_main_indexed_gzip__tests__ctest_indexed_gzip; +int __pyx_module_is_main_indexed_gzip__tests__ctest_indexed_gzip = 0; + +/* Implementation of 'indexed_gzip.tests.ctest_indexed_gzip' */ +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_print; +static PyObject *__pyx_builtin_IOError; +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_builtin_open; +static PyObject *__pyx_builtin_enumerate; +static PyObject *__pyx_builtin_sum; +static PyObject *__pyx_builtin_all; +static PyObject *__pyx_builtin_chr; +static PyObject *__pyx_builtin_zip; +static PyObject *__pyx_builtin_StopIteration; +static const char __pyx_k_b[] = "b"; +static const char __pyx_k_f[] = "f"; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_l[] = "l"; +static const char __pyx_k_m[] = "m"; +static const char __pyx_k_r[] = "r"; +static const char __pyx_k_s[] = "s"; +static const char __pyx_k_w[] = "w"; +static const char __pyx_k__5[] = ""; +static const char __pyx_k_ab[] = "ab"; +static const char __pyx_k_cp[] = "cp"; +static const char __pyx_k_es[] = "es"; +static const char __pyx_k_f1[] = "f1"; +static const char __pyx_k_f2[] = "f2"; +static const char __pyx_k_ft[] = "ft"; +static const char __pyx_k_gf[] = "gf"; +static const char __pyx_k_io[] = "io"; +static const char __pyx_k_it[] = "it"; +static const char __pyx_k_mp[] = "mp"; +static const char __pyx_k_np[] = "np"; +static const char __pyx_k_op[] = "op"; +static const char __pyx_k_os[] = "os"; +static const char __pyx_k_rb[] = "rb"; +static const char __pyx_k_rt[] = "rt"; +static const char __pyx_k_sp[] = "sp"; +static const char __pyx_k_st[] = "st"; +static const char __pyx_k_td[] = "td"; +static const char __pyx_k_wb[] = "wb"; +static const char __pyx_k_wt[] = "wt"; +static const char __pyx_k__24[] = "{}\n"; +static const char __pyx_k__50[] = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"; +static const char __pyx_k__58[] = "\n"; +static const char __pyx_k__61[] = "\000\000\000\000\000\000\000\000\000"; +static const char __pyx_k__90[] = "*"; +static const char __pyx_k_all[] = "all"; +static const char __pyx_k_bin[] = ".bin"; +static const char __pyx_k_buf[] = "buf"; +static const char __pyx_k_chr[] = "chr"; +static const char __pyx_k_del[] = "del"; +static const char __pyx_k_doc[] = "__doc__"; +static const char __pyx_k_fid[] = "fid"; +static const char __pyx_k_gcd[] = "gcd"; +static const char __pyx_k_gf1[] = "gf1"; +static const char __pyx_k_gf2[] = "gf2"; +static const char __pyx_k_gf3[] = "gf3"; +static const char __pyx_k_gzf[] = "gzf"; +static const char __pyx_k_idx[] = "idx"; +static const char __pyx_k_int[] = "int"; +static const char __pyx_k_len[] = "__len__"; +static const char __pyx_k_lim[] = "lim"; +static const char __pyx_k_map[] = "map"; +static const char __pyx_k_num[] = "num"; +static const char __pyx_k_off[] = "off"; +static const char __pyx_k_ret[] = "ret"; +static const char __pyx_k_sum[] = "sum"; +static const char __pyx_k_sys[] = "sys"; +static const char __pyx_k_val[] = "val"; +static const char __pyx_k_zip[] = "zip"; +static const char __pyx_k_Pool[] = "Pool"; +static const char __pyx_k_args[] = "args"; +static const char __pyx_k_bool[] = "__bool__"; +static const char __pyx_k_ceil[] = "ceil"; +static const char __pyx_k_copy[] = "copy"; +static const char __pyx_k_data[] = "data"; +static const char __pyx_k_drop[] = "drop"; +static const char __pyx_k_exit[] = "__exit__"; +static const char __pyx_k_expl[] = "expl"; +static const char __pyx_k_f_gz[] = "f.gz"; +static const char __pyx_k_fobj[] = "fobj"; +static const char __pyx_k_func[] = "func"; +static const char __pyx_k_gotl[] = "gotl"; +static const char __pyx_k_gzf1[] = "gzf1"; +static const char __pyx_k_gzf2[] = "gzf2"; +static const char __pyx_k_gzf3[] = "gzf3"; +static const char __pyx_k_gzip[] = "gzip"; +static const char __pyx_k_idxf[] = "idxf"; +static const char __pyx_k_init[] = "__init__"; +static const char __pyx_k_join[] = "join"; +static const char __pyx_k_line[] = "line"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_mode[] = "mode"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_ones[] = "ones"; +static const char __pyx_k_open[] = "open"; +static const char __pyx_k_peek[] = "peek"; +static const char __pyx_k_pool[] = "pool"; +static const char __pyx_k_read[] = "read"; +static const char __pyx_k_seed[] = "seed"; +static const char __pyx_k_seek[] = "seek"; +static const char __pyx_k_self[] = "self"; +static const char __pyx_k_size[] = "size"; +static const char __pyx_k_skip[] = "skip"; +static const char __pyx_k_sqrt[] = "sqrt"; +static const char __pyx_k_tdir[] = "tdir"; +static const char __pyx_k_tell[] = "tell"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_time[] = "time"; +static const char __pyx_k_12345[] = "12345"; +static const char __pyx_k_Error[] = "Error"; +static const char __pyx_k_block[] = "block"; +static const char __pyx_k_bufsz[] = "bufsz"; +static const char __pyx_k_bytes[] = "bytes"; +static const char __pyx_k_close[] = "close"; +static const char __pyx_k_data1[] = "data1"; +static const char __pyx_k_data2[] = "data2"; +static const char __pyx_k_deque[] = "deque"; +static const char __pyx_k_dtype[] = "dtype"; +static const char __pyx_k_dumps[] = "dumps"; +static const char __pyx_k_enter[] = "__enter__"; +static const char __pyx_k_flush[] = "flush"; +static const char __pyx_k_fname[] = "fname"; +static const char __pyx_k_fsize[] = "fsize"; +static const char __pyx_k_igzip[] = "igzip"; +static const char __pyx_k_lines[] = "lines"; +static const char __pyx_k_loads[] = "loads"; +static const char __pyx_k_modes[] = "modes"; +static const char __pyx_k_numpy[] = "numpy"; +static const char __pyx_k_point[] = "point"; +static const char __pyx_k_pread[] = "pread"; +static const char __pyx_k_print[] = "print"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_shape[] = "shape"; +static const char __pyx_k_split[] = "split"; +static const char __pyx_k_strip[] = "strip"; +static const char __pyx_k_touch[] = "touch"; +static const char __pyx_k_write[] = "write"; +static const char __pyx_k_append[] = "append"; +static const char __pyx_k_arange[] = "arange"; +static const char __pyx_k_buffer[] = "buffer"; +static const char __pyx_k_closed[] = "closed"; +static const char __pyx_k_concat[] = "concat"; +static const char __pyx_k_decode[] = "decode"; +static const char __pyx_k_dedent[] = "dedent"; +static const char __pyx_k_encode[] = "encode"; +static const char __pyx_k_expect[] = "expect"; +static const char __pyx_k_extend[] = "extend"; +static const char __pyx_k_fileno[] = "fileno"; +static const char __pyx_k_format[] = "format"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_kwargs[] = "kwargs"; +static const char __pyx_k_limits[] = "limits"; +static const char __pyx_k_module[] = "__module__"; +static const char __pyx_k_mpfunc[] = "_mpfunc"; +static const char __pyx_k_nbytes[] = "nbytes"; +static const char __pyx_k_nelems[] = "nelems"; +static const char __pyx_k_niters[] = "niters"; +static const char __pyx_k_offset[] = "offset"; +static const char __pyx_k_pickle[] = "pickle"; +static const char __pyx_k_points[] = "points"; +static const char __pyx_k_pytest[] = "pytest"; +static const char __pyx_k_raises[] = "raises"; +static const char __pyx_k_random[] = "random"; +static const char __pyx_k_shutil[] = "shutil"; +static const char __pyx_k_uint32[] = "uint32"; +static const char __pyx_k_uint64[] = "uint64"; +static const char __pyx_k_BytesIO[] = "BytesIO"; +static const char __pyx_k_IOError[] = "IOError"; +static const char __pyx_k_divisor[] = "divisor"; +static const char __pyx_k_element[] = "element"; +static const char __pyx_k_filelen[] = "filelen"; +static const char __pyx_k_fileobj[] = "fileobj"; +static const char __pyx_k_getsize[] = "getsize"; +static const char __pyx_k_gotline[] = "gotline"; +static const char __pyx_k_hashlib[] = "hashlib"; +static const char __pyx_k_ndarray[] = "ndarray"; +static const char __pyx_k_offsets[] = "offsets"; +static const char __pyx_k_os_path[] = "os.path"; +static const char __pyx_k_partial[] = "partial"; +static const char __pyx_k_pickled[] = "pickled"; +static const char __pyx_k_popleft[] = "popleft"; +static const char __pyx_k_prepare[] = "__prepare__"; +static const char __pyx_k_randint[] = "randint"; +static const char __pyx_k_readval[] = "readval"; +static const char __pyx_k_results[] = "results"; +static const char __pyx_k_seekloc[] = "seekloc"; +static const char __pyx_k_seekpos[] = "seekpos"; +static const char __pyx_k_spacing[] = "spacing"; +static const char __pyx_k_tempdir[] = "tempdir"; +static const char __pyx_k_test_gz[] = "test.gz"; +static const char __pyx_k_testval[] = "testval"; +static const char __pyx_k_tobytes[] = "tobytes"; +static const char __pyx_k_GzipFile[] = "GzipFile"; +static const char __pyx_k_compress[] = "compress"; +static const char __pyx_k_deepcopy[] = "deepcopy"; +static const char __pyx_k_eofseeks[] = "eofseeks"; +static const char __pyx_k_error_fn[] = "error_fn"; +static const char __pyx_k_expected[] = "expected"; +static const char __pyx_k_filename[] = "filename"; +static const char __pyx_k_filesize[] = "filesize"; +static const char __pyx_k_gotlines[] = "gotlines"; +static const char __pyx_k_gzf_copy[] = "gzf_copy"; +static const char __pyx_k_idxfname[] = "idxfname"; +static const char __pyx_k_line_one[] = "line one"; +static const char __pyx_k_line_two[] = "line two"; +static const char __pyx_k_lo_world[] = "lo world"; +static const char __pyx_k_qualname[] = "__qualname__"; +static const char __pyx_k_read_out[] = ", read out "; +static const char __pyx_k_readable[] = "readable"; +static const char __pyx_k_readinto[] = "readinto"; +static const char __pyx_k_readline[] = "readline"; +static const char __pyx_k_readval1[] = "readval1"; +static const char __pyx_k_readval2[] = "readval2"; +static const char __pyx_k_readval3[] = "readval3"; +static const char __pyx_k_ret_list[] = "ret_list"; +static const char __pyx_k_seekable[] = "seekable"; +static const char __pyx_k_seeklocs[] = "seeklocs"; +static const char __pyx_k_tempfile[] = "tempfile"; +static const char __pyx_k_testfile[] = "testfile"; +static const char __pyx_k_textwrap[] = "textwrap"; +static const char __pyx_k_tostring[] = "tostring"; +static const char __pyx_k_use_mmap[] = "use_mmap"; +static const char __pyx_k_writable[] = "writable"; +static const char __pyx_k_enumerate[] = "enumerate"; +static const char __pyx_k_first50MB[] = "first50MB"; +static const char __pyx_k_functools[] = "functools"; +static const char __pyx_k_gzf_copy2[] = "gzf_copy2"; +static const char __pyx_k_itertools[] = "itertools"; +static const char __pyx_k_metaclass[] = "__metaclass__"; +static const char __pyx_k_num_bytes[] = "num_bytes"; +static const char __pyx_k_readlines[] = "readlines"; +static const char __pyx_k_remainder[] = "remainder"; +static const char __pyx_k_seekelems[] = "seekelems"; +static const char __pyx_k_test_atts[] = "test_atts"; +static const char __pyx_k_test_iter[] = "test_iter"; +static const char __pyx_k_test_seek[] = "test_seek"; +static const char __pyx_k_GzipStream[] = "GzipStream"; +static const char __pyx_k_ValueError[] = "ValueError"; +static const char __pyx_k_appendleft[] = "appendleft"; +static const char __pyx_k_auto_build[] = "auto_build"; +static const char __pyx_k_candidates[] = "candidates"; +static const char __pyx_k_contextlib[] = "contextlib"; +static const char __pyx_k_frombuffer[] = "frombuffer"; +static const char __pyx_k_index_file[] = "index_file"; +static const char __pyx_k_memoryview[] = "memoryview"; +static const char __pyx_k_second50MB[] = "second50MB"; +static const char __pyx_k_subprocess[] = "subprocess"; +static const char __pyx_k_test_gzidx[] = "test.gzidx"; +static const char __pyx_k_test_pread[] = "test_pread"; +static const char __pyx_k_BytesBuffer[] = "BytesBuffer"; +static const char __pyx_k_collections[] = "collections"; +static const char __pyx_k_hello_world[] = "hello world"; +static const char __pyx_k_line_offset[] = "line_offset"; +static const char __pyx_k_seek_points[] = "seek_points"; +static const char __pyx_k_Generated_to[] = "Generated to {}..."; +static const char __pyx_k_drop_handles[] = "drop_handles"; +static const char __pyx_k_export_index[] = "export_index"; +static const char __pyx_k_import_index[] = "import_index"; +static const char __pyx_k_indexed_gzip[] = "indexed_gzip"; +static const char __pyx_k_read_element[] = "read_element"; +static const char __pyx_k_readbuf_size[] = "readbuf_size"; +static const char __pyx_k_version_info[] = "version_info"; +static const char __pyx_k_NoHandleError[] = "NoHandleError"; +static const char __pyx_k_PicklingError[] = "PicklingError"; +static const char __pyx_k_StopIteration[] = "StopIteration"; +static const char __pyx_k_gen_test_data[] = "gen_test_data"; +static const char __pyx_k_num_bytes_was[] = ", num_bytes was "; +static const char __pyx_k_test_copyable[] = "test_copyable"; +static const char __pyx_k_test_read_all[] = "test_read_all"; +static const char __pyx_k_test_readinto[] = "test_readinto"; +static const char __pyx_k_test_readline[] = "test_readline"; +static const char __pyx_k_uncmp_offsets[] = "uncmp_offsets"; +static const char __pyx_k_fill_buf_bytes[] = "_fill_buf_bytes"; +static const char __pyx_k_read_in_length[] = ", read in length = "; +static const char __pyx_k_test_open_mode[] = "test_open_mode"; +static const char __pyx_k_test_picklable[] = "test_picklable"; +static const char __pyx_k_test_readlines[] = "test_readlines"; +static const char __pyx_k_BytesIOWithMode[] = "BytesIOWithMode"; +static const char __pyx_k_GzipStream_peek[] = "GzipStream.peek"; +static const char __pyx_k_GzipStream_read[] = "GzipStream.read"; +static const char __pyx_k_GzipStream_tell[] = "GzipStream.tell"; +static const char __pyx_k_IndexedGzipFile[] = "_IndexedGzipFile"; +static const char __pyx_k_NotCoveredError[] = "NotCoveredError"; +static const char __pyx_k_Size_changed_to[] = "Size changed to "; +static const char __pyx_k_multiprocessing[] = "multiprocessing"; +static const char __pyx_k_test_open_close[] = "test_open_close"; +static const char __pyx_k_BytesBuffer__buf[] = "_BytesBuffer__buf"; +static const char __pyx_k_BytesBuffer__pos[] = "_BytesBuffer__pos"; +static const char __pyx_k_BytesBuffer_peek[] = "BytesBuffer.peek"; +static const char __pyx_k_BytesBuffer_read[] = "BytesBuffer.read"; +static const char __pyx_k_BytesBuffer_tell[] = "BytesBuffer.tell"; +static const char __pyx_k_GzipStream__gzip[] = "_GzipStream__gzip"; +static const char __pyx_k_GzipStream__size[] = "_GzipStream__size"; +static const char __pyx_k_GzipStream_close[] = "GzipStream.close"; +static const char __pyx_k_build_full_index[] = "build_full_index"; +static const char __pyx_k_check_data_valid[] = "check_data_valid"; +static const char __pyx_k_file_like_object[] = "file_like_object"; +static const char __pyx_k_length_of_buffer[] = ", length of buffer = "; +static const char __pyx_k_readall_buf_size[] = "readall_buf_size"; +static const char __pyx_k_BytesBuffer___len[] = "BytesBuffer.__len__"; +static const char __pyx_k_BytesBuffer__size[] = "_BytesBuffer__size"; +static const char __pyx_k_BytesBuffer_close[] = "BytesBuffer.close"; +static const char __pyx_k_BytesBuffer_flush[] = "BytesBuffer.flush"; +static const char __pyx_k_BytesBuffer_write[] = "BytesBuffer.write"; +static const char __pyx_k_GzipStream___init[] = "GzipStream.__init__"; +static const char __pyx_k_GzipStream__input[] = "_GzipStream__input"; +static const char __pyx_k_IndexedGzipFile_2[] = "IndexedGzipFile"; +static const char __pyx_k_test_manual_build[] = "test_manual_build"; +static const char __pyx_k_BytesBuffer___bool[] = "BytesBuffer.__bool__"; +static const char __pyx_k_BytesBuffer___init[] = "BytesBuffer.__init__"; +static const char __pyx_k_GzipStream__buffer[] = "_GzipStream__buffer"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_test_open_function[] = "test_open_function"; +static const char __pyx_k_test_seek_and_read[] = "test_seek_and_read"; +static const char __pyx_k_test_seek_and_tell[] = "test_seek_and_tell"; +static const char __pyx_k_test_wrapper_class[] = "test_wrapper_class"; +static const char __pyx_k_GzipStream_seekable[] = "GzipStream.seekable"; +static const char __pyx_k_test_32bit_overflow[] = "test_32bit_overflow"; +static const char __pyx_k_test_read_beyond_end[] = "test_read_beyond_end"; +static const char __pyx_k_test_init_failure_cases[] = "test_init_failure_cases"; +static const char __pyx_k_test_init_success_cases[] = "test_init_success_cases"; +static const char __pyx_k_test_readline_sizelimit[] = "test_readline_sizelimit"; +static const char __pyx_k_write_text_to_gzip_file[] = "write_text_to_gzip_file"; +static const char __pyx_k_test_handles_not_dropped[] = "test_handles_not_dropped"; +static const char __pyx_k_test_import_export_index[] = "test_import_export_index"; +static const char __pyx_k_test_multiproc_serialise[] = "test_multiproc_serialise"; +static const char __pyx_k_test_readlines_sizelimit[] = "test_readlines_sizelimit"; +static const char __pyx_k_test_prioritize_fd_over_f[] = "test_prioritize_fd_over_f"; +static const char __pyx_k_GzipStream__fill_buf_bytes[] = "GzipStream._fill_buf_bytes"; +static const char __pyx_k_test_get_index_seek_points[] = "test_get_index_seek_points"; +static const char __pyx_k_test_open_close_ctxmanager[] = "test_open_close_ctxmanager"; +static const char __pyx_k_test_read_with_null_padding[] = "test_read_with_null_padding"; +static const char __pyx_k_In_GzipStream_tell_is_called[] = "In GzipStream, tell() is called"; +static const char __pyx_k_test_create_from_open_handle[] = "test_create_from_open_handle"; +static const char __pyx_k_test_size_multiple_of_readbuf[] = "test_size_multiple_of_readbuf"; +static const char __pyx_k_expected_number_of_seek_points[] = "expected_number_of_seek_points"; +static const char __pyx_k_this_is_even_more_text_that_is[] = "\n this is\n even more text\n that is split\n across several lines\n the creativity\n involved in generating\n this test data is\n unparalleled\n "; +static const char __pyx_k_this_is_some_text_split_across[] = "\n this is\n some text\n split across\n several lines\n how creative\n "; +static const char __pyx_k_A_class_for_a_buffer_of_bytes_U[] = "\n A class for a buffer of bytes. Unlike io.BytesIO(), this class\n keeps track of the buffer's size (in bytes).\n "; +static const char __pyx_k_line_1_line_2_this_is_line_3_li[] = "\n line 1\n line 2\n this is line 3\n line the fourth\n here is the fifth line\n "; +static const char __pyx_k_test_accept_filename_or_fileobj[] = "test_accept_filename_or_fileobj"; +static const char __pyx_k_this_is_some_more_text_split_ac[] = "\n this is\n some more text\n split across\n several lines\n super imaginative\n test data\n "; +static const char __pyx_k_A_stream_that_gzips_a_file_in_ch[] = "A stream that gzips a file in chunks.\n "; +static const char __pyx_k_In_GzipStream__fill_buf_bytes_nu[] = "In GzipStream _fill_buf_bytes, num_bytes = "; +static const char __pyx_k_indexed_gzip_tests_ctest_indexed[] = "indexed_gzip.tests.ctest_indexed_gzip"; +static const char __pyx_k_skipping_test_read_all_test_as_i[] = "skipping test_read_all test as it will require too much memory"; +static const char __pyx_k_skipping_test_read_with_null_pad[] = "skipping test_read_with_null_padding test as it will require too much memory"; +static const char __pyx_k_test_build_index_from_unseekable[] = "test_build_index_from_unseekable"; +static const char __pyx_k_test_import_export_index_open_fi[] = "test_import_export_index_open_file"; +static const char __pyx_k_test_open_mode_locals_BytesIOWit[] = "test_open_mode..BytesIOWithMode"; +static const char __pyx_k_test_readinto_locals_line_offset[] = "test_readinto..line_offset"; +static const char __pyx_k_test_simple_read_with_null_paddi[] = "test_simple_read_with_null_padding"; +static const char __pyx_k_indexed_gzip_tests_ctest_indexed_2[] = "indexed_gzip/tests/ctest_indexed_gzip.pyx"; +static PyObject *__pyx_kp_b_12345; +static PyObject *__pyx_kp_s_A_class_for_a_buffer_of_bytes_U; +static PyObject *__pyx_kp_s_A_stream_that_gzips_a_file_in_ch; +static PyObject *__pyx_n_s_BytesBuffer; +static PyObject *__pyx_n_s_BytesBuffer___bool; +static PyObject *__pyx_n_s_BytesBuffer___init; +static PyObject *__pyx_n_s_BytesBuffer___len; +static PyObject *__pyx_n_s_BytesBuffer__buf; +static PyObject *__pyx_n_s_BytesBuffer__pos; +static PyObject *__pyx_n_s_BytesBuffer__size; +static PyObject *__pyx_n_s_BytesBuffer_close; +static PyObject *__pyx_n_s_BytesBuffer_flush; +static PyObject *__pyx_n_s_BytesBuffer_peek; +static PyObject *__pyx_n_s_BytesBuffer_read; +static PyObject *__pyx_n_s_BytesBuffer_tell; +static PyObject *__pyx_n_s_BytesBuffer_write; +static PyObject *__pyx_n_s_BytesIO; +static PyObject *__pyx_n_s_BytesIOWithMode; +static PyObject *__pyx_n_s_Error; +static PyObject *__pyx_kp_s_Generated_to; +static PyObject *__pyx_n_s_GzipFile; +static PyObject *__pyx_n_s_GzipStream; +static PyObject *__pyx_n_s_GzipStream___init; +static PyObject *__pyx_n_s_GzipStream__buffer; +static PyObject *__pyx_n_s_GzipStream__fill_buf_bytes; +static PyObject *__pyx_n_s_GzipStream__gzip; +static PyObject *__pyx_n_s_GzipStream__input; +static PyObject *__pyx_n_s_GzipStream__size; +static PyObject *__pyx_n_s_GzipStream_close; +static PyObject *__pyx_n_s_GzipStream_peek; +static PyObject *__pyx_n_s_GzipStream_read; +static PyObject *__pyx_n_s_GzipStream_seekable; +static PyObject *__pyx_n_s_GzipStream_tell; +static PyObject *__pyx_n_s_IOError; +static PyObject *__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu; +static PyObject *__pyx_kp_s_In_GzipStream_tell_is_called; +static PyObject *__pyx_n_s_IndexedGzipFile; +static PyObject *__pyx_n_s_IndexedGzipFile_2; +static PyObject *__pyx_n_s_NoHandleError; +static PyObject *__pyx_n_s_NotCoveredError; +static PyObject *__pyx_n_s_PicklingError; +static PyObject *__pyx_n_s_Pool; +static PyObject *__pyx_kp_u_Size_changed_to; +static PyObject *__pyx_n_s_StopIteration; +static PyObject *__pyx_n_s_ValueError; +static PyObject *__pyx_kp_s__24; +static PyObject *__pyx_n_s__5; +static PyObject *__pyx_kp_b__5; +static PyObject *__pyx_kp_b__50; +static PyObject *__pyx_kp_s__58; +static PyObject *__pyx_kp_b__61; +static PyObject *__pyx_n_s__90; +static PyObject *__pyx_n_s_ab; +static PyObject *__pyx_n_s_all; +static PyObject *__pyx_n_s_append; +static PyObject *__pyx_n_s_appendleft; +static PyObject *__pyx_n_s_arange; +static PyObject *__pyx_n_s_args; +static PyObject *__pyx_n_s_auto_build; +static PyObject *__pyx_n_s_b; +static PyObject *__pyx_kp_s_bin; +static PyObject *__pyx_n_s_block; +static PyObject *__pyx_n_s_bool; +static PyObject *__pyx_n_s_buf; +static PyObject *__pyx_n_s_buffer; +static PyObject *__pyx_n_s_bufsz; +static PyObject *__pyx_n_s_build_full_index; +static PyObject *__pyx_n_s_bytes; +static PyObject *__pyx_n_s_candidates; +static PyObject *__pyx_n_s_ceil; +static PyObject *__pyx_n_s_check_data_valid; +static PyObject *__pyx_n_s_chr; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_close; +static PyObject *__pyx_n_s_closed; +static PyObject *__pyx_n_s_collections; +static PyObject *__pyx_n_s_compress; +static PyObject *__pyx_n_s_concat; +static PyObject *__pyx_n_s_contextlib; +static PyObject *__pyx_n_s_copy; +static PyObject *__pyx_n_s_cp; +static PyObject *__pyx_n_s_data; +static PyObject *__pyx_n_s_data1; +static PyObject *__pyx_n_s_data2; +static PyObject *__pyx_n_s_decode; +static PyObject *__pyx_n_s_dedent; +static PyObject *__pyx_n_s_deepcopy; +static PyObject *__pyx_n_s_del; +static PyObject *__pyx_n_s_deque; +static PyObject *__pyx_n_s_divisor; +static PyObject *__pyx_n_s_doc; +static PyObject *__pyx_n_s_drop; +static PyObject *__pyx_n_s_drop_handles; +static PyObject *__pyx_n_s_dtype; +static PyObject *__pyx_n_s_dumps; +static PyObject *__pyx_n_s_element; +static PyObject *__pyx_n_s_encode; +static PyObject *__pyx_n_s_enter; +static PyObject *__pyx_n_s_enumerate; +static PyObject *__pyx_n_s_eofseeks; +static PyObject *__pyx_n_s_error_fn; +static PyObject *__pyx_n_s_es; +static PyObject *__pyx_n_s_exit; +static PyObject *__pyx_n_s_expect; +static PyObject *__pyx_n_s_expected; +static PyObject *__pyx_n_s_expected_number_of_seek_points; +static PyObject *__pyx_n_s_expl; +static PyObject *__pyx_n_s_export_index; +static PyObject *__pyx_n_s_extend; +static PyObject *__pyx_n_s_f; +static PyObject *__pyx_n_s_f1; +static PyObject *__pyx_n_s_f2; +static PyObject *__pyx_kp_s_f_gz; +static PyObject *__pyx_n_s_fid; +static PyObject *__pyx_n_s_file_like_object; +static PyObject *__pyx_n_s_filelen; +static PyObject *__pyx_n_s_filename; +static PyObject *__pyx_n_s_fileno; +static PyObject *__pyx_n_s_fileobj; +static PyObject *__pyx_n_s_filesize; +static PyObject *__pyx_n_s_fill_buf_bytes; +static PyObject *__pyx_n_s_first50MB; +static PyObject *__pyx_n_s_flush; +static PyObject *__pyx_n_s_fname; +static PyObject *__pyx_n_s_fobj; +static PyObject *__pyx_n_s_format; +static PyObject *__pyx_n_s_frombuffer; +static PyObject *__pyx_n_s_fsize; +static PyObject *__pyx_n_s_ft; +static PyObject *__pyx_n_s_func; +static PyObject *__pyx_n_s_functools; +static PyObject *__pyx_n_s_gcd; +static PyObject *__pyx_n_s_gen_test_data; +static PyObject *__pyx_n_s_getsize; +static PyObject *__pyx_n_s_gf; +static PyObject *__pyx_n_s_gf1; +static PyObject *__pyx_n_s_gf2; +static PyObject *__pyx_n_s_gf3; +static PyObject *__pyx_n_s_gotl; +static PyObject *__pyx_n_s_gotline; +static PyObject *__pyx_n_s_gotlines; +static PyObject *__pyx_n_s_gzf; +static PyObject *__pyx_n_s_gzf1; +static PyObject *__pyx_n_s_gzf2; +static PyObject *__pyx_n_s_gzf3; +static PyObject *__pyx_n_s_gzf_copy; +static PyObject *__pyx_n_s_gzf_copy2; +static PyObject *__pyx_n_s_gzip; +static PyObject *__pyx_n_s_hashlib; +static PyObject *__pyx_kp_b_hello_world; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_idx; +static PyObject *__pyx_n_s_idxf; +static PyObject *__pyx_n_s_idxfname; +static PyObject *__pyx_n_s_igzip; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_import_index; +static PyObject *__pyx_n_s_index_file; +static PyObject *__pyx_n_s_indexed_gzip; +static PyObject *__pyx_n_s_indexed_gzip_tests_ctest_indexed; +static PyObject *__pyx_kp_s_indexed_gzip_tests_ctest_indexed_2; +static PyObject *__pyx_n_s_init; +static PyObject *__pyx_n_u_int; +static PyObject *__pyx_n_s_io; +static PyObject *__pyx_n_s_it; +static PyObject *__pyx_n_s_itertools; +static PyObject *__pyx_n_s_join; +static PyObject *__pyx_n_s_kwargs; +static PyObject *__pyx_n_s_l; +static PyObject *__pyx_n_s_len; +static PyObject *__pyx_kp_u_length_of_buffer; +static PyObject *__pyx_n_s_lim; +static PyObject *__pyx_n_s_limits; +static PyObject *__pyx_n_s_line; +static PyObject *__pyx_kp_s_line_1_line_2_this_is_line_3_li; +static PyObject *__pyx_n_s_line_offset; +static PyObject *__pyx_kp_s_line_one; +static PyObject *__pyx_kp_s_line_two; +static PyObject *__pyx_n_s_lines; +static PyObject *__pyx_kp_b_lo_world; +static PyObject *__pyx_n_s_loads; +static PyObject *__pyx_n_s_m; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_map; +static PyObject *__pyx_n_s_memoryview; +static PyObject *__pyx_n_s_metaclass; +static PyObject *__pyx_n_s_mode; +static PyObject *__pyx_n_s_modes; +static PyObject *__pyx_n_s_module; +static PyObject *__pyx_n_s_mp; +static PyObject *__pyx_n_s_mpfunc; +static PyObject *__pyx_n_s_multiprocessing; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_n_s_nbytes; +static PyObject *__pyx_n_s_ndarray; +static PyObject *__pyx_n_s_nelems; +static PyObject *__pyx_n_s_niters; +static PyObject *__pyx_n_s_np; +static PyObject *__pyx_n_s_num; +static PyObject *__pyx_n_s_num_bytes; +static PyObject *__pyx_kp_u_num_bytes_was; +static PyObject *__pyx_n_s_numpy; +static PyObject *__pyx_n_s_off; +static PyObject *__pyx_n_s_offset; +static PyObject *__pyx_n_s_offsets; +static PyObject *__pyx_n_s_ones; +static PyObject *__pyx_n_s_op; +static PyObject *__pyx_n_s_open; +static PyObject *__pyx_n_s_os; +static PyObject *__pyx_n_s_os_path; +static PyObject *__pyx_n_s_partial; +static PyObject *__pyx_n_s_peek; +static PyObject *__pyx_n_s_pickle; +static PyObject *__pyx_n_s_pickled; +static PyObject *__pyx_n_s_point; +static PyObject *__pyx_n_s_points; +static PyObject *__pyx_n_s_pool; +static PyObject *__pyx_n_s_popleft; +static PyObject *__pyx_n_s_pread; +static PyObject *__pyx_n_s_prepare; +static PyObject *__pyx_n_s_print; +static PyObject *__pyx_n_s_pytest; +static PyObject *__pyx_n_s_qualname; +static PyObject *__pyx_n_s_r; +static PyObject *__pyx_n_s_raises; +static PyObject *__pyx_n_s_randint; +static PyObject *__pyx_n_s_random; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_rb; +static PyObject *__pyx_n_s_read; +static PyObject *__pyx_n_s_read_element; +static PyObject *__pyx_kp_u_read_in_length; +static PyObject *__pyx_kp_u_read_out; +static PyObject *__pyx_n_s_readable; +static PyObject *__pyx_n_s_readall_buf_size; +static PyObject *__pyx_n_s_readbuf_size; +static PyObject *__pyx_n_s_readinto; +static PyObject *__pyx_n_s_readline; +static PyObject *__pyx_n_s_readlines; +static PyObject *__pyx_n_s_readval; +static PyObject *__pyx_n_s_readval1; +static PyObject *__pyx_n_s_readval2; +static PyObject *__pyx_n_s_readval3; +static PyObject *__pyx_n_s_remainder; +static PyObject *__pyx_n_s_results; +static PyObject *__pyx_n_s_ret; +static PyObject *__pyx_n_s_ret_list; +static PyObject *__pyx_n_s_rt; +static PyObject *__pyx_n_s_s; +static PyObject *__pyx_n_s_second50MB; +static PyObject *__pyx_n_s_seed; +static PyObject *__pyx_n_s_seek; +static PyObject *__pyx_n_s_seek_points; +static PyObject *__pyx_n_s_seekable; +static PyObject *__pyx_n_s_seekelems; +static PyObject *__pyx_n_s_seekloc; +static PyObject *__pyx_n_s_seeklocs; +static PyObject *__pyx_n_s_seekpos; +static PyObject *__pyx_n_s_self; +static PyObject *__pyx_n_s_shape; +static PyObject *__pyx_n_s_shutil; +static PyObject *__pyx_n_s_size; +static PyObject *__pyx_n_s_skip; +static PyObject *__pyx_kp_s_skipping_test_read_all_test_as_i; +static PyObject *__pyx_kp_s_skipping_test_read_with_null_pad; +static PyObject *__pyx_n_s_sp; +static PyObject *__pyx_n_s_spacing; +static PyObject *__pyx_n_s_split; +static PyObject *__pyx_n_s_sqrt; +static PyObject *__pyx_n_s_st; +static PyObject *__pyx_n_s_strip; +static PyObject *__pyx_n_s_subprocess; +static PyObject *__pyx_n_s_sum; +static PyObject *__pyx_n_s_sys; +static PyObject *__pyx_n_s_td; +static PyObject *__pyx_n_s_tdir; +static PyObject *__pyx_n_s_tell; +static PyObject *__pyx_n_s_tempdir; +static PyObject *__pyx_n_s_tempfile; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_test_32bit_overflow; +static PyObject *__pyx_n_s_test_accept_filename_or_fileobj; +static PyObject *__pyx_n_s_test_atts; +static PyObject *__pyx_n_s_test_build_index_from_unseekable; +static PyObject *__pyx_n_s_test_copyable; +static PyObject *__pyx_n_s_test_create_from_open_handle; +static PyObject *__pyx_n_s_test_get_index_seek_points; +static PyObject *__pyx_kp_s_test_gz; +static PyObject *__pyx_kp_s_test_gzidx; +static PyObject *__pyx_n_s_test_handles_not_dropped; +static PyObject *__pyx_n_s_test_import_export_index; +static PyObject *__pyx_n_s_test_import_export_index_open_fi; +static PyObject *__pyx_n_s_test_init_failure_cases; +static PyObject *__pyx_n_s_test_init_success_cases; +static PyObject *__pyx_n_s_test_iter; +static PyObject *__pyx_n_s_test_manual_build; +static PyObject *__pyx_n_s_test_multiproc_serialise; +static PyObject *__pyx_n_s_test_open_close; +static PyObject *__pyx_n_s_test_open_close_ctxmanager; +static PyObject *__pyx_n_s_test_open_function; +static PyObject *__pyx_n_s_test_open_mode; +static PyObject *__pyx_n_s_test_open_mode_locals_BytesIOWit; +static PyObject *__pyx_n_s_test_picklable; +static PyObject *__pyx_n_s_test_pread; +static PyObject *__pyx_n_s_test_prioritize_fd_over_f; +static PyObject *__pyx_n_s_test_read_all; +static PyObject *__pyx_n_s_test_read_beyond_end; +static PyObject *__pyx_n_s_test_read_with_null_padding; +static PyObject *__pyx_n_s_test_readinto; +static PyObject *__pyx_n_s_test_readinto_locals_line_offset; +static PyObject *__pyx_n_s_test_readline; +static PyObject *__pyx_n_s_test_readline_sizelimit; +static PyObject *__pyx_n_s_test_readlines; +static PyObject *__pyx_n_s_test_readlines_sizelimit; +static PyObject *__pyx_n_s_test_seek; +static PyObject *__pyx_n_s_test_seek_and_read; +static PyObject *__pyx_n_s_test_seek_and_tell; +static PyObject *__pyx_n_s_test_simple_read_with_null_paddi; +static PyObject *__pyx_n_s_test_size_multiple_of_readbuf; +static PyObject *__pyx_n_s_test_wrapper_class; +static PyObject *__pyx_n_s_testfile; +static PyObject *__pyx_n_s_testval; +static PyObject *__pyx_n_s_textwrap; +static PyObject *__pyx_kp_s_this_is_even_more_text_that_is; +static PyObject *__pyx_kp_s_this_is_some_more_text_split_ac; +static PyObject *__pyx_kp_s_this_is_some_text_split_across; +static PyObject *__pyx_n_s_time; +static PyObject *__pyx_n_s_tobytes; +static PyObject *__pyx_n_s_tostring; +static PyObject *__pyx_n_s_touch; +static PyObject *__pyx_n_s_uint32; +static PyObject *__pyx_n_s_uint64; +static PyObject *__pyx_n_s_uncmp_offsets; +static PyObject *__pyx_n_s_use_mmap; +static PyObject *__pyx_n_s_val; +static PyObject *__pyx_n_s_version_info; +static PyObject *__pyx_n_s_w; +static PyObject *__pyx_n_s_wb; +static PyObject *__pyx_n_s_writable; +static PyObject *__pyx_n_s_write; +static PyObject *__pyx_n_s_write_text_to_gzip_file; +static PyObject *__pyx_n_s_wt; +static PyObject *__pyx_n_s_zip; +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_2__len__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_4write(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_data); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_6read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_size); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_8peek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_size); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_10flush(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_12close(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_14tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_16__bool__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_fileobj); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_2_fill_buf_bytes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_4read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_6close(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_8peek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_10tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_12seekable(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_error_fn(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_element(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gzf, PyObject *__pyx_v_element, PyObject *__pyx_v_seek); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text_to_gzip_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_lines); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_close(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_function(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open_close_ctxmanager(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open_mode(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init_failure_cases(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init_success_cases(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_create_from_open_handle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop, PyObject *__pyx_v_file_like_object); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_accept_filename_or_fileobj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_handles_not_dropped(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manual_build(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simple_read_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read_beyond_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek_and_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek_and_tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_pread(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(PyObject *__pyx_self, PyObject *__pyx_v_idx); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_readinto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_readline(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_readline_sizelimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_readlines(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_readlines_sizelimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_index_seek_points(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_import_export_index(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_import_export_index_open_file(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_build_index_from_unseekable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrapper_class(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_num); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size_multiple_of_readbuf(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_picklable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copyable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gzf, PyObject *__pyx_v_size, PyObject *__pyx_v_offset); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_multiproc_serialise(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bit_overflow(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static __Pyx_CachedCFunction __pyx_umethod_PyByteArray_Type_extend = {0, &__pyx_n_s_extend, 0, 0, 0}; +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_3; +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_5; +static PyObject *__pyx_int_8; +static PyObject *__pyx_int_10; +static PyObject *__pyx_int_16; +static PyObject *__pyx_int_20; +static PyObject *__pyx_int_24; +static PyObject *__pyx_int_48; +static PyObject *__pyx_int_99; +static PyObject *__pyx_int_128; +static PyObject *__pyx_int_200; +static PyObject *__pyx_int_1000; +static PyObject *__pyx_int_1024; +static PyObject *__pyx_int_5242; +static PyObject *__pyx_int_10000; +static PyObject *__pyx_int_50000; +static PyObject *__pyx_int_65535; +static PyObject *__pyx_int_65536; +static PyObject *__pyx_int_100000; +static PyObject *__pyx_int_131072; +static PyObject *__pyx_int_261744; +static PyObject *__pyx_int_262044; +static PyObject *__pyx_int_524280; +static PyObject *__pyx_int_524288; +static PyObject *__pyx_int_1048576; +static PyObject *__pyx_int_10000000; +static PyObject *__pyx_int_16777216; +static PyObject *__pyx_int_52428800; +static PyObject *__pyx_int_neg_1; +static PyObject *__pyx_int_neg_2; +static PyObject *__pyx_int_neg_16; +static PyObject *__pyx_int_neg_100; +static PyObject *__pyx_int_neg_800; +static PyObject *__pyx_int_neg_3200; +static PyObject *__pyx_codeobj_; +static PyObject *__pyx_slice__65; +static PyObject *__pyx_tuple__12; +static PyObject *__pyx_tuple__18; +static PyObject *__pyx_tuple__21; +static PyObject *__pyx_tuple__25; +static PyObject *__pyx_tuple__30; +static PyObject *__pyx_tuple__31; +static PyObject *__pyx_tuple__32; +static PyObject *__pyx_tuple__33; +static PyObject *__pyx_tuple__34; +static PyObject *__pyx_tuple__35; +static PyObject *__pyx_tuple__36; +static PyObject *__pyx_tuple__37; +static PyObject *__pyx_tuple__38; +static PyObject *__pyx_tuple__47; +static PyObject *__pyx_tuple__59; +static PyObject *__pyx_tuple__62; +static PyObject *__pyx_tuple__71; +static PyObject *__pyx_tuple__74; +static PyObject *__pyx_tuple__76; +static PyObject *__pyx_tuple__79; +static PyObject *__pyx_tuple__81; +static PyObject *__pyx_tuple__82; +static PyObject *__pyx_tuple__83; +static PyObject *__pyx_tuple__87; +static PyObject *__pyx_tuple__89; +static PyObject *__pyx_tuple__91; +static PyObject *__pyx_tuple__92; +static PyObject *__pyx_tuple__93; +static PyObject *__pyx_tuple__94; +static PyObject *__pyx_tuple__95; +static PyObject *__pyx_tuple__96; +static PyObject *__pyx_tuple__97; +static PyObject *__pyx_tuple__98; +static PyObject *__pyx_tuple__99; +static PyObject *__pyx_codeobj__2; +static PyObject *__pyx_codeobj__3; +static PyObject *__pyx_codeobj__4; +static PyObject *__pyx_codeobj__6; +static PyObject *__pyx_codeobj__7; +static PyObject *__pyx_codeobj__8; +static PyObject *__pyx_codeobj__9; +static PyObject *__pyx_tuple__100; +static PyObject *__pyx_tuple__101; +static PyObject *__pyx_tuple__102; +static PyObject *__pyx_tuple__103; +static PyObject *__pyx_tuple__104; +static PyObject *__pyx_tuple__105; +static PyObject *__pyx_tuple__106; +static PyObject *__pyx_tuple__107; +static PyObject *__pyx_tuple__108; +static PyObject *__pyx_tuple__109; +static PyObject *__pyx_tuple__110; +static PyObject *__pyx_tuple__111; +static PyObject *__pyx_tuple__112; +static PyObject *__pyx_tuple__113; +static PyObject *__pyx_tuple__114; +static PyObject *__pyx_tuple__115; +static PyObject *__pyx_tuple__116; +static PyObject *__pyx_tuple__117; +static PyObject *__pyx_tuple__118; +static PyObject *__pyx_tuple__119; +static PyObject *__pyx_tuple__120; +static PyObject *__pyx_tuple__121; +static PyObject *__pyx_tuple__122; +static PyObject *__pyx_tuple__123; +static PyObject *__pyx_tuple__124; +static PyObject *__pyx_tuple__125; +static PyObject *__pyx_tuple__126; +static PyObject *__pyx_tuple__127; +static PyObject *__pyx_tuple__128; +static PyObject *__pyx_tuple__129; +static PyObject *__pyx_tuple__130; +static PyObject *__pyx_tuple__131; +static PyObject *__pyx_tuple__132; +static PyObject *__pyx_tuple__133; +static PyObject *__pyx_tuple__134; +static PyObject *__pyx_tuple__135; +static PyObject *__pyx_tuple__136; +static PyObject *__pyx_tuple__137; +static PyObject *__pyx_tuple__138; +static PyObject *__pyx_tuple__139; +static PyObject *__pyx_tuple__140; +static PyObject *__pyx_tuple__141; +static PyObject *__pyx_tuple__142; +static PyObject *__pyx_tuple__143; +static PyObject *__pyx_tuple__144; +static PyObject *__pyx_tuple__145; +static PyObject *__pyx_tuple__146; +static PyObject *__pyx_tuple__147; +static PyObject *__pyx_tuple__148; +static PyObject *__pyx_tuple__149; +static PyObject *__pyx_tuple__150; +static PyObject *__pyx_codeobj__10; +static PyObject *__pyx_codeobj__11; +static PyObject *__pyx_codeobj__13; +static PyObject *__pyx_codeobj__14; +static PyObject *__pyx_codeobj__15; +static PyObject *__pyx_codeobj__16; +static PyObject *__pyx_codeobj__17; +static PyObject *__pyx_codeobj__19; +static PyObject *__pyx_codeobj__20; +static PyObject *__pyx_codeobj__22; +static PyObject *__pyx_codeobj__23; +static PyObject *__pyx_codeobj__26; +static PyObject *__pyx_codeobj__27; +static PyObject *__pyx_codeobj__28; +static PyObject *__pyx_codeobj__29; +static PyObject *__pyx_codeobj__39; +static PyObject *__pyx_codeobj__40; +static PyObject *__pyx_codeobj__41; +static PyObject *__pyx_codeobj__42; +static PyObject *__pyx_codeobj__43; +static PyObject *__pyx_codeobj__44; +static PyObject *__pyx_codeobj__45; +static PyObject *__pyx_codeobj__46; +static PyObject *__pyx_codeobj__48; +static PyObject *__pyx_codeobj__49; +static PyObject *__pyx_codeobj__51; +static PyObject *__pyx_codeobj__52; +static PyObject *__pyx_codeobj__53; +static PyObject *__pyx_codeobj__54; +static PyObject *__pyx_codeobj__55; +static PyObject *__pyx_codeobj__56; +static PyObject *__pyx_codeobj__57; +static PyObject *__pyx_codeobj__60; +static PyObject *__pyx_codeobj__63; +static PyObject *__pyx_codeobj__64; +static PyObject *__pyx_codeobj__66; +static PyObject *__pyx_codeobj__67; +static PyObject *__pyx_codeobj__68; +static PyObject *__pyx_codeobj__69; +static PyObject *__pyx_codeobj__70; +static PyObject *__pyx_codeobj__72; +static PyObject *__pyx_codeobj__73; +static PyObject *__pyx_codeobj__75; +static PyObject *__pyx_codeobj__77; +static PyObject *__pyx_codeobj__78; +static PyObject *__pyx_codeobj__80; +static PyObject *__pyx_codeobj__84; +static PyObject *__pyx_codeobj__85; +static PyObject *__pyx_codeobj__86; +static PyObject *__pyx_codeobj__88; +/* Late includes */ + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 + * """ + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.__buf = deque() + * self.__size = 0 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__ = {"__init__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer___init__(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj_) + __Pyx_RefNannySetupContext("__init__", 0); + __Pyx_TraceCall("__init__", __pyx_f[0], 52, 0, __PYX_ERR(0, 52, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":53 + * + * def __init__(self): + * self.__buf = deque() # <<<<<<<<<<<<<< + * self.__size = 0 + * self.__pos = 0 + */ + __Pyx_TraceLine(53,0,__PYX_ERR(0, 53, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_deque); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 53, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf, __pyx_t_1) < 0) __PYX_ERR(0, 53, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":54 + * def __init__(self): + * self.__buf = deque() + * self.__size = 0 # <<<<<<<<<<<<<< + * self.__pos = 0 + * + */ + __Pyx_TraceLine(54,0,__PYX_ERR(0, 54, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size, __pyx_int_0) < 0) __PYX_ERR(0, 54, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":55 + * self.__buf = deque() + * self.__size = 0 + * self.__pos = 0 # <<<<<<<<<<<<<< + * + * def __len__(self): + */ + __Pyx_TraceLine(55,0,__PYX_ERR(0, 55, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__pos, __pyx_int_0) < 0) __PYX_ERR(0, 55, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 + * """ + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.__buf = deque() + * self.__size = 0 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 + * self.__pos = 0 + * + * def __len__(self): # <<<<<<<<<<<<<< + * return self.__size + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__ = {"__len__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__len__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_2__len__(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_2__len__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__2) + __Pyx_RefNannySetupContext("__len__", 0); + __Pyx_TraceCall("__len__", __pyx_f[0], 57, 0, __PYX_ERR(0, 57, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":58 + * + * def __len__(self): + * return self.__size # <<<<<<<<<<<<<< + * + * def write(self, data): + */ + __Pyx_TraceLine(58,0,__PYX_ERR(0, 58, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 + * self.__pos = 0 + * + * def __len__(self): # <<<<<<<<<<<<<< + * return self.__size + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 + * return self.__size + * + * def write(self, data): # <<<<<<<<<<<<<< + * self.__buf.append(data) + * self.__size += len(data) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write = {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_data = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("write (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_data,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_data)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 60, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 60, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_self = values[0]; + __pyx_v_data = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 60, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.write", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_4write(__pyx_self, __pyx_v_self, __pyx_v_data); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_4write(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_data) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + Py_ssize_t __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__3) + __Pyx_RefNannySetupContext("write", 0); + __Pyx_TraceCall("write", __pyx_f[0], 60, 0, __PYX_ERR(0, 60, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":61 + * + * def write(self, data): + * self.__buf.append(data) # <<<<<<<<<<<<<< + * self.__size += len(data) + * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") + */ + __Pyx_TraceLine(61,0,__PYX_ERR(0, 61, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_v_data); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 61, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":62 + * def write(self, data): + * self.__buf.append(data) + * self.__size += len(data) # <<<<<<<<<<<<<< + * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") + * + */ + __Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 62, __pyx_L1_error) + __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size, __pyx_t_5) < 0) __PYX_ERR(0, 62, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 + * return self.__size + * + * def write(self, data): # <<<<<<<<<<<<<< + * self.__buf.append(data) + * self.__size += len(data) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.write", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 + * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") + * + * def read(self, size = None): # <<<<<<<<<<<<<< + * if size is None: + * size = self.__size + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read = {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_size = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("read (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_size,0}; + PyObject* values[2] = {0,0}; + values[1] = ((PyObject *)((PyObject *)Py_None)); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 65, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_self = values[0]; + __pyx_v_size = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("read", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 65, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_6read(__pyx_self, __pyx_v_self, __pyx_v_size); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_6read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_size) { + PyObject *__pyx_v_ret_list = NULL; + PyObject *__pyx_v_s = NULL; + PyObject *__pyx_v_remainder = NULL; + PyObject *__pyx_v_ret = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__4) + __Pyx_RefNannySetupContext("read", 0); + __Pyx_TraceCall("read", __pyx_f[0], 65, 0, __PYX_ERR(0, 65, __pyx_L1_error)); + __Pyx_INCREF(__pyx_v_size); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":66 + * + * def read(self, size = None): + * if size is None: # <<<<<<<<<<<<<< + * size = self.__size + * ret_list = [] + */ + __Pyx_TraceLine(66,0,__PYX_ERR(0, 66, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_size == Py_None); + __pyx_t_2 = (__pyx_t_1 != 0); + if (__pyx_t_2) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":67 + * def read(self, size = None): + * if size is None: + * size = self.__size # <<<<<<<<<<<<<< + * ret_list = [] + * while size > 0 and len(self.__buf): + */ + __Pyx_TraceLine(67,0,__PYX_ERR(0, 67, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF_SET(__pyx_v_size, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":66 + * + * def read(self, size = None): + * if size is None: # <<<<<<<<<<<<<< + * size = self.__size + * ret_list = [] + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":68 + * if size is None: + * size = self.__size + * ret_list = [] # <<<<<<<<<<<<<< + * while size > 0 and len(self.__buf): + * s = self.__buf.popleft() + */ + __Pyx_TraceLine(68,0,__PYX_ERR(0, 68, __pyx_L1_error)) + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_ret_list = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":69 + * size = self.__size + * ret_list = [] + * while size > 0 and len(self.__buf): # <<<<<<<<<<<<<< + * s = self.__buf.popleft() + * size -= len(s) + */ + __Pyx_TraceLine(69,0,__PYX_ERR(0, 69, __pyx_L1_error)) + while (1) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_size, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_1) { + } else { + __pyx_t_2 = __pyx_t_1; + goto __pyx_L6_bool_binop_done; + } + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 69, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = (__pyx_t_4 != 0); + __pyx_t_2 = __pyx_t_1; + __pyx_L6_bool_binop_done:; + if (!__pyx_t_2) break; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":70 + * ret_list = [] + * while size > 0 and len(self.__buf): + * s = self.__buf.popleft() # <<<<<<<<<<<<<< + * size -= len(s) + * # print(f"In BytesBUffer read, current size to read: {size}") + */ + __Pyx_TraceLine(70,0,__PYX_ERR(0, 70, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_popleft); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":71 + * while size > 0 and len(self.__buf): + * s = self.__buf.popleft() + * size -= len(s) # <<<<<<<<<<<<<< + * # print(f"In BytesBUffer read, current size to read: {size}") + * ret_list.append(s) + */ + __Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) + __pyx_t_4 = PyObject_Length(__pyx_v_s); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 71, __pyx_L1_error) + __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = PyNumber_InPlaceSubtract(__pyx_v_size, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 71, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_size, __pyx_t_6); + __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":73 + * size -= len(s) + * # print(f"In BytesBUffer read, current size to read: {size}") + * ret_list.append(s) # <<<<<<<<<<<<<< + * if size < 0: + * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") + */ + __Pyx_TraceLine(73,0,__PYX_ERR(0, 73, __pyx_L1_error)) + __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_ret_list, __pyx_v_s); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 73, __pyx_L1_error) + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":74 + * # print(f"In BytesBUffer read, current size to read: {size}") + * ret_list.append(s) + * if size < 0: # <<<<<<<<<<<<<< + * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") + * ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] + */ + __Pyx_TraceLine(74,0,__PYX_ERR(0, 74, __pyx_L1_error)) + __pyx_t_6 = PyObject_RichCompare(__pyx_v_size, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 74, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 74, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_2) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":76 + * if size < 0: + * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") + * ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] # <<<<<<<<<<<<<< + * self.__buf.appendleft(remainder) + * + */ + __Pyx_TraceLine(76,0,__PYX_ERR(0, 76, __pyx_L1_error)) + __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_ret_list, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 76, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_6, 0, 0, NULL, &__pyx_v_size, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_ret_list, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 76, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_6, 0, 0, &__pyx_v_size, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 76, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(__Pyx_SetItemInt(__pyx_v_ret_list, -1L, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 1, 1, 1) < 0)) __PYX_ERR(0, 76, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_remainder = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":77 + * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") + * ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] + * self.__buf.appendleft(remainder) # <<<<<<<<<<<<<< + * + * ret = b''.join(ret_list) + */ + __Pyx_TraceLine(77,0,__PYX_ERR(0, 77, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_appendleft); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_v_remainder) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_remainder); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 77, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":74 + * # print(f"In BytesBUffer read, current size to read: {size}") + * ret_list.append(s) + * if size < 0: # <<<<<<<<<<<<<< + * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") + * ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":79 + * self.__buf.appendleft(remainder) + * + * ret = b''.join(ret_list) # <<<<<<<<<<<<<< + * self.__size -= len(ret) + * # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") + */ + __Pyx_TraceLine(79,0,__PYX_ERR(0, 79, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyBytes_Join(__pyx_kp_b__5, __pyx_v_ret_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 79, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_ret = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":80 + * + * ret = b''.join(ret_list) + * self.__size -= len(ret) # <<<<<<<<<<<<<< + * # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") + * self.__pos += len(ret) + */ + __Pyx_TraceLine(80,0,__PYX_ERR(0, 80, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyObject_Length(__pyx_v_ret); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 80, __pyx_L1_error) + __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_3 = PyNumber_InPlaceSubtract(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size, __pyx_t_3) < 0) __PYX_ERR(0, 80, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":82 + * self.__size -= len(ret) + * # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") + * self.__pos += len(ret) # <<<<<<<<<<<<<< + * return ret + * + */ + __Pyx_TraceLine(82,0,__PYX_ERR(0, 82, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_Length(__pyx_v_ret); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 82, __pyx_L1_error) + __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__pos, __pyx_t_5) < 0) __PYX_ERR(0, 82, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":83 + * # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") + * self.__pos += len(ret) + * return ret # <<<<<<<<<<<<<< + * + * def peek(self, size: int): + */ + __Pyx_TraceLine(83,0,__PYX_ERR(0, 83, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_ret); + __pyx_r = __pyx_v_ret; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 + * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") + * + * def read(self, size = None): # <<<<<<<<<<<<<< + * if size is None: + * size = self.__size + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_ret_list); + __Pyx_XDECREF(__pyx_v_s); + __Pyx_XDECREF(__pyx_v_remainder); + __Pyx_XDECREF(__pyx_v_ret); + __Pyx_XDECREF(__pyx_v_size); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 + * return ret + * + * def peek(self, size: int): # <<<<<<<<<<<<<< + * b = bytearray() + * for i in range(0, min(size, len(self.__buf))): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek = {"peek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_size = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("peek (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_size,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, 1); __PYX_ERR(0, 85, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "peek") < 0)) __PYX_ERR(0, 85, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_self = values[0]; + __pyx_v_size = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 85, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_8peek(__pyx_self, __pyx_v_self, __pyx_v_size); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_8peek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_size) { + PyObject *__pyx_v_b = NULL; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *(*__pyx_t_7)(PyObject *); + Py_ssize_t __pyx_t_8; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__6) + __Pyx_RefNannySetupContext("peek", 0); + __Pyx_TraceCall("peek", __pyx_f[0], 85, 0, __PYX_ERR(0, 85, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":86 + * + * def peek(self, size: int): + * b = bytearray() # <<<<<<<<<<<<<< + * for i in range(0, min(size, len(self.__buf))): + * b.extend(self.__buf[i]) + */ + __Pyx_TraceLine(86,0,__PYX_ERR(0, 86, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyByteArray_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_b = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":87 + * def peek(self, size: int): + * b = bytearray() + * for i in range(0, min(size, len(self.__buf))): # <<<<<<<<<<<<<< + * b.extend(self.__buf[i]) + * return bytes(b)[:size] + */ + __Pyx_TraceLine(87,0,__PYX_ERR(0, 87, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_v_size); + __pyx_t_1 = __pyx_v_size; + __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } else { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); + __Pyx_INCREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; + __pyx_t_7 = NULL; + } else { + __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 87, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_7)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 87, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 87, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_7(__pyx_t_1); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 87, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":88 + * b = bytearray() + * for i in range(0, min(size, len(self.__buf))): + * b.extend(self.__buf[i]) # <<<<<<<<<<<<<< + * return bytes(b)[:size] + * + */ + __Pyx_TraceLine(88,0,__PYX_ERR(0, 88, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyByteArray_Type_extend, __pyx_v_b, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":87 + * def peek(self, size: int): + * b = bytearray() + * for i in range(0, min(size, len(self.__buf))): # <<<<<<<<<<<<<< + * b.extend(self.__buf[i]) + * return bytes(b)[:size] + */ + __Pyx_TraceLine(87,0,__PYX_ERR(0, 87, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":89 + * for i in range(0, min(size, len(self.__buf))): + * b.extend(self.__buf[i]) + * return bytes(b)[:size] # <<<<<<<<<<<<<< + * + * def flush(self): + */ + __Pyx_TraceLine(89,0,__PYX_ERR(0, 89, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_v_b); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_size); + __pyx_t_3 = __pyx_v_size; + __pyx_t_6 = (__pyx_t_3 == Py_None); + if (__pyx_t_6) { + __pyx_t_2 = PY_SSIZE_T_MAX; + } else { + __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L1_error) + __pyx_t_2 = __pyx_t_8; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PySequence_GetSlice(__pyx_t_1, 0, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 89, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 + * return ret + * + * def peek(self, size: int): # <<<<<<<<<<<<<< + * b = bytearray() + * for i in range(0, min(size, len(self.__buf))): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_b); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":91 + * return bytes(b)[:size] + * + * def flush(self): # <<<<<<<<<<<<<< + * pass + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush = {"flush", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("flush (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_10flush(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_10flush(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__7) + __Pyx_RefNannySetupContext("flush", 0); + __Pyx_TraceCall("flush", __pyx_f[0], 91, 0, __PYX_ERR(0, 91, __pyx_L1_error)); + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.flush", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":94 + * pass + * + * def close(self): # <<<<<<<<<<<<<< + * pass + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close = {"close", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("close (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_12close(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_12close(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__8) + __Pyx_RefNannySetupContext("close", 0); + __Pyx_TraceCall("close", __pyx_f[0], 94, 0, __PYX_ERR(0, 94, __pyx_L1_error)); + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.close", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 + * pass + * + * def tell(self): # <<<<<<<<<<<<<< + * return self.__pos + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell = {"tell", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("tell (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_14tell(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_14tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__9) + __Pyx_RefNannySetupContext("tell", 0); + __Pyx_TraceCall("tell", __pyx_f[0], 97, 0, __PYX_ERR(0, 97, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":98 + * + * def tell(self): + * return self.__pos # <<<<<<<<<<<<<< + * + * def __bool__(self): + */ + __Pyx_TraceLine(98,0,__PYX_ERR(0, 98, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 + * pass + * + * def tell(self): # <<<<<<<<<<<<<< + * return self.__pos + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.tell", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 + * return self.__pos + * + * def __bool__(self): # <<<<<<<<<<<<<< + * return True + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__ = {"__bool__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_16__bool__(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_16__bool__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__10) + __Pyx_RefNannySetupContext("__bool__", 0); + __Pyx_TraceCall("__bool__", __pyx_f[0], 100, 0, __PYX_ERR(0, 100, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":101 + * + * def __bool__(self): + * return True # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(101,0,__PYX_ERR(0, 101, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_True); + __pyx_r = Py_True; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 + * return self.__pos + * + * def __bool__(self): # <<<<<<<<<<<<<< + * return True + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.__bool__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 + * """ + * + * def __init__(self, fileobj): # <<<<<<<<<<<<<< + * self.__input = fileobj + * self.__buffer = BytesBuffer() + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_fileobj = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_fileobj,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 108, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 108, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_self = values[0]; + __pyx_v_fileobj = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 108, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream___init__(__pyx_self, __pyx_v_self, __pyx_v_fileobj); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_fileobj) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__11) + __Pyx_RefNannySetupContext("__init__", 0); + __Pyx_TraceCall("__init__", __pyx_f[0], 108, 0, __PYX_ERR(0, 108, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":109 + * + * def __init__(self, fileobj): + * self.__input = fileobj # <<<<<<<<<<<<<< + * self.__buffer = BytesBuffer() + * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) + */ + __Pyx_TraceLine(109,0,__PYX_ERR(0, 109, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input, __pyx_v_fileobj) < 0) __PYX_ERR(0, 109, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":110 + * def __init__(self, fileobj): + * self.__input = fileobj + * self.__buffer = BytesBuffer() # <<<<<<<<<<<<<< + * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) + * self.__size = 0 + */ + __Pyx_TraceLine(110,0,__PYX_ERR(0, 110, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesBuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer, __pyx_t_1) < 0) __PYX_ERR(0, 110, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":111 + * self.__input = fileobj + * self.__buffer = BytesBuffer() + * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) # <<<<<<<<<<<<<< + * self.__size = 0 + * + */ + __Pyx_TraceLine(111,0,__PYX_ERR(0, 111, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 111, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_t_3) < 0) __PYX_ERR(0, 111, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__12, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip, __pyx_t_3) < 0) __PYX_ERR(0, 111, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":112 + * self.__buffer = BytesBuffer() + * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) + * self.__size = 0 # <<<<<<<<<<<<<< + * + * def _fill_buf_bytes(self, num_bytes=None): + */ + __Pyx_TraceLine(112,0,__PYX_ERR(0, 112, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size, __pyx_int_0) < 0) __PYX_ERR(0, 112, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 + * """ + * + * def __init__(self, fileobj): # <<<<<<<<<<<<<< + * self.__input = fileobj + * self.__buffer = BytesBuffer() + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 + * self.__size = 0 + * + * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes = {"_fill_buf_bytes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_num_bytes = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_fill_buf_bytes (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_num_bytes,0}; + PyObject* values[2] = {0,0}; + values[1] = ((PyObject *)((PyObject *)Py_None)); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_bytes); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_fill_buf_bytes") < 0)) __PYX_ERR(0, 114, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_self = values[0]; + __pyx_v_num_bytes = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("_fill_buf_bytes", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 114, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream._fill_buf_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_2_fill_buf_bytes(__pyx_self, __pyx_v_self, __pyx_v_num_bytes); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_2_fill_buf_bytes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes) { + PyObject *__pyx_v_s = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + Py_UCS4 __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__13) + __Pyx_RefNannySetupContext("_fill_buf_bytes", 0); + __Pyx_TraceCall("_fill_buf_bytes", __pyx_f[0], 114, 0, __PYX_ERR(0, 114, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":115 + * + * def _fill_buf_bytes(self, num_bytes=None): + * while num_bytes is None or len(self.__buffer) < num_bytes: # <<<<<<<<<<<<<< + * s = self.__input.read(num_bytes) + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + */ + __Pyx_TraceLine(115,0,__PYX_ERR(0, 115, __pyx_L1_error)) + while (1) { + __pyx_t_2 = (__pyx_v_num_bytes == Py_None); + __pyx_t_3 = (__pyx_t_2 != 0); + if (!__pyx_t_3) { + } else { + __pyx_t_1 = __pyx_t_3; + goto __pyx_L5_bool_binop_done; + } + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_v_num_bytes, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 115, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = __pyx_t_3; + __pyx_L5_bool_binop_done:; + if (!__pyx_t_1) break; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":116 + * def _fill_buf_bytes(self, num_bytes=None): + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) # <<<<<<<<<<<<<< + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + * if not s: + */ + __Pyx_TraceLine(116,0,__PYX_ERR(0, 116, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_read); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 116, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_num_bytes); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 116, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_6); + __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":117 + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") # <<<<<<<<<<<<<< + * if not s: + * self.__gzip.close() + */ + __Pyx_TraceLine(117,0,__PYX_ERR(0, 117, __pyx_L1_error)) + __pyx_t_6 = PyTuple_New(6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = 0; + __pyx_t_8 = 127; + __Pyx_INCREF(__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); + __pyx_t_5 += 43; + __Pyx_GIVEREF(__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); + __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_v_num_bytes, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_8; + __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7); + __pyx_t_7 = 0; + __Pyx_INCREF(__pyx_kp_u_read_in_length); + __pyx_t_5 += 19; + __Pyx_GIVEREF(__pyx_kp_u_read_in_length); + PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u_read_in_length); + __pyx_t_9 = PyObject_Length(__pyx_v_s); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_9, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_7); + __pyx_t_7 = 0; + __Pyx_INCREF(__pyx_kp_u_length_of_buffer); + __pyx_t_5 += 21; + __Pyx_GIVEREF(__pyx_kp_u_length_of_buffer); + PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_kp_u_length_of_buffer); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_9, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_6, 5, __pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 6, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":118 + * s = self.__input.read(num_bytes) + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + * if not s: # <<<<<<<<<<<<<< + * self.__gzip.close() + * break + */ + __Pyx_TraceLine(118,0,__PYX_ERR(0, 118, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_s); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_t_3 = ((!__pyx_t_1) != 0); + if (__pyx_t_3) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":119 + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + * if not s: + * self.__gzip.close() # <<<<<<<<<<<<<< + * break + * self.__gzip.write(s) # gzip the current file + */ + __Pyx_TraceLine(119,0,__PYX_ERR(0, 119, __pyx_L1_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 119, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 119, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_6 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":120 + * if not s: + * self.__gzip.close() + * break # <<<<<<<<<<<<<< + * self.__gzip.write(s) # gzip the current file + * + */ + __Pyx_TraceLine(120,0,__PYX_ERR(0, 120, __pyx_L1_error)) + goto __pyx_L4_break; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":118 + * s = self.__input.read(num_bytes) + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + * if not s: # <<<<<<<<<<<<<< + * self.__gzip.close() + * break + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":121 + * self.__gzip.close() + * break + * self.__gzip.write(s) # gzip the current file # <<<<<<<<<<<<<< + * + * def read(self, num_bytes=None): + */ + __Pyx_TraceLine(121,0,__PYX_ERR(0, 121, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_write); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_v_s) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_s); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 121, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __pyx_L4_break:; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 + * self.__size = 0 + * + * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream._fill_buf_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_s); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 + * self.__gzip.write(s) # gzip the current file + * + * def read(self, num_bytes=None): # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read = {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_num_bytes = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("read (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_num_bytes,0}; + PyObject* values[2] = {0,0}; + values[1] = ((PyObject *)((PyObject *)Py_None)); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_bytes); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 123, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_self = values[0]; + __pyx_v_num_bytes = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("read", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 123, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_4read(__pyx_self, __pyx_v_self, __pyx_v_num_bytes); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_4read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes) { + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + Py_UCS4 __pyx_t_5; + Py_ssize_t __pyx_t_6; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__14) + __Pyx_RefNannySetupContext("read", 0); + __Pyx_TraceCall("read", __pyx_f[0], 123, 0, __PYX_ERR(0, 123, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":124 + * + * def read(self, num_bytes=None): + * self._fill_buf_bytes(num_bytes) # <<<<<<<<<<<<<< + * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + * data = self.__buffer.read(num_bytes) + */ + __Pyx_TraceLine(124,0,__PYX_ERR(0, 124, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fill_buf_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_num_bytes); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":126 + * self._fill_buf_bytes(num_bytes) + * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + * data = self.__buffer.read(num_bytes) # <<<<<<<<<<<<<< + * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") + * self.__size += len(data) + */ + __Pyx_TraceLine(126,0,__PYX_ERR(0, 126, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_num_bytes); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_data = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":128 + * data = self.__buffer.read(num_bytes) + * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") + * self.__size += len(data) # <<<<<<<<<<<<<< + * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") + * return data + */ + __Pyx_TraceLine(128,0,__PYX_ERR(0, 128, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 128, __pyx_L1_error) + __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size, __pyx_t_2) < 0) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":129 + * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") + * self.__size += len(data) + * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") # <<<<<<<<<<<<<< + * return data + * + */ + __Pyx_TraceLine(129,0,__PYX_ERR(0, 129, __pyx_L1_error)) + __pyx_t_2 = PyTuple_New(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = 0; + __pyx_t_5 = 127; + __Pyx_INCREF(__pyx_kp_u_Size_changed_to); + __pyx_t_4 += 16; + __Pyx_GIVEREF(__pyx_kp_u_Size_changed_to); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Size_changed_to); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5; + __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); + __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_kp_u_num_bytes_was); + __pyx_t_4 += 16; + __Pyx_GIVEREF(__pyx_kp_u_num_bytes_was); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_num_bytes_was); + __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_num_bytes, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5; + __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); + __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_kp_u_read_out); + __pyx_t_4 += 11; + __Pyx_GIVEREF(__pyx_kp_u_read_out); + PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_kp_u_read_out); + __pyx_t_6 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 129, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_6, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_2, 6, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":130 + * self.__size += len(data) + * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") + * return data # <<<<<<<<<<<<<< + * + * def close(self): + */ + __Pyx_TraceLine(130,0,__PYX_ERR(0, 130, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_data); + __pyx_r = __pyx_v_data; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 + * self.__gzip.write(s) # gzip the current file + * + * def read(self, num_bytes=None): # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 + * return data + * + * def close(self): # <<<<<<<<<<<<<< + * self.__input.close() + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close = {"close", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("close (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_6close(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_6close(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__15) + __Pyx_RefNannySetupContext("close", 0); + __Pyx_TraceCall("close", __pyx_f[0], 132, 0, __PYX_ERR(0, 132, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":133 + * + * def close(self): + * self.__input.close() # <<<<<<<<<<<<<< + * + * def peek(self, num_bytes): + */ + __Pyx_TraceLine(133,0,__PYX_ERR(0, 133, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 + * return data + * + * def close(self): # <<<<<<<<<<<<<< + * self.__input.close() + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.close", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 + * self.__input.close() + * + * def peek(self, num_bytes): # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * return self.__buffer.peek(num_bytes) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek = {"peek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_self = 0; + PyObject *__pyx_v_num_bytes = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("peek (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_num_bytes,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_bytes)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, 1); __PYX_ERR(0, 135, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "peek") < 0)) __PYX_ERR(0, 135, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_self = values[0]; + __pyx_v_num_bytes = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 135, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_8peek(__pyx_self, __pyx_v_self, __pyx_v_num_bytes); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_8peek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__16) + __Pyx_RefNannySetupContext("peek", 0); + __Pyx_TraceCall("peek", __pyx_f[0], 135, 0, __PYX_ERR(0, 135, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":136 + * + * def peek(self, num_bytes): + * self._fill_buf_bytes(num_bytes) # <<<<<<<<<<<<<< + * return self.__buffer.peek(num_bytes) + * + */ + __Pyx_TraceLine(136,0,__PYX_ERR(0, 136, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fill_buf_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_num_bytes); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":137 + * def peek(self, num_bytes): + * self._fill_buf_bytes(num_bytes) + * return self.__buffer.peek(num_bytes) # <<<<<<<<<<<<<< + * + * def tell(self): + */ + __Pyx_TraceLine(137,0,__PYX_ERR(0, 137, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_peek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_num_bytes); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 + * self.__input.close() + * + * def peek(self, num_bytes): # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * return self.__buffer.peek(num_bytes) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + * return self.__buffer.peek(num_bytes) + * + * def tell(self): # <<<<<<<<<<<<<< + * print("In GzipStream, tell() is called") + * return self.__size + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell = {"tell", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("tell (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_10tell(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_10tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__17) + __Pyx_RefNannySetupContext("tell", 0); + __Pyx_TraceCall("tell", __pyx_f[0], 139, 0, __PYX_ERR(0, 139, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":140 + * + * def tell(self): + * print("In GzipStream, tell() is called") # <<<<<<<<<<<<<< + * return self.__size + * + */ + __Pyx_TraceLine(140,0,__PYX_ERR(0, 140, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":141 + * def tell(self): + * print("In GzipStream, tell() is called") + * return self.__size # <<<<<<<<<<<<<< + * + * def seekable(self): + */ + __Pyx_TraceLine(141,0,__PYX_ERR(0, 141, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 141, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + * return self.__buffer.peek(num_bytes) + * + * def tell(self): # <<<<<<<<<<<<<< + * print("In GzipStream, tell() is called") + * return self.__size + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.tell", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 + * return self.__size + * + * def seekable(self): # <<<<<<<<<<<<<< + * return False + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable = {"seekable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable(PyObject *__pyx_self, PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("seekable (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_12seekable(__pyx_self, ((PyObject *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_12seekable(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__19) + __Pyx_RefNannySetupContext("seekable", 0); + __Pyx_TraceCall("seekable", __pyx_f[0], 143, 0, __PYX_ERR(0, 143, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":144 + * + * def seekable(self): + * return False # <<<<<<<<<<<<<< + * + * def error_fn(*args, **kwargs): + */ + __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 + * return self.__size + * + * def seekable(self): # <<<<<<<<<<<<<< + * return False + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.seekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 + * return False + * + * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< + * raise Exception("Error") + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn = {"error_fn", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + CYTHON_UNUSED PyObject *__pyx_v_args = 0; + CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("error_fn (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "error_fn", 1))) return NULL; + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_error_fn(__pyx_self, __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_error_fn(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__20) + __Pyx_RefNannySetupContext("error_fn", 0); + __Pyx_TraceCall("error_fn", __pyx_f[0], 146, 0, __PYX_ERR(0, 146, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":147 + * + * def error_fn(*args, **kwargs): + * raise Exception("Error") # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(147,0,__PYX_ERR(0, 147, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 147, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 + * return False + * + * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< + * raise Exception("Error") + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.error_fn", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 + * + * + * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< + * + * if seek: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element = {"read_element", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_gzf = 0; + PyObject *__pyx_v_element = 0; + PyObject *__pyx_v_seek = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("read_element (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gzf,&__pyx_n_s_element,&__pyx_n_s_seek,0}; + PyObject* values[3] = {0,0,0}; + values[2] = ((PyObject *)Py_True); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gzf)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_element)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("read_element", 0, 2, 3, 1); __PYX_ERR(0, 150, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seek); + if (value) { values[2] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_element") < 0)) __PYX_ERR(0, 150, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_gzf = values[0]; + __pyx_v_element = values[1]; + __pyx_v_seek = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("read_element", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 150, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_element(__pyx_self, __pyx_v_gzf, __pyx_v_element, __pyx_v_seek); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_element(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gzf, PyObject *__pyx_v_element, PyObject *__pyx_v_seek) { + PyObject *__pyx_v_bytes = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__22) + __Pyx_RefNannySetupContext("read_element", 0); + __Pyx_TraceCall("read_element", __pyx_f[0], 150, 0, __PYX_ERR(0, 150, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":152 + * def read_element(gzf, element, seek=True): + * + * if seek: # <<<<<<<<<<<<<< + * gzf.seek(int(element) * 8) + * + */ + __Pyx_TraceLine(152,0,__PYX_ERR(0, 152, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_seek); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 152, __pyx_L1_error) + if (__pyx_t_1) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 + * + * if seek: + * gzf.seek(int(element) * 8) # <<<<<<<<<<<<<< + * + * bytes = gzf.read(8) + */ + __Pyx_TraceLine(153,0,__PYX_ERR(0, 153, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_element); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyNumber_Multiply(__pyx_t_4, __pyx_int_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":152 + * def read_element(gzf, element, seek=True): + * + * if seek: # <<<<<<<<<<<<<< + * gzf.seek(int(element) * 8) + * + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":155 + * gzf.seek(int(element) * 8) + * + * bytes = gzf.read(8) # <<<<<<<<<<<<<< + * val = np.ndarray(1, np.uint64, buffer=bytes) + * + */ + __Pyx_TraceLine(155,0,__PYX_ERR(0, 155, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_bytes = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":156 + * + * bytes = gzf.read(8) + * val = np.ndarray(1, np.uint64, buffer=bytes) # <<<<<<<<<<<<<< + * + * return val[0] + */ + __Pyx_TraceLine(156,0,__PYX_ERR(0, 156, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_v_bytes) < 0) __PYX_ERR(0, 156, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_val = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":158 + * val = np.ndarray(1, np.uint64, buffer=bytes) + * + * return val[0] # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(158,0,__PYX_ERR(0, 158, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_r = __pyx_t_4; + __pyx_t_4 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 + * + * + * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< + * + * if seek: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_bytes); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":161 + * + * + * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< + * with gzip.open(fname, mode='wb') as f: + * for line in lines: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file = {"write_text_to_gzip_file", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_fname = 0; + PyObject *__pyx_v_lines = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("write_text_to_gzip_file (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_lines,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lines)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("write_text_to_gzip_file", 1, 2, 2, 1); __PYX_ERR(0, 161, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_text_to_gzip_file") < 0)) __PYX_ERR(0, 161, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_fname = values[0]; + __pyx_v_lines = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("write_text_to_gzip_file", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 161, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.write_text_to_gzip_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text_to_gzip_file(__pyx_self, __pyx_v_fname, __pyx_v_lines); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text_to_gzip_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_lines) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_line = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + Py_ssize_t __pyx_t_9; + PyObject *(*__pyx_t_10)(PyObject *); + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + int __pyx_t_16; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__23) + __Pyx_RefNannySetupContext("write_text_to_gzip_file", 0); + __Pyx_TraceCall("write_text_to_gzip_file", __pyx_f[0], 161, 0, __PYX_ERR(0, 161, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":162 + * + * def write_text_to_gzip_file(fname, lines): + * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< + * for line in lines: + * f.write('{}\n'.format(line).encode()) + */ + __Pyx_TraceLine(162,0,__PYX_ERR(0, 162, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":163 + * def write_text_to_gzip_file(fname, lines): + * with gzip.open(fname, mode='wb') as f: + * for line in lines: # <<<<<<<<<<<<<< + * f.write('{}\n'.format(line).encode()) + * + */ + __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L7_error)) + if (likely(PyList_CheckExact(__pyx_v_lines)) || PyTuple_CheckExact(__pyx_v_lines)) { + __pyx_t_1 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; + __pyx_t_10 = NULL; + } else { + __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 163, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 163, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_10)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 163, __pyx_L7_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 163, __pyx_L7_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } + } else { + __pyx_t_4 = __pyx_t_10(__pyx_t_1); + if (unlikely(!__pyx_t_4)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 163, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_4); + } + __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":164 + * with gzip.open(fname, mode='wb') as f: + * for line in lines: + * f.write('{}\n'.format(line).encode()) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(164,0,__PYX_ERR(0, 164, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__24, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_v_line) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_line); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_encode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { + __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12); + if (likely(__pyx_t_11)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); + __Pyx_INCREF(__pyx_t_11); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_12, function); + } + } + __pyx_t_2 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_12, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":163 + * def write_text_to_gzip_file(fname, lines): + * with gzip.open(fname, mode='wb') as f: + * for line in lines: # <<<<<<<<<<<<<< + * f.write('{}\n'.format(line).encode()) + * + */ + __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":162 + * + * def write_text_to_gzip_file(fname, lines): + * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< + * for line in lines: + * f.write('{}\n'.format(line).encode()) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.write_text_to_gzip_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) __PYX_ERR(0, 162, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 162, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 162, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 162, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_5) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L18; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L1_error; + __pyx_L18:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":161 + * + * + * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< + * with gzip.open(fname, mode='wb') as f: + * for line in lines: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.write_text_to_gzip_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_line); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":167 + * + * + * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< + * + * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close = {"test_open_close", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_open_close (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_seed,&__pyx_n_s_drop,0}; + PyObject* values[4] = {0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 1); __PYX_ERR(0, 167, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 2); __PYX_ERR(0, 167, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 3); __PYX_ERR(0, 167, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_close") < 0)) __PYX_ERR(0, 167, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + __pyx_v_seed = values[2]; + __pyx_v_drop = values[3]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 167, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_close(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_seed, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_close(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_element = NULL; + PyObject *__pyx_v_readval = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__26) + __Pyx_RefNannySetupContext("test_open_close", 0); + __Pyx_TraceCall("test_open_close", __pyx_f[0], 167, 0, __PYX_ERR(0, 167, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":169 + * def test_open_close(testfile, nelems, seed, drop): + * + * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) # <<<<<<<<<<<<<< + * + * assert not f.closed + */ + __Pyx_TraceLine(169,0,__PYX_ERR(0, 169, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 169, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 169, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":171 + * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) + * + * assert not f.closed # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + __Pyx_TraceLine(171,0,__PYX_ERR(0, 171, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!((!__pyx_t_4) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 171, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":173 + * assert not f.closed + * + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval = read_element(f, element) + * + */ + __Pyx_TraceLine(173,0,__PYX_ERR(0, 173, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_nelems); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_int_1); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_element = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 + * + * element = np.random.randint(0, nelems, 1) + * readval = read_element(f, element) # <<<<<<<<<<<<<< + * + * assert readval == element + */ + __Pyx_TraceLine(174,0,__PYX_ERR(0, 174, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 174, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_f, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_f, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 174, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_5, __pyx_v_f); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_5, __pyx_v_element); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_readval = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":176 + * readval = read_element(f, element) + * + * assert readval == element # <<<<<<<<<<<<<< + * + * f.close() + */ + __Pyx_TraceLine(176,0,__PYX_ERR(0, 176, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 176, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 176, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":178 + * assert readval == element + * + * f.close() # <<<<<<<<<<<<<< + * + * assert f.closed + */ + __Pyx_TraceLine(178,0,__PYX_ERR(0, 178, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":180 + * f.close() + * + * assert f.closed # <<<<<<<<<<<<<< + * + * with pytest.raises(IOError): + */ + __Pyx_TraceLine(180,0,__PYX_ERR(0, 180, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 180, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 180, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":182 + * assert f.closed + * + * with pytest.raises(IOError): # <<<<<<<<<<<<<< + * f.close() + * + */ + __Pyx_TraceLine(182,0,__PYX_ERR(0, 182, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_builtin_IOError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_IOError); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 182, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":183 + * + * with pytest.raises(IOError): + * f.close() # <<<<<<<<<<<<<< + * + * def test_open_function(testfile, nelems): + */ + __Pyx_TraceLine(183,0,__PYX_ERR(0, 183, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 183, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":182 + * assert f.closed + * + * with pytest.raises(IOError): # <<<<<<<<<<<<<< + * f.close() + * + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 182, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 182, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 182, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_4 < 0) __PYX_ERR(0, 182, __pyx_L9_except_error) + __pyx_t_12 = ((!(__pyx_t_4 != 0)) != 0); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 182, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_7) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 182, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":167 + * + * + * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< + * + * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_element); + __Pyx_XDECREF(__pyx_v_readval); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 + * f.close() + * + * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< + * + * f1 = None + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function = {"test_open_function", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_open_function (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_open_function", 1, 2, 2, 1); __PYX_ERR(0, 185, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_function") < 0)) __PYX_ERR(0, 185, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_open_function", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 185, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_function", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_function(__pyx_self, __pyx_v_testfile, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_function(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems) { + PyObject *__pyx_v_f1 = NULL; + PyObject *__pyx_v_f2 = NULL; + PyObject *__pyx_v_element = NULL; + PyObject *__pyx_v_readval1 = NULL; + PyObject *__pyx_v_readval2 = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + int __pyx_t_7; + int __pyx_t_8; + char const *__pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__27) + __Pyx_RefNannySetupContext("test_open_function", 0); + __Pyx_TraceCall("test_open_function", __pyx_f[0], 185, 0, __PYX_ERR(0, 185, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":187 + * def test_open_function(testfile, nelems): + * + * f1 = None # <<<<<<<<<<<<<< + * f2 = None + * + */ + __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f1 = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":188 + * + * f1 = None + * f2 = None # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(188,0,__PYX_ERR(0, 188, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f2 = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":190 + * f2 = None + * + * try: # <<<<<<<<<<<<<< + * + * f1 = igzip.IndexedGzipFile(testfile) + */ + __Pyx_TraceLine(190,0,__PYX_ERR(0, 190, __pyx_L1_error)) + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 + * try: + * + * f1 = igzip.IndexedGzipFile(testfile) # <<<<<<<<<<<<<< + * f2 = igzip.open( testfile) + * + */ + __Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 192, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_testfile); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_f1, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":193 + * + * f1 = igzip.IndexedGzipFile(testfile) + * f2 = igzip.open( testfile) # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + __Pyx_TraceLine(193,0,__PYX_ERR(0, 193, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 193, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_testfile); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_f2, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":195 + * f2 = igzip.open( testfile) + * + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval1 = read_element(f1, element) + * readval2 = read_element(f2, element) + */ + __Pyx_TraceLine(195,0,__PYX_ERR(0, 195, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_4 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_4 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_nelems); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_int_1); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_element = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":196 + * + * element = np.random.randint(0, nelems, 1) + * readval1 = read_element(f1, element) # <<<<<<<<<<<<<< + * readval2 = read_element(f2, element) + * + */ + __Pyx_TraceLine(196,0,__PYX_ERR(0, 196, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 196, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_4 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_4 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f1, __pyx_v_element}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f1, __pyx_v_element}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_f1); + __Pyx_GIVEREF(__pyx_v_f1); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_v_f1); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_element); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_readval1 = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":197 + * element = np.random.randint(0, nelems, 1) + * readval1 = read_element(f1, element) + * readval2 = read_element(f2, element) # <<<<<<<<<<<<<< + * + * assert readval1 == element + */ + __Pyx_TraceLine(197,0,__PYX_ERR(0, 197, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + __pyx_t_4 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_4 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f2, __pyx_v_element}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f2, __pyx_v_element}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 197, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_f2); + __Pyx_GIVEREF(__pyx_v_f2); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_f2); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_element); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_readval2 = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":199 + * readval2 = read_element(f2, element) + * + * assert readval1 == element # <<<<<<<<<<<<<< + * assert readval2 == element + * + */ + __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L4_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval1, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L4_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 199, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 199, __pyx_L4_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":200 + * + * assert readval1 == element + * assert readval2 == element # <<<<<<<<<<<<<< + * + * finally: + */ + __Pyx_TraceLine(200,0,__PYX_ERR(0, 200, __pyx_L4_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval2, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L4_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 200, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 200, __pyx_L4_error) + } + } + #endif + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":203 + * + * finally: + * if f1 is not None: f1.close() # <<<<<<<<<<<<<< + * if f2 is not None: f2.close() + * + */ + __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L4_error)) + /*finally:*/ { + /*normal exit:*/{ + __pyx_t_6 = (__pyx_v_f1 != Py_None); + __pyx_t_7 = (__pyx_t_6 != 0); + if (__pyx_t_7) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":204 + * finally: + * if f1 is not None: f1.close() + * if f2 is not None: f2.close() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(204,0,__PYX_ERR(0, 204, __pyx_L1_error)) + __pyx_t_7 = (__pyx_v_f2 != Py_None); + __pyx_t_6 = (__pyx_t_7 != 0); + if (__pyx_t_6) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __pyx_t_4 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; + { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":203 + * + * finally: + * if f1 is not None: f1.close() # <<<<<<<<<<<<<< + * if f2 is not None: f2.close() + * + */ + __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L9_error)) + __pyx_t_6 = (__pyx_v_f1 != Py_None); + __pyx_t_7 = (__pyx_t_6 != 0); + if (__pyx_t_7) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":204 + * finally: + * if f1 is not None: f1.close() + * if f2 is not None: f2.close() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(204,0,__PYX_ERR(0, 204, __pyx_L9_error)) + __pyx_t_7 = (__pyx_v_f2 != Py_None); + __pyx_t_6 = (__pyx_t_7 != 0); + if (__pyx_t_6) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + } + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; + goto __pyx_L1_error; + __pyx_L9_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + goto __pyx_L1_error; + } + __pyx_L5:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 + * f.close() + * + * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< + * + * f1 = None + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_function", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f1); + __Pyx_XDECREF(__pyx_v_f2); + __Pyx_XDECREF(__pyx_v_element); + __Pyx_XDECREF(__pyx_v_readval1); + __Pyx_XDECREF(__pyx_v_readval2); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 + * + * + * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager = {"test_open_close_ctxmanager", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_open_close_ctxmanager (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_seed,&__pyx_n_s_drop,0}; + PyObject* values[4] = {0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 1); __PYX_ERR(0, 207, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 2); __PYX_ERR(0, 207, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 3); __PYX_ERR(0, 207, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_close_ctxmanager") < 0)) __PYX_ERR(0, 207, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + __pyx_v_seed = values[2]; + __pyx_v_drop = values[3]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 207, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close_ctxmanager", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open_close_ctxmanager(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_seed, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open_close_ctxmanager(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_element = NULL; + PyObject *__pyx_v_readval = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + int __pyx_t_12; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__28) + __Pyx_RefNannySetupContext("test_open_close_ctxmanager", 0); + __Pyx_TraceCall("test_open_close_ctxmanager", __pyx_f[0], 207, 0, __PYX_ERR(0, 207, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":209 + * def test_open_close_ctxmanager(testfile, nelems, seed, drop): + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + __Pyx_TraceLine(209,0,__PYX_ERR(0, 209, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 209, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 209, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 209, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":211 + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + * + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval = read_element(f, element) + * + */ + __Pyx_TraceLine(211,0,__PYX_ERR(0, 211, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_nelems); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_int_1); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_element = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":212 + * + * element = np.random.randint(0, nelems, 1) + * readval = read_element(f, element) # <<<<<<<<<<<<<< + * + * assert readval == element + */ + __Pyx_TraceLine(212,0,__PYX_ERR(0, 212, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_f); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_element); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_readval = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":209 + * def test_open_close_ctxmanager(testfile, nelems, seed, drop): + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close_ctxmanager", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 209, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 209, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_11 < 0) __PYX_ERR(0, 209, __pyx_L9_except_error) + __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 209, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 + * readval = read_element(f, element) + * + * assert readval == element # <<<<<<<<<<<<<< + * assert f.closed + * + */ + __Pyx_TraceLine(214,0,__PYX_ERR(0, 214, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!__pyx_v_readval)) { __Pyx_RaiseUnboundLocalError("readval"); __PYX_ERR(0, 214, __pyx_L1_error) } + if (unlikely(!__pyx_v_element)) { __Pyx_RaiseUnboundLocalError("element"); __PYX_ERR(0, 214, __pyx_L1_error) } + __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 214, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 214, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":215 + * + * assert readval == element + * assert f.closed # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(215,0,__PYX_ERR(0, 215, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 215, __pyx_L1_error) } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 215, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 215, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 + * + * + * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close_ctxmanager", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_element); + __Pyx_XDECREF(__pyx_v_readval); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 + * + * + * def test_open_mode(): # <<<<<<<<<<<<<< + * + * modes = [('r', True), + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode = {"test_open_mode", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_open_mode (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open_mode(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open_mode(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_modes = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_mode = NULL; + PyObject *__pyx_v_expect = NULL; + PyObject *__pyx_v_gzf = NULL; + PyObject *__pyx_v_BytesIOWithMode = NULL; + PyObject *__pyx_v_fileobj = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + int __pyx_t_15; + Py_ssize_t __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + PyObject *(*__pyx_t_18)(PyObject *); + int __pyx_t_19; + int __pyx_t_20; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__29) + __Pyx_RefNannySetupContext("test_open_mode", 0); + __Pyx_TraceCall("test_open_mode", __pyx_f[0], 218, 0, __PYX_ERR(0, 218, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":220 + * def test_open_mode(): + * + * modes = [('r', True), # <<<<<<<<<<<<<< + * ('rb', True), + * (None, True), + */ + __Pyx_TraceLine(220,0,__PYX_ERR(0, 220, __pyx_L1_error)) + __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_tuple__30); + __Pyx_GIVEREF(__pyx_tuple__30); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_tuple__30); + __Pyx_INCREF(__pyx_tuple__31); + __Pyx_GIVEREF(__pyx_tuple__31); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_tuple__31); + __Pyx_INCREF(__pyx_tuple__32); + __Pyx_GIVEREF(__pyx_tuple__32); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_tuple__32); + __Pyx_INCREF(__pyx_tuple__33); + __Pyx_GIVEREF(__pyx_tuple__33); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_tuple__33); + __Pyx_INCREF(__pyx_tuple__34); + __Pyx_GIVEREF(__pyx_tuple__34); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_tuple__34); + __Pyx_INCREF(__pyx_tuple__35); + __Pyx_GIVEREF(__pyx_tuple__35); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_tuple__35); + __pyx_v_modes = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":228 + * + * # open from file + * with tempdir(): # <<<<<<<<<<<<<< + * with gzip.open('f.gz', 'wb') as f: + * f.write(b'12345') + */ + __Pyx_TraceLine(228,0,__PYX_ERR(0, 228, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":229 + * # open from file + * with tempdir(): + * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(b'12345') + * for mode, expect in modes: + */ + __Pyx_TraceLine(229,0,__PYX_ERR(0, 229, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 229, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":230 + * with tempdir(): + * with gzip.open('f.gz', 'wb') as f: + * f.write(b'12345') # <<<<<<<<<<<<<< + * for mode, expect in modes: + * if expect: + */ + __Pyx_TraceLine(230,0,__PYX_ERR(0, 230, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_kp_b_12345) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_b_12345); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 230, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":229 + * # open from file + * with tempdir(): + * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(b'12345') + * for mode, expect in modes: + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 229, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 229, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 229, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_14 < 0) __PYX_ERR(0, 229, __pyx_L19_except_error) + __pyx_t_15 = ((!(__pyx_t_14 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 229, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 229, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":231 + * with gzip.open('f.gz', 'wb') as f: + * f.write(b'12345') + * for mode, expect in modes: # <<<<<<<<<<<<<< + * if expect: + * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) + */ + __Pyx_TraceLine(231,0,__PYX_ERR(0, 231, __pyx_L7_error)) + __pyx_t_2 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; + for (;;) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 231, __pyx_L7_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { + PyObject* sequence = __pyx_t_1; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 231, __pyx_L7_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_3 = PyList_GET_ITEM(sequence, 0); + __pyx_t_5 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + #else + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 231, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 231, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_17 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 231, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_18 = Py_TYPE(__pyx_t_17)->tp_iternext; + index = 0; __pyx_t_3 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_3)) goto __pyx_L29_unpacking_failed; + __Pyx_GOTREF(__pyx_t_3); + index = 1; __pyx_t_5 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_5)) goto __pyx_L29_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_17), 2) < 0) __PYX_ERR(0, 231, __pyx_L7_error) + __pyx_t_18 = NULL; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + goto __pyx_L30_unpacking_done; + __pyx_L29_unpacking_failed:; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_18 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 231, __pyx_L7_error) + __pyx_L30_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_mode, __pyx_t_3); + __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_expect, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":232 + * f.write(b'12345') + * for mode, expect in modes: + * if expect: # <<<<<<<<<<<<<< + * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) + * assert gzf.read() == b'12345' + */ + __Pyx_TraceLine(232,0,__PYX_ERR(0, 232, __pyx_L7_error)) + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_expect); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 232, __pyx_L7_error) + if (__pyx_t_15) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":233 + * for mode, expect in modes: + * if expect: + * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< + * assert gzf.read() == b'12345' + * else: + */ + __Pyx_TraceLine(233,0,__PYX_ERR(0, 233, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 233, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 233, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__37, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":234 + * if expect: + * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) + * assert gzf.read() == b'12345' # <<<<<<<<<<<<<< + * else: + * with pytest.raises(ValueError): + */ + __Pyx_TraceLine(234,0,__PYX_ERR(0, 234, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_12345, Py_EQ)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 234, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 234, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":232 + * f.write(b'12345') + * for mode, expect in modes: + * if expect: # <<<<<<<<<<<<<< + * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) + * assert gzf.read() == b'12345' + */ + goto __pyx_L31; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 + * assert gzf.read() == b'12345' + * else: + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * igzip.IndexedGzipFile('f.gz', mode=mode) + * + */ + __Pyx_TraceLine(236,0,__PYX_ERR(0, 236, __pyx_L7_error)) + /*else*/ { + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 236, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L32_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_17 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_17)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_17); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L32_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":237 + * else: + * with pytest.raises(ValueError): + * igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< + * + * # open from fileobj + */ + __Pyx_TraceLine(237,0,__PYX_ERR(0, 237, __pyx_L38_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 237, __pyx_L38_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__37, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 + * assert gzf.read() == b'12345' + * else: + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * igzip.IndexedGzipFile('f.gz', mode=mode) + * + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L45_try_end; + __pyx_L38_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 236, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_17 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 236, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_17, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 236, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 236, __pyx_L40_except_error) + __pyx_t_14 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 236, __pyx_L40_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L39_exception_handled; + } + __pyx_L40_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L7_error; + __pyx_L39_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L45_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 236, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L37; + } + __pyx_L37:; + } + goto __pyx_L49; + __pyx_L32_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L49:; + } + } + __pyx_L31:; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":231 + * with gzip.open('f.gz', 'wb') as f: + * f.write(b'12345') + * for mode, expect in modes: # <<<<<<<<<<<<<< + * if expect: + * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) + */ + __Pyx_TraceLine(231,0,__PYX_ERR(0, 231, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":228 + * + * # open from file + * with tempdir(): # <<<<<<<<<<<<<< + * with gzip.open('f.gz', 'wb') as f: + * f.write(b'12345') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 228, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 228, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_14 < 0) __PYX_ERR(0, 228, __pyx_L9_except_error) + __pyx_t_15 = ((!(__pyx_t_14 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 228, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L53; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L53:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":240 + * + * # open from fileobj + * class BytesIOWithMode(BytesIO): # <<<<<<<<<<<<<< + * pass + * + */ + __Pyx_TraceLine(240,0,__PYX_ERR(0, 240, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_5, __pyx_n_s_BytesIOWithMode, __pyx_n_s_test_open_mode_locals_BytesIOWit, (PyObject *) NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_BytesIOWithMode, __pyx_t_5, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_BytesIOWithMode = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":244 + * + * # accept file-like without mode attribute + * modes.append(('del', True)) # <<<<<<<<<<<<<< + * + * for mode, expect in modes: + */ + __Pyx_TraceLine(244,0,__PYX_ERR(0, 244, __pyx_L1_error)) + __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_modes, __pyx_tuple__38); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 244, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":246 + * modes.append(('del', True)) + * + * for mode, expect in modes: # <<<<<<<<<<<<<< + * + * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): + */ + __Pyx_TraceLine(246,0,__PYX_ERR(0, 246, __pyx_L1_error)) + __pyx_t_5 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_5); __pyx_t_16 = 0; + for (;;) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 246, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 246, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_2 = PyList_GET_ITEM(sequence, 0); + __pyx_t_1 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + #else + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_17 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 246, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_18 = Py_TYPE(__pyx_t_17)->tp_iternext; + index = 0; __pyx_t_2 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_2)) goto __pyx_L56_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + index = 1; __pyx_t_1 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_1)) goto __pyx_L56_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_17), 2) < 0) __PYX_ERR(0, 246, __pyx_L1_error) + __pyx_t_18 = NULL; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + goto __pyx_L57_unpacking_done; + __pyx_L56_unpacking_failed:; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_18 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 246, __pyx_L1_error) + __pyx_L57_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_mode, __pyx_t_2); + __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_expect, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":248 + * for mode, expect in modes: + * + * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): # <<<<<<<<<<<<<< + * delattr(BytesIOWithMode, 'mode') + * else: + */ + __Pyx_TraceLine(248,0,__PYX_ERR(0, 248, __pyx_L1_error)) + __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_v_mode, __pyx_n_s_del, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 248, __pyx_L1_error) + if (__pyx_t_14) { + } else { + __pyx_t_15 = __pyx_t_14; + goto __pyx_L59_bool_binop_done; + } + __pyx_t_14 = __Pyx_HasAttr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 248, __pyx_L1_error) + __pyx_t_20 = (__pyx_t_14 != 0); + __pyx_t_15 = __pyx_t_20; + __pyx_L59_bool_binop_done:; + if (__pyx_t_15) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":249 + * + * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): + * delattr(BytesIOWithMode, 'mode') # <<<<<<<<<<<<<< + * else: + * BytesIOWithMode.mode = mode + */ + __Pyx_TraceLine(249,0,__PYX_ERR(0, 249, __pyx_L1_error)) + __pyx_t_19 = PyObject_DelAttr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 249, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":248 + * for mode, expect in modes: + * + * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): # <<<<<<<<<<<<<< + * delattr(BytesIOWithMode, 'mode') + * else: + */ + goto __pyx_L58; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":251 + * delattr(BytesIOWithMode, 'mode') + * else: + * BytesIOWithMode.mode = mode # <<<<<<<<<<<<<< + * + * fileobj = BytesIOWithMode() + */ + __Pyx_TraceLine(251,0,__PYX_ERR(0, 251, __pyx_L1_error)) + /*else*/ { + if (__Pyx_PyObject_SetAttrStr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 251, __pyx_L1_error) + } + __pyx_L58:; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":253 + * BytesIOWithMode.mode = mode + * + * fileobj = BytesIOWithMode() # <<<<<<<<<<<<<< + * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: + * f.write(b'12345') + */ + __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_v_BytesIOWithMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_XDECREF_SET(__pyx_v_fileobj, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":254 + * + * fileobj = BytesIOWithMode() + * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< + * f.write(b'12345') + * + */ + __Pyx_TraceLine(254,0,__PYX_ERR(0, 254, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 254, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 254, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L61_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_17 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_17)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_17); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L61_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":255 + * fileobj = BytesIOWithMode() + * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: + * f.write(b'12345') # <<<<<<<<<<<<<< + * + * print(mode, expect) + */ + __Pyx_TraceLine(255,0,__PYX_ERR(0, 255, __pyx_L67_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L67_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b_12345) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b_12345); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L67_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":254 + * + * fileobj = BytesIOWithMode() + * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< + * f.write(b'12345') + * + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L74_try_end; + __pyx_L67_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 254, __pyx_L69_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_17 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 254, __pyx_L69_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_17, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 254, __pyx_L69_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 254, __pyx_L69_except_error) + __pyx_t_20 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_20) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 254, __pyx_L69_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L68_exception_handled; + } + __pyx_L69_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + goto __pyx_L1_error; + __pyx_L68_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + __pyx_L74_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + goto __pyx_L66; + } + __pyx_L66:; + } + goto __pyx_L78; + __pyx_L61_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L78:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":257 + * f.write(b'12345') + * + * print(mode, expect) # <<<<<<<<<<<<<< + * + * if expect: + */ + __Pyx_TraceLine(257,0,__PYX_ERR(0, 257, __pyx_L1_error)) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_mode); + __Pyx_GIVEREF(__pyx_v_mode); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mode); + __Pyx_INCREF(__pyx_v_expect); + __Pyx_GIVEREF(__pyx_v_expect); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_expect); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":259 + * print(mode, expect) + * + * if expect: # <<<<<<<<<<<<<< + * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' + * else: + */ + __Pyx_TraceLine(259,0,__PYX_ERR(0, 259, __pyx_L1_error)) + __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_expect); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 259, __pyx_L1_error) + if (__pyx_t_20) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":260 + * + * if expect: + * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' # <<<<<<<<<<<<<< + * else: + * with pytest.raises(ValueError): + */ + __Pyx_TraceLine(260,0,__PYX_ERR(0, 260, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 260, __pyx_L1_error) + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_17)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_17); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_20 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b_12345, Py_EQ)); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_20)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 260, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":259 + * print(mode, expect) + * + * if expect: # <<<<<<<<<<<<<< + * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' + * else: + */ + goto __pyx_L79; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":262 + * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' + * else: + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * igzip.IndexedGzipFile(fileobj=fileobj).read() + * + */ + __Pyx_TraceLine(262,0,__PYX_ERR(0, 262, __pyx_L1_error)) + /*else*/ { + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 262, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 262, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_17 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 262, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":263 + * else: + * with pytest.raises(ValueError): + * igzip.IndexedGzipFile(fileobj=fileobj).read() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(263,0,__PYX_ERR(0, 263, __pyx_L86_error)) + __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_igzip); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 263, __pyx_L86_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L86_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 263, __pyx_L86_error) + __Pyx_GOTREF(__pyx_t_17); + if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 263, __pyx_L86_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L86_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_read); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 263, __pyx_L86_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_17, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L86_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":262 + * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' + * else: + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * igzip.IndexedGzipFile(fileobj=fileobj).read() + * + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L93_try_end; + __pyx_L86_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_17, &__pyx_t_1) < 0) __PYX_ERR(0, 262, __pyx_L88_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_17); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_17, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L88_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 262, __pyx_L88_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_20 < 0) __PYX_ERR(0, 262, __pyx_L88_except_error) + __pyx_t_15 = ((!(__pyx_t_20 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_17, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_17 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 262, __pyx_L88_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L87_exception_handled; + } + __pyx_L88_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L87_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L93_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 262, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L85; + } + __pyx_L85:; + } + goto __pyx_L97; + __pyx_L80_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L97:; + } + } + __pyx_L79:; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":246 + * modes.append(('del', True)) + * + * for mode, expect in modes: # <<<<<<<<<<<<<< + * + * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): + */ + __Pyx_TraceLine(246,0,__PYX_ERR(0, 246, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 + * + * + * def test_open_mode(): # <<<<<<<<<<<<<< + * + * modes = [('r', True), + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_modes); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_mode); + __Pyx_XDECREF(__pyx_v_expect); + __Pyx_XDECREF(__pyx_v_gzf); + __Pyx_XDECREF(__pyx_v_BytesIOWithMode); + __Pyx_XDECREF(__pyx_v_fileobj); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 + * + * + * def test_atts(testfile, drop): # <<<<<<<<<<<<<< + * + * modes = [None, 'rb', 'r'] + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts = {"test_atts", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_atts (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_drop,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_atts", 1, 2, 2, 1); __PYX_ERR(0, 266, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_atts") < 0)) __PYX_ERR(0, 266, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_testfile = values[0]; + __pyx_v_drop = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_atts", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 266, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts(__pyx_self, __pyx_v_testfile, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_modes = NULL; + PyObject *__pyx_v_m = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + Py_ssize_t __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__39) + __Pyx_RefNannySetupContext("test_atts", 0); + __Pyx_TraceCall("test_atts", __pyx_f[0], 266, 0, __PYX_ERR(0, 266, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":268 + * def test_atts(testfile, drop): + * + * modes = [None, 'rb', 'r'] # <<<<<<<<<<<<<< + * + * for m in modes: + */ + __Pyx_TraceLine(268,0,__PYX_ERR(0, 268, __pyx_L1_error)) + __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyList_SET_ITEM(__pyx_t_1, 0, Py_None); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __Pyx_INCREF(__pyx_n_s_r); + __Pyx_GIVEREF(__pyx_n_s_r); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_r); + __pyx_v_modes = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":270 + * modes = [None, 'rb', 'r'] + * + * for m in modes: # <<<<<<<<<<<<<< + * with igzip._IndexedGzipFile(filename=testfile, + * mode=m, + */ + __Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L1_error)) + __pyx_t_1 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; + for (;;) { + if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 270, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 270, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":271 + * + * for m in modes: + * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode=m, + * drop_handles=drop) as f: + */ + __Pyx_TraceLine(271,0,__PYX_ERR(0, 271, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 271, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":272 + * for m in modes: + * with igzip._IndexedGzipFile(filename=testfile, + * mode=m, # <<<<<<<<<<<<<< + * drop_handles=drop) as f: + * assert not f.closed + */ + __Pyx_TraceLine(272,0,__PYX_ERR(0, 272, __pyx_L1_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_v_m) < 0) __PYX_ERR(0, 271, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 + * with igzip._IndexedGzipFile(filename=testfile, + * mode=m, + * drop_handles=drop) as f: # <<<<<<<<<<<<<< + * assert not f.closed + * assert f.readable() + */ + __Pyx_TraceLine(273,0,__PYX_ERR(0, 273, __pyx_L1_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 271, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":271 + * + * for m in modes: + * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode=m, + * drop_handles=drop) as f: + */ + __Pyx_TraceLine(271,0,__PYX_ERR(0, 271, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":274 + * mode=m, + * drop_handles=drop) as f: + * assert not f.closed # <<<<<<<<<<<<<< + * assert f.readable() + * assert f.seekable() + */ + __Pyx_TraceLine(274,0,__PYX_ERR(0, 274, __pyx_L11_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 274, __pyx_L11_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!((!__pyx_t_11) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 274, __pyx_L11_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":275 + * drop_handles=drop) as f: + * assert not f.closed + * assert f.readable() # <<<<<<<<<<<<<< + * assert f.seekable() + * assert not f.writable() + */ + __Pyx_TraceLine(275,0,__PYX_ERR(0, 275, __pyx_L11_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 275, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 275, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 275, __pyx_L11_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 275, __pyx_L11_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":276 + * assert not f.closed + * assert f.readable() + * assert f.seekable() # <<<<<<<<<<<<<< + * assert not f.writable() + * assert f.mode == 'rb' + */ + __Pyx_TraceLine(276,0,__PYX_ERR(0, 276, __pyx_L11_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seekable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 276, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 276, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 276, __pyx_L11_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 276, __pyx_L11_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":277 + * assert f.readable() + * assert f.seekable() + * assert not f.writable() # <<<<<<<<<<<<<< + * assert f.mode == 'rb' + * assert f.tell() == 0 + */ + __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L11_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_writable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 277, __pyx_L11_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!((!__pyx_t_11) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 277, __pyx_L11_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":278 + * assert f.seekable() + * assert not f.writable() + * assert f.mode == 'rb' # <<<<<<<<<<<<<< + * assert f.tell() == 0 + * + */ + __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L11_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_mode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 278, __pyx_L11_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 278, __pyx_L11_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":279 + * assert not f.writable() + * assert f.mode == 'rb' + * assert f.tell() == 0 # <<<<<<<<<<<<<< + * + * if not drop: + */ + __Pyx_TraceLine(279,0,__PYX_ERR(0, 279, __pyx_L11_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 279, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 279, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 279, __pyx_L11_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 279, __pyx_L11_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":281 + * assert f.tell() == 0 + * + * if not drop: # <<<<<<<<<<<<<< + * assert f.fileobj() is not None + * assert f.fileno() == f.fileobj().fileno() + */ + __Pyx_TraceLine(281,0,__PYX_ERR(0, 281, __pyx_L11_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_drop); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 281, __pyx_L11_error) + __pyx_t_12 = ((!__pyx_t_11) != 0); + if (__pyx_t_12) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":282 + * + * if not drop: + * assert f.fileobj() is not None # <<<<<<<<<<<<<< + * assert f.fileno() == f.fileobj().fileno() + * else: + */ + __Pyx_TraceLine(282,0,__PYX_ERR(0, 282, __pyx_L11_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 282, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 282, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_12 = (__pyx_t_5 != Py_None); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!(__pyx_t_12 != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 282, __pyx_L11_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":283 + * if not drop: + * assert f.fileobj() is not None + * assert f.fileno() == f.fileobj().fileno() # <<<<<<<<<<<<<< + * else: + * with pytest.raises(igzip.NoHandleError): + */ + __Pyx_TraceLine(283,0,__PYX_ERR(0, 283, __pyx_L11_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 283, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 283, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 283, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_fileno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 283, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 283, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 283, __pyx_L11_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 283, __pyx_L11_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 283, __pyx_L11_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":281 + * assert f.tell() == 0 + * + * if not drop: # <<<<<<<<<<<<<< + * assert f.fileobj() is not None + * assert f.fileno() == f.fileobj().fileno() + */ + goto __pyx_L19; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":285 + * assert f.fileno() == f.fileobj().fileno() + * else: + * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< + * f.fileobj() + * with pytest.raises(igzip.NoHandleError): + */ + __Pyx_TraceLine(285,0,__PYX_ERR(0, 285, __pyx_L11_error)) + /*else*/ { + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pytest); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_igzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_7 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_7, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_7, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L20_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 285, __pyx_L20_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":286 + * else: + * with pytest.raises(igzip.NoHandleError): + * f.fileobj() # <<<<<<<<<<<<<< + * with pytest.raises(igzip.NoHandleError): + * f.fileno() + */ + __Pyx_TraceLine(286,0,__PYX_ERR(0, 286, __pyx_L26_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 286, __pyx_L26_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 286, __pyx_L26_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":285 + * assert f.fileno() == f.fileobj().fileno() + * else: + * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< + * f.fileobj() + * with pytest.raises(igzip.NoHandleError): + */ + } + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + goto __pyx_L33_try_end; + __pyx_L26_error:; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 285, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_Pack(3, __pyx_t_7, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_4, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 285, __pyx_L28_except_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_18); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + if (__pyx_t_12 < 0) __PYX_ERR(0, 285, __pyx_L28_except_error) + __pyx_t_11 = ((!(__pyx_t_12 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_5, __pyx_t_3); + __pyx_t_7 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 285, __pyx_L28_except_error) + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L27_exception_handled; + } + __pyx_L28_except_error:; + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + goto __pyx_L11_error; + __pyx_L27_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + __pyx_L33_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_14) { + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + } + goto __pyx_L25; + } + __pyx_L25:; + } + goto __pyx_L37; + __pyx_L20_error:; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L11_error; + __pyx_L37:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":287 + * with pytest.raises(igzip.NoHandleError): + * f.fileobj() + * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< + * f.fileno() + * + */ + __Pyx_TraceLine(287,0,__PYX_ERR(0, 287, __pyx_L11_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 287, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 287, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_15); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":288 + * f.fileobj() + * with pytest.raises(igzip.NoHandleError): + * f.fileno() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(288,0,__PYX_ERR(0, 288, __pyx_L44_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 288, __pyx_L44_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 288, __pyx_L44_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":287 + * with pytest.raises(igzip.NoHandleError): + * f.fileobj() + * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< + * f.fileno() + * + */ + } + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L51_try_end; + __pyx_L44_error:; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_7, &__pyx_t_4) < 0) __PYX_ERR(0, 287, __pyx_L46_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 287, __pyx_L46_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 287, __pyx_L46_except_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_18); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + if (__pyx_t_11 < 0) __PYX_ERR(0, 287, __pyx_L46_except_error) + __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_7, __pyx_t_4); + __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 287, __pyx_L46_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L45_exception_handled; + } + __pyx_L46_except_error:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_16, __pyx_t_15); + goto __pyx_L11_error; + __pyx_L45_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_16, __pyx_t_15); + __pyx_L51_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_14) { + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + goto __pyx_L43; + } + __pyx_L43:; + } + goto __pyx_L55; + __pyx_L38_error:; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L11_error; + __pyx_L55:; + } + } + __pyx_L19:; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":271 + * + * for m in modes: + * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode=m, + * drop_handles=drop) as f: + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L18_try_end; + __pyx_L11_error:; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_3) < 0) __PYX_ERR(0, 271, __pyx_L13_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 271, __pyx_L13_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 271, __pyx_L13_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_12 < 0) __PYX_ERR(0, 271, __pyx_L13_except_error) + __pyx_t_11 = ((!(__pyx_t_12 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_7, __pyx_t_3); + __pyx_t_4 = 0; __pyx_t_7 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 271, __pyx_L13_except_error) + } + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L12_exception_handled; + } + __pyx_L13_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L1_error; + __pyx_L12_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L18_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_6) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L10; + } + __pyx_L10:; + } + goto __pyx_L59; + __pyx_L5_error:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L1_error; + __pyx_L59:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":270 + * modes = [None, 'rb', 'r'] + * + * for m in modes: # <<<<<<<<<<<<<< + * with igzip._IndexedGzipFile(filename=testfile, + * mode=m, + */ + __Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 + * + * + * def test_atts(testfile, drop): # <<<<<<<<<<<<<< + * + * modes = [None, 'rb', 'r'] + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_modes); + __Pyx_XDECREF(__pyx_v_m); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":291 + * + * + * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases = {"test_init_failure_cases", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_concat = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_init_failure_cases (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_concat,&__pyx_n_s_drop,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_concat)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_init_failure_cases", 1, 2, 2, 1); __PYX_ERR(0, 291, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_failure_cases") < 0)) __PYX_ERR(0, 291, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_concat = values[0]; + __pyx_v_drop = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_init_failure_cases", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 291, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init_failure_cases(__pyx_self, __pyx_v_concat, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init_failure_cases(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_testfile = NULL; + CYTHON_UNUSED PyObject *__pyx_v_gf = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + int __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__40) + __Pyx_RefNannySetupContext("test_init_failure_cases", 0); + __Pyx_TraceCall("test_init_failure_cases", __pyx_f[0], 291, 0, __PYX_ERR(0, 291, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":293 + * def test_init_failure_cases(concat, drop): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * testfile = op.join(td, 'test.gz') + * gen_test_data(testfile, 65536, concat) + */ + __Pyx_TraceLine(293,0,__PYX_ERR(0, 293, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 293, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 293, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 293, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":294 + * + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * gen_test_data(testfile, 65536, concat) + * + */ + __Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_testfile = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":295 + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') + * gen_test_data(testfile, 65536, concat) # <<<<<<<<<<<<<< + * + * # No writing + */ + __Pyx_TraceLine(295,0,__PYX_ERR(0, 295, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 295, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_testfile); + __Pyx_INCREF(__pyx_int_65536); + __Pyx_GIVEREF(__pyx_int_65536); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_int_65536); + __Pyx_INCREF(__pyx_v_concat); + __Pyx_GIVEREF(__pyx_v_concat); + PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 + * + * # No writing + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * gf = igzip._IndexedGzipFile(filename=testfile, + * mode='w', + */ + __Pyx_TraceLine(298,0,__PYX_ERR(0, 298, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 298, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":299 + * # No writing + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode='w', + * drop_handles=drop) + */ + __Pyx_TraceLine(299,0,__PYX_ERR(0, 299, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 299, __pyx_L17_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_w) < 0) __PYX_ERR(0, 299, __pyx_L17_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":301 + * gf = igzip._IndexedGzipFile(filename=testfile, + * mode='w', + * drop_handles=drop) # <<<<<<<<<<<<<< + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(filename=testfile, + */ + __Pyx_TraceLine(301,0,__PYX_ERR(0, 301, __pyx_L17_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 299, __pyx_L17_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":299 + * # No writing + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode='w', + * drop_handles=drop) + */ + __Pyx_TraceLine(299,0,__PYX_ERR(0, 299, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_gf = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 + * + * # No writing + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * gf = igzip._IndexedGzipFile(filename=testfile, + * mode='w', + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 298, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 298, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 298, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 298, __pyx_L19_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 298, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 298, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":302 + * mode='w', + * drop_handles=drop) + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * gf = igzip._IndexedGzipFile(filename=testfile, + * mode='wb', + */ + __Pyx_TraceLine(302,0,__PYX_ERR(0, 302, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 302, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 302, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 302, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 302, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":303 + * drop_handles=drop) + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode='wb', + * drop_handles=drop) + */ + __Pyx_TraceLine(303,0,__PYX_ERR(0, 303, __pyx_L31_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 303, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 303, __pyx_L31_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 303, __pyx_L31_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":305 + * gf = igzip._IndexedGzipFile(filename=testfile, + * mode='wb', + * drop_handles=drop) # <<<<<<<<<<<<<< + * + * # No writing + */ + __Pyx_TraceLine(305,0,__PYX_ERR(0, 305, __pyx_L31_error)) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 303, __pyx_L31_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":303 + * drop_handles=drop) + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode='wb', + * drop_handles=drop) + */ + __Pyx_TraceLine(303,0,__PYX_ERR(0, 303, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":302 + * mode='w', + * drop_handles=drop) + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * gf = igzip._IndexedGzipFile(filename=testfile, + * mode='wb', + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 302, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 302, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 302, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 302, __pyx_L33_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 302, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 302, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L40; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L40:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":308 + * + * # No writing + * f = open(testfile, mode='wb') # <<<<<<<<<<<<<< + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + */ + __Pyx_TraceLine(308,0,__PYX_ERR(0, 308, __pyx_L7_error)) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 308, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 308, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 308, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 308, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":309 + * # No writing + * f = open(testfile, mode='wb') + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + * f.close() + */ + __Pyx_TraceLine(309,0,__PYX_ERR(0, 309, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 309, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":310 + * f = open(testfile, mode='wb') + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< + * f.close() + * + */ + __Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L45_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 310, __pyx_L45_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 310, __pyx_L45_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":309 + * # No writing + * f = open(testfile, mode='wb') + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + * f.close() + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L50_try_end; + __pyx_L45_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 309, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 309, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 309, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 309, __pyx_L47_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_2); + __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 309, __pyx_L47_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L46_exception_handled; + } + __pyx_L47_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L46_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L50_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 309, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L44; + } + __pyx_L44:; + } + goto __pyx_L54; + __pyx_L41_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L54:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":311 + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + * f.close() # <<<<<<<<<<<<<< + * + * # No writing + */ + __Pyx_TraceLine(311,0,__PYX_ERR(0, 311, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 311, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 311, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":314 + * + * # No writing + * f = open(testfile, mode='w') # <<<<<<<<<<<<<< + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + */ + __Pyx_TraceLine(314,0,__PYX_ERR(0, 314, __pyx_L7_error)) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 314, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_w) < 0) __PYX_ERR(0, 314, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 314, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":315 + * # No writing + * f = open(testfile, mode='w') + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + * f.close() + */ + __Pyx_TraceLine(315,0,__PYX_ERR(0, 315, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 315, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 315, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 315, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":316 + * f = open(testfile, mode='w') + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< + * f.close() + * + */ + __Pyx_TraceLine(316,0,__PYX_ERR(0, 316, __pyx_L59_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 316, __pyx_L59_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 316, __pyx_L59_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":315 + * # No writing + * f = open(testfile, mode='w') + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + * f.close() + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L64_try_end; + __pyx_L59_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 315, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 315, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 315, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 315, __pyx_L61_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 315, __pyx_L61_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L60_exception_handled; + } + __pyx_L61_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L60_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L64_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 315, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L58; + } + __pyx_L58:; + } + goto __pyx_L68; + __pyx_L55_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L68:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":317 + * with pytest.raises(ValueError): + * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + * f.close() # <<<<<<<<<<<<<< + * + * # Need a filename or fid + */ + __Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":320 + * + * # Need a filename or fid + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * f = igzip._IndexedGzipFile(drop_handles=drop) + * + */ + __Pyx_TraceLine(320,0,__PYX_ERR(0, 320, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 320, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":321 + * # Need a filename or fid + * with pytest.raises(ValueError): + * f = igzip._IndexedGzipFile(drop_handles=drop) # <<<<<<<<<<<<<< + * + * # can only specify one of filename/fid + */ + __Pyx_TraceLine(321,0,__PYX_ERR(0, 321, __pyx_L73_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 321, __pyx_L73_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 321, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":320 + * + * # Need a filename or fid + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * f = igzip._IndexedGzipFile(drop_handles=drop) + * + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L78_try_end; + __pyx_L73_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 320, __pyx_L75_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 320, __pyx_L75_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 320, __pyx_L75_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 320, __pyx_L75_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 320, __pyx_L75_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L74_exception_handled; + } + __pyx_L75_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L74_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L78_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 320, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L72; + } + __pyx_L72:; + } + goto __pyx_L82; + __pyx_L69_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L82:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":324 + * + * # can only specify one of filename/fid + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * with open(testfile, mode='rb'): + * f = igzip._IndexedGzipFile(filename=testfile, + */ + __Pyx_TraceLine(324,0,__PYX_ERR(0, 324, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 324, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L83_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L83_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":325 + * # can only specify one of filename/fid + * with pytest.raises(ValueError): + * with open(testfile, mode='rb'): # <<<<<<<<<<<<<< + * f = igzip._IndexedGzipFile(filename=testfile, + * fileobj=f, + */ + __Pyx_TraceLine(325,0,__PYX_ERR(0, 325, __pyx_L87_error)) + /*with:*/ { + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_rb) < 0) __PYX_ERR(0, 325, __pyx_L87_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 325, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 325, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L93_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L93_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":326 + * with pytest.raises(ValueError): + * with open(testfile, mode='rb'): + * f = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * fileobj=f, + * drop_handles=drop) + */ + __Pyx_TraceLine(326,0,__PYX_ERR(0, 326, __pyx_L97_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 326, __pyx_L97_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 326, __pyx_L97_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 326, __pyx_L97_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 326, __pyx_L97_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":327 + * with open(testfile, mode='rb'): + * f = igzip._IndexedGzipFile(filename=testfile, + * fileobj=f, # <<<<<<<<<<<<<< + * drop_handles=drop) + * + */ + __Pyx_TraceLine(327,0,__PYX_ERR(0, 327, __pyx_L97_error)) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 326, __pyx_L97_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":328 + * f = igzip._IndexedGzipFile(filename=testfile, + * fileobj=f, + * drop_handles=drop) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(328,0,__PYX_ERR(0, 328, __pyx_L97_error)) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 326, __pyx_L97_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":326 + * with pytest.raises(ValueError): + * with open(testfile, mode='rb'): + * f = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * fileobj=f, + * drop_handles=drop) + */ + __Pyx_TraceLine(326,0,__PYX_ERR(0, 326, __pyx_L97_error)) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 326, __pyx_L97_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":325 + * # can only specify one of filename/fid + * with pytest.raises(ValueError): + * with open(testfile, mode='rb'): # <<<<<<<<<<<<<< + * f = igzip._IndexedGzipFile(filename=testfile, + * fileobj=f, + */ + } + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + goto __pyx_L102_try_end; + __pyx_L97_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 325, __pyx_L99_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 325, __pyx_L99_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 325, __pyx_L99_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 325, __pyx_L99_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 325, __pyx_L99_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L98_exception_handled; + } + __pyx_L99_except_error:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); + goto __pyx_L87_error; + __pyx_L98_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); + __pyx_L102_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_14) { + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 325, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + } + goto __pyx_L96; + } + __pyx_L96:; + } + goto __pyx_L106; + __pyx_L93_error:; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L87_error; + __pyx_L106:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":324 + * + * # can only specify one of filename/fid + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * with open(testfile, mode='rb'): + * f = igzip._IndexedGzipFile(filename=testfile, + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L92_try_end; + __pyx_L87_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 324, __pyx_L89_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 324, __pyx_L89_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 324, __pyx_L89_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 324, __pyx_L89_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 324, __pyx_L89_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L88_exception_handled; + } + __pyx_L89_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L88_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L92_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 324, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L86; + } + __pyx_L86:; + } + goto __pyx_L110; + __pyx_L83_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L110:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":293 + * def test_init_failure_cases(concat, drop): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * testfile = op.join(td, 'test.gz') + * gen_test_data(testfile, 65536, concat) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 293, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 293, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 293, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 293, __pyx_L9_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 293, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 293, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L114; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L114:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":291 + * + * + * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_testfile); + __Pyx_XDECREF(__pyx_v_gf); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 + * + * + * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases = {"test_init_success_cases", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_concat = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_init_success_cases (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_concat,&__pyx_n_s_drop,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_concat)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_init_success_cases", 1, 2, 2, 1); __PYX_ERR(0, 331, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_success_cases") < 0)) __PYX_ERR(0, 331, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_concat = values[0]; + __pyx_v_drop = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_init_success_cases", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 331, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_success_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init_success_cases(__pyx_self, __pyx_v_concat, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init_success_cases(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_testfile = NULL; + PyObject *__pyx_v_gf1 = NULL; + PyObject *__pyx_v_gf2 = NULL; + PyObject *__pyx_v_gf3 = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + int __pyx_t_12; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__41) + __Pyx_RefNannySetupContext("test_init_success_cases", 0); + __Pyx_TraceCall("test_init_success_cases", __pyx_f[0], 331, 0, __PYX_ERR(0, 331, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":332 + * + * def test_init_success_cases(concat, drop): + * with tempdir() as td: # <<<<<<<<<<<<<< + * testfile = op.join(td, 'test.gz') + * gen_test_data(testfile, 65536, concat) + */ + __Pyx_TraceLine(332,0,__PYX_ERR(0, 332, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 332, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":333 + * def test_init_success_cases(concat, drop): + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * gen_test_data(testfile, 65536, concat) + * + */ + __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 333, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 333, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_testfile = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":334 + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') + * gen_test_data(testfile, 65536, concat) # <<<<<<<<<<<<<< + * + * gf1 = igzip._IndexedGzipFile(filename=testfile, + */ + __Pyx_TraceLine(334,0,__PYX_ERR(0, 334, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 334, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 334, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_testfile); + __Pyx_INCREF(__pyx_int_65536); + __Pyx_GIVEREF(__pyx_int_65536); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_int_65536); + __Pyx_INCREF(__pyx_v_concat); + __Pyx_GIVEREF(__pyx_v_concat); + PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":336 + * gen_test_data(testfile, 65536, concat) + * + * gf1 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * drop_handles=drop) + * gf2 = igzip._IndexedGzipFile(filename=testfile, + */ + __Pyx_TraceLine(336,0,__PYX_ERR(0, 336, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 336, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":337 + * + * gf1 = igzip._IndexedGzipFile(filename=testfile, + * drop_handles=drop) # <<<<<<<<<<<<<< + * gf2 = igzip._IndexedGzipFile(filename=testfile, + * mode='r', + */ + __Pyx_TraceLine(337,0,__PYX_ERR(0, 337, __pyx_L7_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 336, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":336 + * gen_test_data(testfile, 65536, concat) + * + * gf1 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * drop_handles=drop) + * gf2 = igzip._IndexedGzipFile(filename=testfile, + */ + __Pyx_TraceLine(336,0,__PYX_ERR(0, 336, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_gf1 = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 + * gf1 = igzip._IndexedGzipFile(filename=testfile, + * drop_handles=drop) + * gf2 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode='r', + * drop_handles=drop) + */ + __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 338, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 338, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_r) < 0) __PYX_ERR(0, 338, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":340 + * gf2 = igzip._IndexedGzipFile(filename=testfile, + * mode='r', + * drop_handles=drop) # <<<<<<<<<<<<<< + * gf3 = igzip._IndexedGzipFile(filename=testfile, + * mode='rb', + */ + __Pyx_TraceLine(340,0,__PYX_ERR(0, 340, __pyx_L7_error)) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 338, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 + * gf1 = igzip._IndexedGzipFile(filename=testfile, + * drop_handles=drop) + * gf2 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode='r', + * drop_handles=drop) + */ + __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_gf2 = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":341 + * mode='r', + * drop_handles=drop) + * gf3 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode='rb', + * drop_handles=drop) + */ + __Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 341, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 341, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_mode, __pyx_n_s_rb) < 0) __PYX_ERR(0, 341, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":343 + * gf3 = igzip._IndexedGzipFile(filename=testfile, + * mode='rb', + * drop_handles=drop) # <<<<<<<<<<<<<< + * gf1.close() + * gf2.close() + */ + __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L7_error)) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 341, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":341 + * mode='r', + * drop_handles=drop) + * gf3 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * mode='rb', + * drop_handles=drop) + */ + __Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_gf3 = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":344 + * mode='rb', + * drop_handles=drop) + * gf1.close() # <<<<<<<<<<<<<< + * gf2.close() + * gf3.close() + */ + __Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 344, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":345 + * drop_handles=drop) + * gf1.close() + * gf2.close() # <<<<<<<<<<<<<< + * gf3.close() + * del gf1 + */ + __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":346 + * gf1.close() + * gf2.close() + * gf3.close() # <<<<<<<<<<<<<< + * del gf1 + * del gf2 + */ + __Pyx_TraceLine(346,0,__PYX_ERR(0, 346, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 346, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 346, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":347 + * gf2.close() + * gf3.close() + * del gf1 # <<<<<<<<<<<<<< + * del gf2 + * del gf3 + */ + __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gf1); + __pyx_v_gf1 = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":348 + * gf3.close() + * del gf1 + * del gf2 # <<<<<<<<<<<<<< + * del gf3 + * + */ + __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gf2); + __pyx_v_gf2 = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":349 + * del gf1 + * del gf2 + * del gf3 # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(349,0,__PYX_ERR(0, 349, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gf3); + __pyx_v_gf3 = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":332 + * + * def test_init_success_cases(concat, drop): + * with tempdir() as td: # <<<<<<<<<<<<<< + * testfile = op.join(td, 'test.gz') + * gen_test_data(testfile, 65536, concat) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_success_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 332, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 332, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 332, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_11 < 0) __PYX_ERR(0, 332, __pyx_L9_except_error) + __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 332, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 + * + * + * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_success_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_testfile); + __Pyx_XDECREF(__pyx_v_gf1); + __Pyx_XDECREF(__pyx_v_gf2); + __Pyx_XDECREF(__pyx_v_gf3); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 + * + * + * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< + * + * f = open(testfile, 'rb') + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle = {"test_create_from_open_handle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + PyObject *__pyx_v_drop = 0; + PyObject *__pyx_v_file_like_object = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_create_from_open_handle (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_seed,&__pyx_n_s_drop,&__pyx_n_s_file_like_object,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 1); __PYX_ERR(0, 352, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 2); __PYX_ERR(0, 352, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 3); __PYX_ERR(0, 352, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_file_like_object)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 4); __PYX_ERR(0, 352, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_create_from_open_handle") < 0)) __PYX_ERR(0, 352, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + __pyx_v_seed = values[2]; + __pyx_v_drop = values[3]; + __pyx_v_file_like_object = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 352, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_create_from_open_handle", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_create_from_open_handle(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_seed, __pyx_v_drop, __pyx_v_file_like_object); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_create_from_open_handle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop, PyObject *__pyx_v_file_like_object) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_gzf = NULL; + PyObject *__pyx_v_element = NULL; + PyObject *__pyx_v_readval = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_t_8; + char const *__pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__42) + __Pyx_RefNannySetupContext("test_create_from_open_handle", 0); + __Pyx_TraceCall("test_create_from_open_handle", __pyx_f[0], 352, 0, __PYX_ERR(0, 352, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":354 + * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): + * + * f = open(testfile, 'rb') # <<<<<<<<<<<<<< + * if file_like_object: + * f = BytesIO(f.read()) + */ + __Pyx_TraceLine(354,0,__PYX_ERR(0, 354, __pyx_L1_error)) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":355 + * + * f = open(testfile, 'rb') + * if file_like_object: # <<<<<<<<<<<<<< + * f = BytesIO(f.read()) + * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + */ + __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_file_like_object); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 355, __pyx_L1_error) + if (__pyx_t_3) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":356 + * f = open(testfile, 'rb') + * if file_like_object: + * f = BytesIO(f.read()) # <<<<<<<<<<<<<< + * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + * + */ + __Pyx_TraceLine(356,0,__PYX_ERR(0, 356, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 356, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 356, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":355 + * + * f = open(testfile, 'rb') + * if file_like_object: # <<<<<<<<<<<<<< + * f = BytesIO(f.read()) + * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":357 + * if file_like_object: + * f = BytesIO(f.read()) + * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< + * + * assert gzf.fileobj() is f + */ + __Pyx_TraceLine(357,0,__PYX_ERR(0, 357, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 357, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 357, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_gzf = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 + * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) + * + * assert gzf.fileobj() is f # <<<<<<<<<<<<<< + * assert not gzf.drop_handles + * + */ + __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_3 = (__pyx_t_4 == __pyx_v_f); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!(__pyx_t_3 != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 359, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":360 + * + * assert gzf.fileobj() is f + * assert not gzf.drop_handles # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + __Pyx_TraceLine(360,0,__PYX_ERR(0, 360, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 360, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!((!__pyx_t_3) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 360, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":362 + * assert not gzf.drop_handles + * + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval = read_element(gzf, element) + * + */ + __Pyx_TraceLine(362,0,__PYX_ERR(0, 362, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_v_nelems); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_7, __pyx_int_1); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_element = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":363 + * + * element = np.random.randint(0, nelems, 1) + * readval = read_element(gzf, element) # <<<<<<<<<<<<<< + * + * gzf.close() + */ + __Pyx_TraceLine(363,0,__PYX_ERR(0, 363, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 363, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_7 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_7 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_gzf); + __Pyx_GIVEREF(__pyx_v_gzf); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_7, __pyx_v_gzf); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_7, __pyx_v_element); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_readval = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":365 + * readval = read_element(gzf, element) + * + * gzf.close() # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":367 + * gzf.close() + * + * try: # <<<<<<<<<<<<<< + * assert readval == element + * assert gzf.closed + */ + __Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error)) + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":368 + * + * try: + * assert readval == element # <<<<<<<<<<<<<< + * assert gzf.closed + * assert not f.closed + */ + __Pyx_TraceLine(368,0,__PYX_ERR(0, 368, __pyx_L5_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 368, __pyx_L5_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 368, __pyx_L5_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 368, __pyx_L5_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":369 + * try: + * assert readval == element + * assert gzf.closed # <<<<<<<<<<<<<< + * assert not f.closed + * + */ + __Pyx_TraceLine(369,0,__PYX_ERR(0, 369, __pyx_L5_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 369, __pyx_L5_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 369, __pyx_L5_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":370 + * assert readval == element + * assert gzf.closed + * assert not f.closed # <<<<<<<<<<<<<< + * + * finally: + */ + __Pyx_TraceLine(370,0,__PYX_ERR(0, 370, __pyx_L5_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 370, __pyx_L5_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!((!__pyx_t_3) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 370, __pyx_L5_error) + } + } + #endif + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":373 + * + * finally: + * f.close() # <<<<<<<<<<<<<< + * del gzf + * del f + */ + __Pyx_TraceLine(373,0,__PYX_ERR(0, 373, __pyx_L5_error)) + /*finally:*/ { + /*normal exit:*/{ + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 373, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":374 + * finally: + * f.close() + * del gzf # <<<<<<<<<<<<<< + * del f + * + */ + __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":375 + * f.close() + * del gzf + * del f # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(375,0,__PYX_ERR(0, 375, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + goto __pyx_L6; + } + __pyx_L5_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; + { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":373 + * + * finally: + * f.close() # <<<<<<<<<<<<<< + * del gzf + * del f + */ + __Pyx_TraceLine(373,0,__PYX_ERR(0, 373, __pyx_L8_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 373, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":374 + * finally: + * f.close() + * del gzf # <<<<<<<<<<<<<< + * del f + * + */ + __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L8_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":375 + * f.close() + * del gzf + * del f # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(375,0,__PYX_ERR(0, 375, __pyx_L8_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + } + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; + goto __pyx_L1_error; + __pyx_L8_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + goto __pyx_L1_error; + } + __pyx_L6:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 + * + * + * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< + * + * f = open(testfile, 'rb') + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_create_from_open_handle", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_gzf); + __Pyx_XDECREF(__pyx_v_element); + __Pyx_XDECREF(__pyx_v_readval); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":378 + * + * + * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< + * + * f = None + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj = {"test_accept_filename_or_fileobj", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_accept_filename_or_fileobj (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_accept_filename_or_fileobj", 1, 2, 2, 1); __PYX_ERR(0, 378, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_accept_filename_or_fileobj") < 0)) __PYX_ERR(0, 378, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_accept_filename_or_fileobj", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 378, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_accept_filename_or_fileobj", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_accept_filename_or_fileobj(__pyx_self, __pyx_v_testfile, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_accept_filename_or_fileobj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_gzf1 = NULL; + PyObject *__pyx_v_gzf2 = NULL; + PyObject *__pyx_v_gzf3 = NULL; + PyObject *__pyx_v_element = NULL; + PyObject *__pyx_v_readval1 = NULL; + PyObject *__pyx_v_readval2 = NULL; + PyObject *__pyx_v_readval3 = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + int __pyx_t_9; + int __pyx_t_10; + int __pyx_t_11; + char const *__pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__43) + __Pyx_RefNannySetupContext("test_accept_filename_or_fileobj", 0); + __Pyx_TraceCall("test_accept_filename_or_fileobj", __pyx_f[0], 378, 0, __PYX_ERR(0, 378, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":380 + * def test_accept_filename_or_fileobj(testfile, nelems): + * + * f = None # <<<<<<<<<<<<<< + * gzf1 = None + * gzf2 = None + */ + __Pyx_TraceLine(380,0,__PYX_ERR(0, 380, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":381 + * + * f = None + * gzf1 = None # <<<<<<<<<<<<<< + * gzf2 = None + * gzf3 = None + */ + __Pyx_TraceLine(381,0,__PYX_ERR(0, 381, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_gzf1 = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":382 + * f = None + * gzf1 = None + * gzf2 = None # <<<<<<<<<<<<<< + * gzf3 = None + * + */ + __Pyx_TraceLine(382,0,__PYX_ERR(0, 382, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_gzf2 = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":383 + * gzf1 = None + * gzf2 = None + * gzf3 = None # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(383,0,__PYX_ERR(0, 383, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_gzf3 = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 + * gzf3 = None + * + * try: # <<<<<<<<<<<<<< + * f = open(testfile, 'rb') + * gzf1 = igzip._IndexedGzipFile(testfile) + */ + __Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error)) + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":386 + * + * try: + * f = open(testfile, 'rb') # <<<<<<<<<<<<<< + * gzf1 = igzip._IndexedGzipFile(testfile) + * gzf2 = igzip._IndexedGzipFile(f) + */ + __Pyx_TraceLine(386,0,__PYX_ERR(0, 386, __pyx_L4_error)) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 386, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 386, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":387 + * try: + * f = open(testfile, 'rb') + * gzf1 = igzip._IndexedGzipFile(testfile) # <<<<<<<<<<<<<< + * gzf2 = igzip._IndexedGzipFile(f) + * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) + */ + __Pyx_TraceLine(387,0,__PYX_ERR(0, 387, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 387, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 387, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_testfile); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 387, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_gzf1, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":388 + * f = open(testfile, 'rb') + * gzf1 = igzip._IndexedGzipFile(testfile) + * gzf2 = igzip._IndexedGzipFile(f) # <<<<<<<<<<<<<< + * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) + * + */ + __Pyx_TraceLine(388,0,__PYX_ERR(0, 388, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 388, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 388, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_f) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_f); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 388, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_gzf2, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":389 + * gzf1 = igzip._IndexedGzipFile(testfile) + * gzf2 = igzip._IndexedGzipFile(f) + * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + __Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_rb); + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_t_3) < 0) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_gzf3, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":391 + * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) + * + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval1 = read_element(gzf1, element) + * readval2 = read_element(gzf2, element) + */ + __Pyx_TraceLine(391,0,__PYX_ERR(0, 391, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_4 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 391, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_8, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_8, __pyx_v_nelems); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_8, __pyx_int_1); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_element = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":392 + * + * element = np.random.randint(0, nelems, 1) + * readval1 = read_element(gzf1, element) # <<<<<<<<<<<<<< + * readval2 = read_element(gzf2, element) + * readval3 = read_element(gzf3, element) + */ + __Pyx_TraceLine(392,0,__PYX_ERR(0, 392, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 392, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf1, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf1, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_gzf1); + __Pyx_GIVEREF(__pyx_v_gzf1); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_8, __pyx_v_gzf1); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_v_element); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_readval1 = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":393 + * element = np.random.randint(0, nelems, 1) + * readval1 = read_element(gzf1, element) + * readval2 = read_element(gzf2, element) # <<<<<<<<<<<<<< + * readval3 = read_element(gzf3, element) + * + */ + __Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 393, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_gzf2, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_gzf2, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_gzf2); + __Pyx_GIVEREF(__pyx_v_gzf2); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_8, __pyx_v_gzf2); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_8, __pyx_v_element); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_readval2 = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":394 + * readval1 = read_element(gzf1, element) + * readval2 = read_element(gzf2, element) + * readval3 = read_element(gzf3, element) # <<<<<<<<<<<<<< + * + * assert readval1 == element + */ + __Pyx_TraceLine(394,0,__PYX_ERR(0, 394, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf3, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf3, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L4_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_gzf3); + __Pyx_GIVEREF(__pyx_v_gzf3); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_8, __pyx_v_gzf3); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_v_element); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_readval3 = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":396 + * readval3 = read_element(gzf3, element) + * + * assert readval1 == element # <<<<<<<<<<<<<< + * assert readval2 == element + * assert readval3 == element + */ + __Pyx_TraceLine(396,0,__PYX_ERR(0, 396, __pyx_L4_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval1, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 396, __pyx_L4_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 396, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_9)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 396, __pyx_L4_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":397 + * + * assert readval1 == element + * assert readval2 == element # <<<<<<<<<<<<<< + * assert readval3 == element + * + */ + __Pyx_TraceLine(397,0,__PYX_ERR(0, 397, __pyx_L4_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval2, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L4_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 397, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_9)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 397, __pyx_L4_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":398 + * assert readval1 == element + * assert readval2 == element + * assert readval3 == element # <<<<<<<<<<<<<< + * + * finally: + */ + __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L4_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval3, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L4_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 398, __pyx_L4_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_9)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 398, __pyx_L4_error) + } + } + #endif + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":401 + * + * finally: + * if gzf3 is not None: gzf3.close() # <<<<<<<<<<<<<< + * if gzf2 is not None: gzf2.close() + * if gzf1 is not None: gzf1.close() + */ + __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L4_error)) + /*finally:*/ { + /*normal exit:*/{ + __pyx_t_9 = (__pyx_v_gzf3 != Py_None); + __pyx_t_10 = (__pyx_t_9 != 0); + if (__pyx_t_10) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 401, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":402 + * finally: + * if gzf3 is not None: gzf3.close() + * if gzf2 is not None: gzf2.close() # <<<<<<<<<<<<<< + * if gzf1 is not None: gzf1.close() + * if f is not None: f .close() + */ + __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L1_error)) + __pyx_t_10 = (__pyx_v_gzf2 != Py_None); + __pyx_t_9 = (__pyx_t_10 != 0); + if (__pyx_t_9) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":403 + * if gzf3 is not None: gzf3.close() + * if gzf2 is not None: gzf2.close() + * if gzf1 is not None: gzf1.close() # <<<<<<<<<<<<<< + * if f is not None: f .close() + * del f + */ + __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L1_error)) + __pyx_t_9 = (__pyx_v_gzf1 != Py_None); + __pyx_t_10 = (__pyx_t_9 != 0); + if (__pyx_t_10) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":404 + * if gzf2 is not None: gzf2.close() + * if gzf1 is not None: gzf1.close() + * if f is not None: f .close() # <<<<<<<<<<<<<< + * del f + * del gzf1 + */ + __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L1_error)) + __pyx_t_10 = (__pyx_v_f != Py_None); + __pyx_t_9 = (__pyx_t_10 != 0); + if (__pyx_t_9) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":405 + * if gzf1 is not None: gzf1.close() + * if f is not None: f .close() + * del f # <<<<<<<<<<<<<< + * del gzf1 + * del gzf2 + */ + __Pyx_TraceLine(405,0,__PYX_ERR(0, 405, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":406 + * if f is not None: f .close() + * del f + * del gzf1 # <<<<<<<<<<<<<< + * del gzf2 + * del gzf3 + */ + __Pyx_TraceLine(406,0,__PYX_ERR(0, 406, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_gzf1); + __pyx_v_gzf1 = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":407 + * del f + * del gzf1 + * del gzf2 # <<<<<<<<<<<<<< + * del gzf3 + * + */ + __Pyx_TraceLine(407,0,__PYX_ERR(0, 407, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_gzf2); + __pyx_v_gzf2 = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":408 + * del gzf1 + * del gzf2 + * del gzf3 # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_gzf3); + __pyx_v_gzf3 = NULL; + goto __pyx_L5; + } + __pyx_L4_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15) < 0)) __Pyx_ErrFetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + __pyx_t_8 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename; + { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":401 + * + * finally: + * if gzf3 is not None: gzf3.close() # <<<<<<<<<<<<<< + * if gzf2 is not None: gzf2.close() + * if gzf1 is not None: gzf1.close() + */ + __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L11_error)) + __pyx_t_9 = (__pyx_v_gzf3 != Py_None); + __pyx_t_10 = (__pyx_t_9 != 0); + if (__pyx_t_10) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 401, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":402 + * finally: + * if gzf3 is not None: gzf3.close() + * if gzf2 is not None: gzf2.close() # <<<<<<<<<<<<<< + * if gzf1 is not None: gzf1.close() + * if f is not None: f .close() + */ + __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L11_error)) + __pyx_t_10 = (__pyx_v_gzf2 != Py_None); + __pyx_t_9 = (__pyx_t_10 != 0); + if (__pyx_t_9) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":403 + * if gzf3 is not None: gzf3.close() + * if gzf2 is not None: gzf2.close() + * if gzf1 is not None: gzf1.close() # <<<<<<<<<<<<<< + * if f is not None: f .close() + * del f + */ + __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L11_error)) + __pyx_t_9 = (__pyx_v_gzf1 != Py_None); + __pyx_t_10 = (__pyx_t_9 != 0); + if (__pyx_t_10) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":404 + * if gzf2 is not None: gzf2.close() + * if gzf1 is not None: gzf1.close() + * if f is not None: f .close() # <<<<<<<<<<<<<< + * del f + * del gzf1 + */ + __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L11_error)) + __pyx_t_10 = (__pyx_v_f != Py_None); + __pyx_t_9 = (__pyx_t_10 != 0); + if (__pyx_t_9) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L11_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":405 + * if gzf1 is not None: gzf1.close() + * if f is not None: f .close() + * del f # <<<<<<<<<<<<<< + * del gzf1 + * del gzf2 + */ + __Pyx_TraceLine(405,0,__PYX_ERR(0, 405, __pyx_L11_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":406 + * if f is not None: f .close() + * del f + * del gzf1 # <<<<<<<<<<<<<< + * del gzf2 + * del gzf3 + */ + __Pyx_TraceLine(406,0,__PYX_ERR(0, 406, __pyx_L11_error)) + __Pyx_DECREF(__pyx_v_gzf1); + __pyx_v_gzf1 = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":407 + * del f + * del gzf1 + * del gzf2 # <<<<<<<<<<<<<< + * del gzf3 + * + */ + __Pyx_TraceLine(407,0,__PYX_ERR(0, 407, __pyx_L11_error)) + __Pyx_DECREF(__pyx_v_gzf2); + __pyx_v_gzf2 = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":408 + * del gzf1 + * del gzf2 + * del gzf3 # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L11_error)) + __Pyx_DECREF(__pyx_v_gzf3); + __pyx_v_gzf3 = NULL; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + } + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ErrRestore(__pyx_t_13, __pyx_t_14, __pyx_t_15); + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; + __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_12; + goto __pyx_L1_error; + __pyx_L11_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; + goto __pyx_L1_error; + } + __pyx_L5:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":378 + * + * + * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< + * + * f = None + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_accept_filename_or_fileobj", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_gzf1); + __Pyx_XDECREF(__pyx_v_gzf2); + __Pyx_XDECREF(__pyx_v_gzf3); + __Pyx_XDECREF(__pyx_v_element); + __Pyx_XDECREF(__pyx_v_readval1); + __Pyx_XDECREF(__pyx_v_readval2); + __Pyx_XDECREF(__pyx_v_readval3); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 + * + * + * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< + * """When a fileobj with an associated fileno is passed to IndexedGzipFile, + * the fileobj's file descriptor (fd) should be utilized by zran.c + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f[] = "When a fileobj with an associated fileno is passed to IndexedGzipFile,\n the fileobj's file descriptor (fd) should be utilized by zran.c\n instead of the file-like object specified by fileobj (f).\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f = {"test_prioritize_fd_over_f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_prioritize_fd_over_f (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_prioritize_fd_over_f", 1, 2, 2, 1); __PYX_ERR(0, 411, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_prioritize_fd_over_f") < 0)) __PYX_ERR(0, 411, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_prioritize_fd_over_f", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 411, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_prioritize_fd_over_f", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f(__pyx_self, __pyx_v_testfile, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_gzf = NULL; + PyObject *__pyx_v_element = NULL; + PyObject *__pyx_v_readval = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_t_8; + char const *__pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__44) + __Pyx_RefNannySetupContext("test_prioritize_fd_over_f", 0); + __Pyx_TraceCall("test_prioritize_fd_over_f", __pyx_f[0], 411, 0, __PYX_ERR(0, 411, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":416 + * instead of the file-like object specified by fileobj (f). + * """ + * if sys.version_info[0] < 3: # <<<<<<<<<<<<<< + * # We can't set the .read attribute in Python 2 + * # because it's read-only, so skip it. + */ + __Pyx_TraceLine(416,0,__PYX_ERR(0, 416, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 416, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 416, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 416, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_3, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 416, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 416, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_3) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":419 + * # We can't set the .read attribute in Python 2 + * # because it's read-only, so skip it. + * return # <<<<<<<<<<<<<< + * + * f = None + */ + __Pyx_TraceLine(419,0,__PYX_ERR(0, 419, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":416 + * instead of the file-like object specified by fileobj (f). + * """ + * if sys.version_info[0] < 3: # <<<<<<<<<<<<<< + * # We can't set the .read attribute in Python 2 + * # because it's read-only, so skip it. + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":421 + * return + * + * f = None # <<<<<<<<<<<<<< + * gzf = None + * + */ + __Pyx_TraceLine(421,0,__PYX_ERR(0, 421, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":422 + * + * f = None + * gzf = None # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(422,0,__PYX_ERR(0, 422, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __pyx_v_gzf = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":424 + * gzf = None + * + * try: # <<<<<<<<<<<<<< + * f = open(testfile, 'rb') + * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. + */ + __Pyx_TraceLine(424,0,__PYX_ERR(0, 424, __pyx_L1_error)) + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":425 + * + * try: + * f = open(testfile, 'rb') # <<<<<<<<<<<<<< + * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. + * gzf = igzip._IndexedGzipFile(fileobj=f) + */ + __Pyx_TraceLine(425,0,__PYX_ERR(0, 425, __pyx_L5_error)) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 425, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_rb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 425, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":426 + * try: + * f = open(testfile, 'rb') + * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. # <<<<<<<<<<<<<< + * gzf = igzip._IndexedGzipFile(fileobj=f) + * + */ + __Pyx_TraceLine(426,0,__PYX_ERR(0, 426, __pyx_L5_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 426, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_read, __pyx_t_1) < 0) __PYX_ERR(0, 426, __pyx_L5_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":427 + * f = open(testfile, 'rb') + * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. + * gzf = igzip._IndexedGzipFile(fileobj=f) # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + __Pyx_TraceLine(427,0,__PYX_ERR(0, 427, __pyx_L5_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 427, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 427, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_gzf, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":429 + * gzf = igzip._IndexedGzipFile(fileobj=f) + * + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval = read_element(gzf, element) + * + */ + __Pyx_TraceLine(429,0,__PYX_ERR(0, 429, __pyx_L5_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 429, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L5_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L5_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 429, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_nelems); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_int_1); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_element = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":430 + * + * element = np.random.randint(0, nelems, 1) + * readval = read_element(gzf, element) # <<<<<<<<<<<<<< + * + * assert readval == element + */ + __Pyx_TraceLine(430,0,__PYX_ERR(0, 430, __pyx_L5_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_gzf, __pyx_v_element}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L5_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_gzf, __pyx_v_element}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L5_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_v_gzf); + __Pyx_GIVEREF(__pyx_v_gzf); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_5, __pyx_v_gzf); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_5, __pyx_v_element); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_readval = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":432 + * readval = read_element(gzf, element) + * + * assert readval == element # <<<<<<<<<<<<<< + * + * finally: + */ + __Pyx_TraceLine(432,0,__PYX_ERR(0, 432, __pyx_L5_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 432, __pyx_L5_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 432, __pyx_L5_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 432, __pyx_L5_error) + } + } + #endif + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":435 + * + * finally: + * if gzf is not None: gzf.close() # <<<<<<<<<<<<<< + * if f is not None: f .close() + * del f + */ + __Pyx_TraceLine(435,0,__PYX_ERR(0, 435, __pyx_L5_error)) + /*finally:*/ { + /*normal exit:*/{ + __pyx_t_3 = (__pyx_v_gzf != Py_None); + __pyx_t_7 = (__pyx_t_3 != 0); + if (__pyx_t_7) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 435, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 435, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":436 + * finally: + * if gzf is not None: gzf.close() + * if f is not None: f .close() # <<<<<<<<<<<<<< + * del f + * del gzf + */ + __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L1_error)) + __pyx_t_7 = (__pyx_v_f != Py_None); + __pyx_t_3 = (__pyx_t_7 != 0); + if (__pyx_t_3) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":437 + * if gzf is not None: gzf.close() + * if f is not None: f .close() + * del f # <<<<<<<<<<<<<< + * del gzf + * + */ + __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":438 + * if f is not None: f .close() + * del f + * del gzf # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(438,0,__PYX_ERR(0, 438, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + goto __pyx_L6; + } + __pyx_L5_error:; + /*exception exit:*/{ + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); + if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __pyx_t_5 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; + { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":435 + * + * finally: + * if gzf is not None: gzf.close() # <<<<<<<<<<<<<< + * if f is not None: f .close() + * del f + */ + __Pyx_TraceLine(435,0,__PYX_ERR(0, 435, __pyx_L10_error)) + __pyx_t_3 = (__pyx_v_gzf != Py_None); + __pyx_t_7 = (__pyx_t_3 != 0); + if (__pyx_t_7) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 435, __pyx_L10_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 435, __pyx_L10_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":436 + * finally: + * if gzf is not None: gzf.close() + * if f is not None: f .close() # <<<<<<<<<<<<<< + * del f + * del gzf + */ + __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L10_error)) + __pyx_t_7 = (__pyx_v_f != Py_None); + __pyx_t_3 = (__pyx_t_7 != 0); + if (__pyx_t_3) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L10_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L10_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":437 + * if gzf is not None: gzf.close() + * if f is not None: f .close() + * del f # <<<<<<<<<<<<<< + * del gzf + * + */ + __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L10_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":438 + * if f is not None: f .close() + * del f + * del gzf # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(438,0,__PYX_ERR(0, 438, __pyx_L10_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + } + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + } + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; + goto __pyx_L1_error; + __pyx_L10_error:; + if (PY_MAJOR_VERSION >= 3) { + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; + goto __pyx_L1_error; + } + __pyx_L6:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 + * + * + * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< + * """When a fileobj with an associated fileno is passed to IndexedGzipFile, + * the fileobj's file descriptor (fd) should be utilized by zran.c + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_prioritize_fd_over_f", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_gzf); + __Pyx_XDECREF(__pyx_v_element); + __Pyx_XDECREF(__pyx_v_readval); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":441 + * + * + * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< + * + * # When drop_handles is False + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped = {"test_handles_not_dropped", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_handles_not_dropped (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_seed,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, 1); __PYX_ERR(0, 441, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, 2); __PYX_ERR(0, 441, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_handles_not_dropped") < 0)) __PYX_ERR(0, 441, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + __pyx_v_seed = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 441, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_handles_not_dropped(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_seed); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_handles_not_dropped(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_fid = NULL; + CYTHON_UNUSED long __pyx_v_i; + PyObject *__pyx_v_element = NULL; + PyObject *__pyx_v_readval = NULL; + PyObject *__pyx_v_gzf = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + long __pyx_t_10; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__45) + __Pyx_RefNannySetupContext("test_handles_not_dropped", 0); + __Pyx_TraceCall("test_handles_not_dropped", __pyx_f[0], 441, 0, __PYX_ERR(0, 441, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":444 + * + * # When drop_handles is False + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: # <<<<<<<<<<<<<< + * fid = f.fileobj() + * + */ + __Pyx_TraceLine(444,0,__PYX_ERR(0, 444, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 444, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 444, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":445 + * # When drop_handles is False + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: + * fid = f.fileobj() # <<<<<<<<<<<<<< + * + * assert fid is not None + */ + __Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 445, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 445, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_fid = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":447 + * fid = f.fileobj() + * + * assert fid is not None # <<<<<<<<<<<<<< + * + * # Check that the file object + */ + __Pyx_TraceLine(447,0,__PYX_ERR(0, 447, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_9 = (__pyx_v_fid != Py_None); + if (unlikely(!(__pyx_t_9 != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 447, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":451 + * # Check that the file object + * # doesn't change across reads + * for i in range(5): # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + __Pyx_TraceLine(451,0,__PYX_ERR(0, 451, __pyx_L7_error)) + for (__pyx_t_10 = 0; __pyx_t_10 < 5; __pyx_t_10+=1) { + __pyx_v_i = __pyx_t_10; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":453 + * for i in range(5): + * + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval = read_element(f, element) + * + */ + __Pyx_TraceLine(453,0,__PYX_ERR(0, 453, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 453, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_11, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_11, __pyx_v_nelems); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_11, __pyx_int_1); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":454 + * + * element = np.random.randint(0, nelems, 1) + * readval = read_element(f, element) # <<<<<<<<<<<<<< + * + * assert readval == element + */ + __Pyx_TraceLine(454,0,__PYX_ERR(0, 454, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 454, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 454, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_11, __pyx_v_f); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_11, __pyx_v_element); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":456 + * readval = read_element(f, element) + * + * assert readval == element # <<<<<<<<<<<<<< + * assert f.fileobj() is fid + * + */ + __Pyx_TraceLine(456,0,__PYX_ERR(0, 456, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 456, __pyx_L7_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 456, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_9)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 456, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":457 + * + * assert readval == element + * assert f.fileobj() is fid # <<<<<<<<<<<<<< + * + * # Also when given an open stream + */ + __Pyx_TraceLine(457,0,__PYX_ERR(0, 457, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 457, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_9 = (__pyx_t_2 == __pyx_v_fid); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!(__pyx_t_9 != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 457, __pyx_L7_error) + } + } + #endif + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":444 + * + * # When drop_handles is False + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: # <<<<<<<<<<<<<< + * fid = f.fileobj() + * + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 444, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 444, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 444, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_9 < 0) __PYX_ERR(0, 444, __pyx_L9_except_error) + __pyx_t_13 = ((!(__pyx_t_9 != 0)) != 0); + if (__pyx_t_13) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 444, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L18; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L18:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":460 + * + * # Also when given an open stream + * with open(testfile, 'rb') as f: # <<<<<<<<<<<<<< + * with igzip._IndexedGzipFile(fileobj=f) as gzf: + * + */ + __Pyx_TraceLine(460,0,__PYX_ERR(0, 460, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L19_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L19_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":461 + * # Also when given an open stream + * with open(testfile, 'rb') as f: + * with igzip._IndexedGzipFile(fileobj=f) as gzf: # <<<<<<<<<<<<<< + * + * assert gzf.fileobj() is f + */ + __Pyx_TraceLine(461,0,__PYX_ERR(0, 461, __pyx_L23_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 461, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 461, __pyx_L23_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 461, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 461, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 461, __pyx_L29_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L29_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + /*try:*/ { + __pyx_v_gzf = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":463 + * with igzip._IndexedGzipFile(fileobj=f) as gzf: + * + * assert gzf.fileobj() is f # <<<<<<<<<<<<<< + * + * for i in range(5): + */ + __Pyx_TraceLine(463,0,__PYX_ERR(0, 463, __pyx_L33_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 463, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = (__pyx_t_3 == __pyx_v_f); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!(__pyx_t_13 != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 463, __pyx_L33_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":465 + * assert gzf.fileobj() is f + * + * for i in range(5): # <<<<<<<<<<<<<< + * + * element = np.random.randint(0, nelems, 1) + */ + __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L33_error)) + for (__pyx_t_10 = 0; __pyx_t_10 < 5; __pyx_t_10+=1) { + __pyx_v_i = __pyx_t_10; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":467 + * for i in range(5): + * + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval = read_element(gzf, element) + * + */ + __Pyx_TraceLine(467,0,__PYX_ERR(0, 467, __pyx_L33_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L33_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L33_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 467, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_11, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_11, __pyx_v_nelems); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_11, __pyx_int_1); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":468 + * + * element = np.random.randint(0, nelems, 1) + * readval = read_element(gzf, element) # <<<<<<<<<<<<<< + * + * assert readval == element + */ + __Pyx_TraceLine(468,0,__PYX_ERR(0, 468, __pyx_L33_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + __pyx_t_11 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_11 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L33_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L33_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_gzf); + __Pyx_GIVEREF(__pyx_v_gzf); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_11, __pyx_v_gzf); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_11, __pyx_v_element); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":470 + * readval = read_element(gzf, element) + * + * assert readval == element # <<<<<<<<<<<<<< + * assert gzf.fileobj() is f + * + */ + __Pyx_TraceLine(470,0,__PYX_ERR(0, 470, __pyx_L33_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 470, __pyx_L33_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 470, __pyx_L33_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_13)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 470, __pyx_L33_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":471 + * + * assert readval == element + * assert gzf.fileobj() is f # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L33_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = (__pyx_t_3 == __pyx_v_f); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!(__pyx_t_13 != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 471, __pyx_L33_error) + } + } + #endif + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":461 + * # Also when given an open stream + * with open(testfile, 'rb') as f: + * with igzip._IndexedGzipFile(fileobj=f) as gzf: # <<<<<<<<<<<<<< + * + * assert gzf.fileobj() is f + */ + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L38_try_end; + __pyx_L33_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 461, __pyx_L35_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 461, __pyx_L35_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 461, __pyx_L35_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_13 < 0) __PYX_ERR(0, 461, __pyx_L35_except_error) + __pyx_t_9 = ((!(__pyx_t_13 != 0)) != 0); + if (__pyx_t_9) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 461, __pyx_L35_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L34_exception_handled; + } + __pyx_L35_except_error:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + goto __pyx_L23_error; + __pyx_L34_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + __pyx_L38_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_12) { + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 461, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + } + goto __pyx_L32; + } + __pyx_L32:; + } + goto __pyx_L44; + __pyx_L29_error:; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L23_error; + __pyx_L44:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":460 + * + * # Also when given an open stream + * with open(testfile, 'rb') as f: # <<<<<<<<<<<<<< + * with igzip._IndexedGzipFile(fileobj=f) as gzf: + * + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L28_try_end; + __pyx_L23_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 460, __pyx_L25_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L25_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 460, __pyx_L25_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_9 < 0) __PYX_ERR(0, 460, __pyx_L25_except_error) + __pyx_t_13 = ((!(__pyx_t_9 != 0)) != 0); + if (__pyx_t_13) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 460, __pyx_L25_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L24_exception_handled; + } + __pyx_L25_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + goto __pyx_L1_error; + __pyx_L24_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + __pyx_L28_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 460, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + goto __pyx_L22; + } + __pyx_L22:; + } + goto __pyx_L48; + __pyx_L19_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L48:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":441 + * + * + * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< + * + * # When drop_handles is False + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fid); + __Pyx_XDECREF(__pyx_v_element); + __Pyx_XDECREF(__pyx_v_readval); + __Pyx_XDECREF(__pyx_v_gzf); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 + * + * + * def test_manual_build(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * nelems = 65536 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build = {"test_manual_build", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_manual_build (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manual_build(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manual_build(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_td = NULL; + long __pyx_v_nelems; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_off = NULL; + PyObject *__pyx_v_readval = NULL; + CYTHON_UNUSED long __pyx_v_i; + PyObject *__pyx_v_element = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + int __pyx_t_21; + int __pyx_t_22; + long __pyx_t_23; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__46) + __Pyx_RefNannySetupContext("test_manual_build", 0); + __Pyx_TraceCall("test_manual_build", __pyx_f[0], 474, 0, __PYX_ERR(0, 474, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":475 + * + * def test_manual_build(): + * with tempdir() as td: # <<<<<<<<<<<<<< + * nelems = 65536 + * fname = op.join(td, 'test.gz') + */ + __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":476 + * def test_manual_build(): + * with tempdir() as td: + * nelems = 65536 # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * + */ + __Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L7_error)) + __pyx_v_nelems = 0x10000; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":477 + * with tempdir() as td: + * nelems = 65536 + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * + * gen_test_data(fname, nelems, False) + */ + __Pyx_TraceLine(477,0,__PYX_ERR(0, 477, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 477, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 477, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":479 + * fname = op.join(td, 'test.gz') + * + * gen_test_data(fname, nelems, False) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(fname, auto_build=False) as f: + */ + __Pyx_TraceLine(479,0,__PYX_ERR(0, 479, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 479, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 479, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_fname, __pyx_t_5, Py_False}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_fname, __pyx_t_5, Py_False}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 479, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_5); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, Py_False); + __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 + * gen_test_data(fname, nelems, False) + * + * with igzip._IndexedGzipFile(fname, auto_build=False) as f: # <<<<<<<<<<<<<< + * + * # Seeking to 0 should work, but + */ + __Pyx_TraceLine(481,0,__PYX_ERR(0, 481, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); + __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_auto_build, Py_False) < 0) __PYX_ERR(0, 481, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 481, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_10; + __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":485 + * # Seeking to 0 should work, but + * # anywhere else should fail + * f.seek(0) # <<<<<<<<<<<<<< + * for off in [1, 2, 20, 200]: + * with pytest.raises(igzip.NotCoveredError): + */ + __Pyx_TraceLine(485,0,__PYX_ERR(0, 485, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 485, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 485, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":486 + * # anywhere else should fail + * f.seek(0) + * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< + * with pytest.raises(igzip.NotCoveredError): + * f.seek(off) + */ + __Pyx_TraceLine(486,0,__PYX_ERR(0, 486, __pyx_L17_error)) + __pyx_t_3 = __pyx_tuple__47; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; + for (;;) { + if (__pyx_t_15 >= 4) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 486, __pyx_L17_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":487 + * f.seek(0) + * for off in [1, 2, 20, 200]: + * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< + * f.seek(off) + * + */ + __Pyx_TraceLine(487,0,__PYX_ERR(0, 487, __pyx_L17_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pytest); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_igzip); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_10, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":488 + * for off in [1, 2, 20, 200]: + * with pytest.raises(igzip.NotCoveredError): + * f.seek(off) # <<<<<<<<<<<<<< + * + * # Reading from beginning should work + */ + __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L31_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 488, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_off) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_off); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 488, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":487 + * f.seek(0) + * for off in [1, 2, 20, 200]: + * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< + * f.seek(off) + * + */ + } + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + goto __pyx_L38_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 487, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 487, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_10, NULL); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 487, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_21 < 0) __PYX_ERR(0, 487, __pyx_L33_except_error) + __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); + if (__pyx_t_22) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_1); + __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 487, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); + goto __pyx_L17_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); + __pyx_L38_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_16) { + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L42; + __pyx_L25_error:; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L17_error; + __pyx_L42:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":486 + * # anywhere else should fail + * f.seek(0) + * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< + * with pytest.raises(igzip.NotCoveredError): + * f.seek(off) + */ + __Pyx_TraceLine(486,0,__PYX_ERR(0, 486, __pyx_L17_error)) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":491 + * + * # Reading from beginning should work + * readval = read_element(f, 0, seek=False) # <<<<<<<<<<<<<< + * assert readval == 0 + * + */ + __Pyx_TraceLine(491,0,__PYX_ERR(0, 491, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_f); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_0); + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 491, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 491, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 491, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_readval = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":492 + * # Reading from beginning should work + * readval = read_element(f, 0, seek=False) + * assert readval == 0 # <<<<<<<<<<<<<< + * + * # but subsequent reads should fail + */ + __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 492, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 492, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_22)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 492, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":496 + * # but subsequent reads should fail + * # (n.b. this might change in the future) + * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< + * readval = read_element(f, 1, seek=False) + * + */ + __Pyx_TraceLine(496,0,__PYX_ERR(0, 496, __pyx_L17_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L43_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L43_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_19, &__pyx_t_18, &__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_17); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":497 + * # (n.b. this might change in the future) + * with pytest.raises(igzip.NotCoveredError): + * readval = read_element(f, 1, seek=False) # <<<<<<<<<<<<<< + * + * # Seek should still fail even after read + */ + __Pyx_TraceLine(497,0,__PYX_ERR(0, 497, __pyx_L47_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 497, __pyx_L47_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L47_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_f); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_1); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L47_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 497, __pyx_L47_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 497, __pyx_L47_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":496 + * # but subsequent reads should fail + * # (n.b. this might change in the future) + * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< + * readval = read_element(f, 1, seek=False) + * + */ + } + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + goto __pyx_L52_try_end; + __pyx_L47_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 496, __pyx_L49_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 496, __pyx_L49_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 496, __pyx_L49_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_22 < 0) __PYX_ERR(0, 496, __pyx_L49_except_error) + __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); + if (__pyx_t_21) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 496, __pyx_L49_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L48_exception_handled; + } + __pyx_L49_except_error:; + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_18, __pyx_t_17); + goto __pyx_L17_error; + __pyx_L48_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_18, __pyx_t_17); + __pyx_L52_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_16) { + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + } + goto __pyx_L46; + } + __pyx_L46:; + } + goto __pyx_L56; + __pyx_L43_error:; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L17_error; + __pyx_L56:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":500 + * + * # Seek should still fail even after read + * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< + * f.seek(8) + * + */ + __Pyx_TraceLine(500,0,__PYX_ERR(0, 500, __pyx_L17_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 500, __pyx_L57_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L57_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":501 + * # Seek should still fail even after read + * with pytest.raises(igzip.NotCoveredError): + * f.seek(8) # <<<<<<<<<<<<<< + * + * # But reading from beginning should still work + */ + __Pyx_TraceLine(501,0,__PYX_ERR(0, 501, __pyx_L61_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 501, __pyx_L61_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L61_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":500 + * + * # Seek should still fail even after read + * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< + * f.seek(8) + * + */ + } + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + goto __pyx_L66_try_end; + __pyx_L61_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 500, __pyx_L63_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L63_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 500, __pyx_L63_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_21 < 0) __PYX_ERR(0, 500, __pyx_L63_except_error) + __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); + if (__pyx_t_22) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 500, __pyx_L63_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L62_exception_handled; + } + __pyx_L63_except_error:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); + goto __pyx_L17_error; + __pyx_L62_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); + __pyx_L66_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_16) { + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + } + goto __pyx_L60; + } + __pyx_L60:; + } + goto __pyx_L70; + __pyx_L57_error:; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L17_error; + __pyx_L70:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":504 + * + * # But reading from beginning should still work + * f.seek(0) # <<<<<<<<<<<<<< + * readval = read_element(f, 0, seek=False) + * assert readval == 0 + */ + __Pyx_TraceLine(504,0,__PYX_ERR(0, 504, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 504, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 504, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":505 + * # But reading from beginning should still work + * f.seek(0) + * readval = read_element(f, 0, seek=False) # <<<<<<<<<<<<<< + * assert readval == 0 + * + */ + __Pyx_TraceLine(505,0,__PYX_ERR(0, 505, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 505, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 505, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_f); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_0); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 505, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 505, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 505, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":506 + * f.seek(0) + * readval = read_element(f, 0, seek=False) + * assert readval == 0 # <<<<<<<<<<<<<< + * + * # But after building the index, + */ + __Pyx_TraceLine(506,0,__PYX_ERR(0, 506, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 506, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_22)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 506, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":510 + * # But after building the index, + * # seeking and reading should work + * f.build_full_index() # <<<<<<<<<<<<<< + * + * for i in range(5): + */ + __Pyx_TraceLine(510,0,__PYX_ERR(0, 510, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 510, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 510, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":512 + * f.build_full_index() + * + * for i in range(5): # <<<<<<<<<<<<<< + * element = np.random.randint(0, nelems, 1) + * readval = read_element(f, element) + */ + __Pyx_TraceLine(512,0,__PYX_ERR(0, 512, __pyx_L17_error)) + for (__pyx_t_23 = 0; __pyx_t_23 < 5; __pyx_t_23+=1) { + __pyx_v_i = __pyx_t_23; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":513 + * + * for i in range(5): + * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< + * readval = read_element(f, element) + * assert readval == element + */ + __Pyx_TraceLine(513,0,__PYX_ERR(0, 513, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_2, __pyx_int_1}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_2, __pyx_int_1}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + { + __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_int_0); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_2); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, __pyx_int_1); + __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":514 + * for i in range(5): + * element = np.random.randint(0, nelems, 1) + * readval = read_element(f, element) # <<<<<<<<<<<<<< + * assert readval == element + * + */ + __Pyx_TraceLine(514,0,__PYX_ERR(0, 514, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 514, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_f, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_f, __pyx_v_element}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 514, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_10) { + __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL; + } + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_f); + __Pyx_INCREF(__pyx_v_element); + __Pyx_GIVEREF(__pyx_v_element); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_v_element); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":515 + * element = np.random.randint(0, nelems, 1) + * readval = read_element(f, element) + * assert readval == element # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(515,0,__PYX_ERR(0, 515, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L17_error) + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 515, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_22)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 515, __pyx_L17_error) + } + } + #endif + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 + * gen_test_data(fname, nelems, False) + * + * with igzip._IndexedGzipFile(fname, auto_build=False) as f: # <<<<<<<<<<<<<< + * + * # Seeking to 0 should work, but + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 481, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 481, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 481, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_22 < 0) __PYX_ERR(0, 481, __pyx_L19_except_error) + __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); + if (__pyx_t_21) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 481, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L76; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L76:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":475 + * + * def test_manual_build(): + * with tempdir() as td: # <<<<<<<<<<<<<< + * nelems = 65536 + * fname = op.join(td, 'test.gz') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 475, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 475, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 475, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_21 < 0) __PYX_ERR(0, 475, __pyx_L9_except_error) + __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); + if (__pyx_t_22) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 475, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 475, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L80; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L80:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 + * + * + * def test_manual_build(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * nelems = 65536 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_off); + __Pyx_XDECREF(__pyx_v_readval); + __Pyx_XDECREF(__pyx_v_element); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":518 + * + * + * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< + * + * if use_mmap: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all = {"test_read_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_use_mmap = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_read_all (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_use_mmap,&__pyx_n_s_drop,0}; + PyObject* values[4] = {0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 1); __PYX_ERR(0, 518, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 2); __PYX_ERR(0, 518, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 3); __PYX_ERR(0, 518, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_all") < 0)) __PYX_ERR(0, 518, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + __pyx_v_use_mmap = values[2]; + __pyx_v_drop = values[3]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 518, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read_all(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_use_mmap, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + int __pyx_t_12; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__48) + __Pyx_RefNannySetupContext("test_read_all", 0); + __Pyx_TraceCall("test_read_all", __pyx_f[0], 518, 0, __PYX_ERR(0, 518, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":520 + * def test_read_all(testfile, nelems, use_mmap, drop): + * + * if use_mmap: # <<<<<<<<<<<<<< + * pytest.skip('skipping test_read_all test as ' + * 'it will require too much memory') + */ + __Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 520, __pyx_L1_error) + if (__pyx_t_1) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":521 + * + * if use_mmap: + * pytest.skip('skipping test_read_all test as ' # <<<<<<<<<<<<<< + * 'it will require too much memory') + * + */ + __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 521, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_s_skipping_test_read_all_test_as_i) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_skipping_test_read_all_test_as_i); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 521, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":520 + * def test_read_all(testfile, nelems, use_mmap, drop): + * + * if use_mmap: # <<<<<<<<<<<<<< + * pytest.skip('skipping test_read_all test as ' + * 'it will require too much memory') + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":524 + * 'it will require too much memory') + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * data = f.read(nelems * 8) + * + */ + __Pyx_TraceLine(524,0,__PYX_ERR(0, 524, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 524, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 524, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 524, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + __pyx_v_f = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + * data = f.read(nelems * 8) # <<<<<<<<<<<<<< + * + * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) + */ + __Pyx_TraceLine(525,0,__PYX_ERR(0, 525, __pyx_L8_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 525, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_data = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":524 + * 'it will require too much memory') + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * data = f.read(nelems * 8) + * + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L13_try_end; + __pyx_L8_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 524, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 524, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 524, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_1 < 0) __PYX_ERR(0, 524, __pyx_L10_except_error) + __pyx_t_11 = ((!(__pyx_t_1 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_3, __pyx_t_2); + __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 524, __pyx_L10_except_error) + } + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L9_exception_handled; + } + __pyx_L10_except_error:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + goto __pyx_L1_error; + __pyx_L9_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_L13_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_5) { + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 524, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + goto __pyx_L7; + } + __pyx_L7:; + } + goto __pyx_L17; + __pyx_L4_error:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L1_error; + __pyx_L17:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":527 + * data = f.read(nelems * 8) + * + * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) # <<<<<<<<<<<<<< + * + * # Check that every value is valid + */ + __Pyx_TraceLine(527,0,__PYX_ERR(0, 527, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 527, __pyx_L1_error) } + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_v_data) < 0) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_6); + __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":530 + * + * # Check that every value is valid + * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(530,0,__PYX_ERR(0, 530, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 530, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 530, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 530, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 530, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_data); + __Pyx_GIVEREF(__pyx_v_data); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_v_data); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_int_0); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 530, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 530, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 530, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":518 + * + * + * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< + * + * if use_mmap: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":533 + * + * + * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< + * + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding = {"test_simple_read_with_null_padding", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_simple_read_with_null_padding (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simple_read_with_null_padding(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simple_read_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_fileobj = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__49) + __Pyx_RefNannySetupContext("test_simple_read_with_null_padding", 0); + __Pyx_TraceCall("test_simple_read_with_null_padding", __pyx_f[0], 533, 0, __PYX_ERR(0, 533, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":536 + * + * + * fileobj = BytesIO() # <<<<<<<<<<<<<< + * + * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: + */ + __Pyx_TraceLine(536,0,__PYX_ERR(0, 536, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 536, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fileobj = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":538 + * fileobj = BytesIO() + * + * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< + * f.write(b"hello world") + * + */ + __Pyx_TraceLine(538,0,__PYX_ERR(0, 538, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 538, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 538, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 538, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":539 + * + * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: + * f.write(b"hello world") # <<<<<<<<<<<<<< + * + * fileobj.write(b"\0" * 100) + */ + __Pyx_TraceLine(539,0,__PYX_ERR(0, 539, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_kp_b_hello_world) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b_hello_world); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 539, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":538 + * fileobj = BytesIO() + * + * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< + * f.write(b"hello world") + * + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_simple_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 538, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 538, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 538, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_10 < 0) __PYX_ERR(0, 538, __pyx_L9_except_error) + __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 538, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":541 + * f.write(b"hello world") + * + * fileobj.write(b"\0" * 100) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: + */ + __Pyx_TraceLine(541,0,__PYX_ERR(0, 541, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__50) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__50); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":543 + * fileobj.write(b"\0" * 100) + * + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< + * assert f.read() == b"hello world" + * f.seek(3) + */ + __Pyx_TraceLine(543,0,__PYX_ERR(0, 543, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 543, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":544 + * + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: + * assert f.read() == b"hello world" # <<<<<<<<<<<<<< + * f.seek(3) + * assert f.read() == b"lo world" + */ + __Pyx_TraceLine(544,0,__PYX_ERR(0, 544, __pyx_L21_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 544, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_hello_world, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 544, __pyx_L21_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 544, __pyx_L21_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":545 + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: + * assert f.read() == b"hello world" + * f.seek(3) # <<<<<<<<<<<<<< + * assert f.read() == b"lo world" + * f.seek(20) + */ + __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L21_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":546 + * assert f.read() == b"hello world" + * f.seek(3) + * assert f.read() == b"lo world" # <<<<<<<<<<<<<< + * f.seek(20) + * assert f.read() == b"" + */ + __Pyx_TraceLine(546,0,__PYX_ERR(0, 546, __pyx_L21_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 546, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_lo_world, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 546, __pyx_L21_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 546, __pyx_L21_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":547 + * f.seek(3) + * assert f.read() == b"lo world" + * f.seek(20) # <<<<<<<<<<<<<< + * assert f.read() == b"" + * + */ + __Pyx_TraceLine(547,0,__PYX_ERR(0, 547, __pyx_L21_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 547, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_20) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_20); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 547, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":548 + * assert f.read() == b"lo world" + * f.seek(20) + * assert f.read() == b"" # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L21_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 548, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 548, __pyx_L21_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 548, __pyx_L21_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":543 + * fileobj.write(b"\0" * 100) + * + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< + * assert f.read() == b"hello world" + * f.seek(3) + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L26_try_end; + __pyx_L21_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_simple_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 543, __pyx_L23_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 543, __pyx_L23_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 543, __pyx_L23_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_11 < 0) __PYX_ERR(0, 543, __pyx_L23_except_error) + __pyx_t_10 = ((!(__pyx_t_11 != 0)) != 0); + if (__pyx_t_10) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 543, __pyx_L23_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L22_exception_handled; + } + __pyx_L23_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + goto __pyx_L1_error; + __pyx_L22_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + __pyx_L26_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + goto __pyx_L20; + } + __pyx_L20:; + } + goto __pyx_L30; + __pyx_L17_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L30:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":533 + * + * + * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< + * + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_simple_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fileobj); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 + * + * + * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< + * + * if use_mmap: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding = {"test_read_with_null_padding", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_use_mmap = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_read_with_null_padding (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_use_mmap,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, 1); __PYX_ERR(0, 551, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, 2); __PYX_ERR(0, 551, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_with_null_padding") < 0)) __PYX_ERR(0, 551, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + __pyx_v_use_mmap = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 551, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read_with_null_padding(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_use_mmap); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap) { + PyObject *__pyx_v_fileobj = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + int __pyx_t_13; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__51) + __Pyx_RefNannySetupContext("test_read_with_null_padding", 0); + __Pyx_TraceCall("test_read_with_null_padding", __pyx_f[0], 551, 0, __PYX_ERR(0, 551, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":553 + * def test_read_with_null_padding(testfile, nelems, use_mmap): + * + * if use_mmap: # <<<<<<<<<<<<<< + * pytest.skip('skipping test_read_with_null_padding test ' + * 'as it will require too much memory') + */ + __Pyx_TraceLine(553,0,__PYX_ERR(0, 553, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 553, __pyx_L1_error) + if (__pyx_t_1) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":554 + * + * if use_mmap: + * pytest.skip('skipping test_read_with_null_padding test ' # <<<<<<<<<<<<<< + * 'as it will require too much memory') + * + */ + __Pyx_TraceLine(554,0,__PYX_ERR(0, 554, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 554, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 554, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_s_skipping_test_read_with_null_pad) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_skipping_test_read_with_null_pad); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 554, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":553 + * def test_read_with_null_padding(testfile, nelems, use_mmap): + * + * if use_mmap: # <<<<<<<<<<<<<< + * pytest.skip('skipping test_read_with_null_padding test ' + * 'as it will require too much memory') + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":557 + * 'as it will require too much memory') + * + * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: + */ + __Pyx_TraceLine(557,0,__PYX_ERR(0, 557, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_kp_b__50); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_fileobj = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":559 + * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) + * + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< + * data = f.read(nelems * 8) + * # Read a bit further so we reach the zero-padded area. + */ + __Pyx_TraceLine(559,0,__PYX_ERR(0, 559, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 559, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 559, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 559, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 559, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 559, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L4_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __pyx_v_f = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":560 + * + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: + * data = f.read(nelems * 8) # <<<<<<<<<<<<<< + * # Read a bit further so we reach the zero-padded area. + * # This line should not throw an exception. + */ + __Pyx_TraceLine(560,0,__PYX_ERR(0, 560, __pyx_L8_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 560, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 560, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 560, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_data = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":563 + * # Read a bit further so we reach the zero-padded area. + * # This line should not throw an exception. + * f.read(1) # <<<<<<<<<<<<<< + * + * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) + */ + __Pyx_TraceLine(563,0,__PYX_ERR(0, 563, __pyx_L8_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 563, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 563, __pyx_L8_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":559 + * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) + * + * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< + * data = f.read(nelems * 8) + * # Read a bit further so we reach the zero-padded area. + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L13_try_end; + __pyx_L8_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 559, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 559, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 559, __pyx_L10_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_1 < 0) __PYX_ERR(0, 559, __pyx_L10_except_error) + __pyx_t_12 = ((!(__pyx_t_1 != 0)) != 0); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2); + __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 559, __pyx_L10_except_error) + } + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L9_exception_handled; + } + __pyx_L10_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L1_error; + __pyx_L9_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L13_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_7) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 559, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L7; + } + __pyx_L7:; + } + goto __pyx_L17; + __pyx_L4_error:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L1_error; + __pyx_L17:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":565 + * f.read(1) + * + * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) # <<<<<<<<<<<<<< + * + * # Check that every value is valid + */ + __Pyx_TraceLine(565,0,__PYX_ERR(0, 565, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 565, __pyx_L1_error) } + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_v_data) < 0) __PYX_ERR(0, 565, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":568 + * + * # Check that every value is valid + * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(568,0,__PYX_ERR(0, 568, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_13 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_13 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_data); + __Pyx_GIVEREF(__pyx_v_data); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_13, __pyx_v_data); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_13, __pyx_int_0); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 568, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 + * + * + * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< + * + * if use_mmap: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fileobj); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":571 + * + * + * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< + * with tempdir() as tdir: + * nelems = 65536 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end = {"test_read_beyond_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_concat = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_read_beyond_end (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_concat,&__pyx_n_s_drop,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_concat)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_beyond_end", 1, 2, 2, 1); __PYX_ERR(0, 571, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_beyond_end") < 0)) __PYX_ERR(0, 571, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_concat = values[0]; + __pyx_v_drop = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_read_beyond_end", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 571, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read_beyond_end(__pyx_self, __pyx_v_concat, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read_beyond_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_tdir = NULL; + PyObject *__pyx_v_nelems = NULL; + PyObject *__pyx_v_testfile = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_data1 = NULL; + PyObject *__pyx_v_data2 = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + int __pyx_t_16; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__52) + __Pyx_RefNannySetupContext("test_read_beyond_end", 0); + __Pyx_TraceCall("test_read_beyond_end", __pyx_f[0], 571, 0, __PYX_ERR(0, 571, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":572 + * + * def test_read_beyond_end(concat, drop): + * with tempdir() as tdir: # <<<<<<<<<<<<<< + * nelems = 65536 + * testfile = op.join(tdir, 'test.gz') + */ + __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_tdir = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":573 + * def test_read_beyond_end(concat, drop): + * with tempdir() as tdir: + * nelems = 65536 # <<<<<<<<<<<<<< + * testfile = op.join(tdir, 'test.gz') + * + */ + __Pyx_TraceLine(573,0,__PYX_ERR(0, 573, __pyx_L7_error)) + __Pyx_INCREF(__pyx_int_65536); + __pyx_v_nelems = __pyx_int_65536; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":574 + * with tempdir() as tdir: + * nelems = 65536 + * testfile = op.join(tdir, 'test.gz') # <<<<<<<<<<<<<< + * + * gen_test_data(testfile, nelems, concat) + */ + __Pyx_TraceLine(574,0,__PYX_ERR(0, 574, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 574, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 574, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 574, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 574, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_tdir); + __Pyx_GIVEREF(__pyx_v_tdir); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_tdir); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 574, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_testfile = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":576 + * testfile = op.join(tdir, 'test.gz') + * + * gen_test_data(testfile, nelems, concat) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, + */ + __Pyx_TraceLine(576,0,__PYX_ERR(0, 576, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 576, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_concat}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_concat}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 576, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_testfile); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_nelems); + __Pyx_INCREF(__pyx_v_concat); + __Pyx_GIVEREF(__pyx_v_concat); + PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 + * gen_test_data(testfile, nelems, concat) + * + * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * readall_buf_size=1024, + * drop_handles=drop) as f: + */ + __Pyx_TraceLine(578,0,__PYX_ERR(0, 578, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 578, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_readall_buf_size, __pyx_int_1024) < 0) __PYX_ERR(0, 578, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":580 + * with igzip._IndexedGzipFile(filename=testfile, + * readall_buf_size=1024, + * drop_handles=drop) as f: # <<<<<<<<<<<<<< + * # Try with a specific number of bytes + * data1 = f.read(nelems * 8 + 10) + */ + __Pyx_TraceLine(580,0,__PYX_ERR(0, 580, __pyx_L7_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 578, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 + * gen_test_data(testfile, nelems, concat) + * + * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * readall_buf_size=1024, + * drop_handles=drop) as f: + */ + __Pyx_TraceLine(578,0,__PYX_ERR(0, 578, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 578, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 578, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":582 + * drop_handles=drop) as f: + * # Try with a specific number of bytes + * data1 = f.read(nelems * 8 + 10) # <<<<<<<<<<<<<< + * + * # And also with unspecified numbytes + */ + __Pyx_TraceLine(582,0,__PYX_ERR(0, 582, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 582, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 582, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 582, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_data1 = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":585 + * + * # And also with unspecified numbytes + * f.seek(0) # <<<<<<<<<<<<<< + * data2 = f.read() + * + */ + __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":586 + * # And also with unspecified numbytes + * f.seek(0) + * data2 = f.read() # <<<<<<<<<<<<<< + * + * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) + */ + __Pyx_TraceLine(586,0,__PYX_ERR(0, 586, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 586, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_data2 = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 + * gen_test_data(testfile, nelems, concat) + * + * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< + * readall_buf_size=1024, + * drop_handles=drop) as f: + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 578, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 578, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 578, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 578, __pyx_L19_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 578, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":588 + * data2 = f.read() + * + * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) # <<<<<<<<<<<<<< + * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) + * assert check_data_valid(data1, 0) + */ + __Pyx_TraceLine(588,0,__PYX_ERR(0, 588, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_v_data1)) { __Pyx_RaiseUnboundLocalError("data1"); __PYX_ERR(0, 588, __pyx_L7_error) } + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_v_data1) < 0) __PYX_ERR(0, 588, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_data1, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":589 + * + * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) + * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) # <<<<<<<<<<<<<< + * assert check_data_valid(data1, 0) + * assert check_data_valid(data2, 0) + */ + __Pyx_TraceLine(589,0,__PYX_ERR(0, 589, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_v_data2)) { __Pyx_RaiseUnboundLocalError("data2"); __PYX_ERR(0, 589, __pyx_L7_error) } + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_buffer, __pyx_v_data2) < 0) __PYX_ERR(0, 589, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_data2, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":590 + * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) + * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) + * assert check_data_valid(data1, 0) # <<<<<<<<<<<<<< + * assert check_data_valid(data2, 0) + * + */ + __Pyx_TraceLine(590,0,__PYX_ERR(0, 590, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 590, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data1, __pyx_int_0}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data1, __pyx_int_0}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 590, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_data1); + __Pyx_GIVEREF(__pyx_v_data1); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_data1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_int_0); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 590, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 590, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":591 + * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) + * assert check_data_valid(data1, 0) + * assert check_data_valid(data2, 0) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(591,0,__PYX_ERR(0, 591, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 591, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_data2, __pyx_int_0}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_data2, __pyx_int_0}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 591, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_data2); + __Pyx_GIVEREF(__pyx_v_data2); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_data2); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_int_0); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 591, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 591, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":572 + * + * def test_read_beyond_end(concat, drop): + * with tempdir() as tdir: # <<<<<<<<<<<<<< + * nelems = 65536 + * testfile = op.join(tdir, 'test.gz') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 572, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 572, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 572, __pyx_L9_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 572, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L30; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L30:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":571 + * + * + * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< + * with tempdir() as tdir: + * nelems = 65536 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_tdir); + __Pyx_XDECREF(__pyx_v_nelems); + __Pyx_XDECREF(__pyx_v_testfile); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_data1); + __Pyx_XDECREF(__pyx_v_data2); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":594 + * + * + * def test_seek(concat): # <<<<<<<<<<<<<< + * with tempdir() as tdir: + * nelems = 262144 # == 2MB + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek(PyObject *__pyx_self, PyObject *__pyx_v_concat); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek = {"test_seek", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek(PyObject *__pyx_self, PyObject *__pyx_v_concat) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seek (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek(__pyx_self, ((PyObject *)__pyx_v_concat)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat) { + PyObject *__pyx_v_tdir = NULL; + long __pyx_v_nelems; + PyObject *__pyx_v_testfile = NULL; + PyObject *__pyx_v_results = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_expected = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + int __pyx_t_21; + int __pyx_t_22; + Py_ssize_t __pyx_t_23; + PyObject *(*__pyx_t_24)(PyObject *); + PyObject *__pyx_t_25 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__53) + __Pyx_RefNannySetupContext("test_seek", 0); + __Pyx_TraceCall("test_seek", __pyx_f[0], 594, 0, __PYX_ERR(0, 594, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":595 + * + * def test_seek(concat): + * with tempdir() as tdir: # <<<<<<<<<<<<<< + * nelems = 262144 # == 2MB + * testfile = op.join(tdir, 'test.gz') + */ + __Pyx_TraceLine(595,0,__PYX_ERR(0, 595, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_tdir = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":596 + * def test_seek(concat): + * with tempdir() as tdir: + * nelems = 262144 # == 2MB # <<<<<<<<<<<<<< + * testfile = op.join(tdir, 'test.gz') + * gen_test_data(testfile, nelems, concat) + */ + __Pyx_TraceLine(596,0,__PYX_ERR(0, 596, __pyx_L7_error)) + __pyx_v_nelems = 0x40000; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":597 + * with tempdir() as tdir: + * nelems = 262144 # == 2MB + * testfile = op.join(tdir, 'test.gz') # <<<<<<<<<<<<<< + * gen_test_data(testfile, nelems, concat) + * + */ + __Pyx_TraceLine(597,0,__PYX_ERR(0, 597, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_tdir); + __Pyx_GIVEREF(__pyx_v_tdir); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_tdir); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_testfile = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":598 + * nelems = 262144 # == 2MB + * testfile = op.join(tdir, 'test.gz') + * gen_test_data(testfile, nelems, concat) # <<<<<<<<<<<<<< + * + * results = [] + */ + __Pyx_TraceLine(598,0,__PYX_ERR(0, 598, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 598, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, __pyx_v_concat}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, __pyx_v_concat}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 598, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_v_testfile); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_5); + __Pyx_INCREF(__pyx_v_concat); + __Pyx_GIVEREF(__pyx_v_concat); + PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, __pyx_v_concat); + __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":600 + * gen_test_data(testfile, nelems, concat) + * + * results = [] # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: + */ + __Pyx_TraceLine(600,0,__PYX_ERR(0, 600, __pyx_L7_error)) + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_results = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":602 + * results = [] + * + * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: # <<<<<<<<<<<<<< + * + * results.append((f.read(8), 0)) + */ + __Pyx_TraceLine(602,0,__PYX_ERR(0, 602, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); + __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 602, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 602, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 602, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 602, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 602, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_10; + __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":604 + * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: + * + * results.append((f.read(8), 0)) # <<<<<<<<<<<<<< + * + * f.seek(24, SEEK_SET) + */ + __Pyx_TraceLine(604,0,__PYX_ERR(0, 604, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 604, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 604, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_0); + __pyx_t_3 = 0; + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 604, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":606 + * results.append((f.read(8), 0)) + * + * f.seek(24, SEEK_SET) # <<<<<<<<<<<<<< + * results.append((f.read(8), 3)) + * + */ + __Pyx_TraceLine(606,0,__PYX_ERR(0, 606, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 606, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = __Pyx_PyInt_From_int(SEEK_SET); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 606, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_24, __pyx_t_10}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_24, __pyx_t_10}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_int_24); + __Pyx_GIVEREF(__pyx_int_24); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_int_24); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":607 + * + * f.seek(24, SEEK_SET) + * results.append((f.read(8), 3)) # <<<<<<<<<<<<<< + * + * f.seek(-16, SEEK_CUR) + */ + __Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 607, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 607, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 607, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_INCREF(__pyx_int_3); + __Pyx_GIVEREF(__pyx_int_3); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_3); + __pyx_t_5 = 0; + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_3); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 607, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":609 + * results.append((f.read(8), 3)) + * + * f.seek(-16, SEEK_CUR) # <<<<<<<<<<<<<< + * results.append((f.read(8), 2)) + * + */ + __Pyx_TraceLine(609,0,__PYX_ERR(0, 609, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_neg_16, __pyx_t_1}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_neg_16, __pyx_t_1}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_10) { + __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL; + } + __Pyx_INCREF(__pyx_int_neg_16); + __Pyx_GIVEREF(__pyx_int_neg_16); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_int_neg_16); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":610 + * + * f.seek(-16, SEEK_CUR) + * results.append((f.read(8), 2)) # <<<<<<<<<<<<<< + * + * f.seek(16, SEEK_CUR) + */ + __Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 610, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 610, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 610, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_INCREF(__pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_2); + __pyx_t_3 = 0; + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 610, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":612 + * results.append((f.read(8), 2)) + * + * f.seek(16, SEEK_CUR) # <<<<<<<<<<<<<< + * results.append((f.read(8), 5)) + * + */ + __Pyx_TraceLine(612,0,__PYX_ERR(0, 612, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 612, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 612, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_int_16, __pyx_t_2}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_int_16, __pyx_t_2}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + { + __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 612, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_16); + __Pyx_GIVEREF(__pyx_int_16); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_int_16); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":613 + * + * f.seek(16, SEEK_CUR) + * results.append((f.read(8), 5)) # <<<<<<<<<<<<<< + * + * # SEEK_END only works when index is built + */ + __Pyx_TraceLine(613,0,__PYX_ERR(0, 613, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_10, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_INCREF(__pyx_int_5); + __Pyx_GIVEREF(__pyx_int_5); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_5); + __pyx_t_5 = 0; + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_3); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 613, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":616 + * + * # SEEK_END only works when index is built + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * f.seek(-100, SEEK_END) + * + */ + __Pyx_TraceLine(616,0,__PYX_ERR(0, 616, __pyx_L17_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 616, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 616, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 616, __pyx_L23_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":617 + * # SEEK_END only works when index is built + * with pytest.raises(ValueError): + * f.seek(-100, SEEK_END) # <<<<<<<<<<<<<< + * + * f.build_full_index() + */ + __Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L27_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 617, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_10)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_neg_100, __pyx_t_5}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L27_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_neg_100, __pyx_t_5}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L27_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_int_neg_100); + __Pyx_GIVEREF(__pyx_int_neg_100); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_int_neg_100); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":616 + * + * # SEEK_END only works when index is built + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * f.seek(-100, SEEK_END) + * + */ + } + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + goto __pyx_L32_try_end; + __pyx_L27_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_1) < 0) __PYX_ERR(0, 616, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 616, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_21 < 0) __PYX_ERR(0, 616, __pyx_L29_except_error) + __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); + if (__pyx_t_22) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_10, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 616, __pyx_L29_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L28_exception_handled; + } + __pyx_L29_except_error:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); + goto __pyx_L17_error; + __pyx_L28_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); + __pyx_L32_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_16) { + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 616, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + } + goto __pyx_L26; + } + __pyx_L26:; + } + goto __pyx_L36; + __pyx_L23_error:; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L17_error; + __pyx_L36:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":619 + * f.seek(-100, SEEK_END) + * + * f.build_full_index() # <<<<<<<<<<<<<< + * + * f.seek(-800, SEEK_END) + */ + __Pyx_TraceLine(619,0,__PYX_ERR(0, 619, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 619, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 619, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":621 + * f.build_full_index() + * + * f.seek(-800, SEEK_END) # <<<<<<<<<<<<<< + * results.append((f.read(8), 262044)) + * + */ + __Pyx_TraceLine(621,0,__PYX_ERR(0, 621, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 621, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 621, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_10)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_int_neg_800, __pyx_t_3}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_int_neg_800, __pyx_t_3}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 621, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_int_neg_800); + __Pyx_GIVEREF(__pyx_int_neg_800); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_int_neg_800); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":622 + * + * f.seek(-800, SEEK_END) + * results.append((f.read(8), 262044)) # <<<<<<<<<<<<<< + * + * f.seek(-3200, SEEK_END) + */ + __Pyx_TraceLine(622,0,__PYX_ERR(0, 622, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 622, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 622, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); + __Pyx_INCREF(__pyx_int_262044); + __Pyx_GIVEREF(__pyx_int_262044); + PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_int_262044); + __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_10); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 622, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":624 + * results.append((f.read(8), 262044)) + * + * f.seek(-3200, SEEK_END) # <<<<<<<<<<<<<< + * results.append((f.read(8), 261744)) + * + */ + __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 624, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_neg_3200, __pyx_t_2}; + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_neg_3200, __pyx_t_2}; + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 624, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_int_neg_3200); + __Pyx_GIVEREF(__pyx_int_neg_3200); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_neg_3200); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":625 + * + * f.seek(-3200, SEEK_END) + * results.append((f.read(8), 261744)) # <<<<<<<<<<<<<< + * + * for data, expected in results: + */ + __Pyx_TraceLine(625,0,__PYX_ERR(0, 625, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 625, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 625, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 625, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_10); + __Pyx_INCREF(__pyx_int_261744); + __Pyx_GIVEREF(__pyx_int_261744); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_261744); + __pyx_t_10 = 0; + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_1); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 625, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":602 + * results = [] + * + * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: # <<<<<<<<<<<<<< + * + * results.append((f.read(8), 0)) + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 602, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 602, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_22 < 0) __PYX_ERR(0, 602, __pyx_L19_except_error) + __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); + if (__pyx_t_21) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_10, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 602, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 602, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L40; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L40:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":627 + * results.append((f.read(8), 261744)) + * + * for data, expected in results: # <<<<<<<<<<<<<< + * val = np.frombuffer(data, dtype=np.uint64) + * assert val == expected + */ + __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L7_error)) + __pyx_t_5 = __pyx_v_results; __Pyx_INCREF(__pyx_t_5); __pyx_t_23 = 0; + for (;;) { + if (__pyx_t_23 >= PyList_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_10 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_23); __Pyx_INCREF(__pyx_t_10); __pyx_t_23++; if (unlikely(0 < 0)) __PYX_ERR(0, 627, __pyx_L7_error) + #else + __pyx_t_10 = PySequence_ITEM(__pyx_t_5, __pyx_t_23); __pyx_t_23++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 627, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + #endif + if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) { + PyObject* sequence = __pyx_t_10; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 627, __pyx_L7_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_2 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 627, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 627, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_3 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 627, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_24 = Py_TYPE(__pyx_t_3)->tp_iternext; + index = 0; __pyx_t_1 = __pyx_t_24(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L43_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_2 = __pyx_t_24(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L43_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_24(__pyx_t_3), 2) < 0) __PYX_ERR(0, 627, __pyx_L7_error) + __pyx_t_24 = NULL; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L44_unpacking_done; + __pyx_L43_unpacking_failed:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_24 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 627, __pyx_L7_error) + __pyx_L44_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); + __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":628 + * + * for data, expected in results: + * val = np.frombuffer(data, dtype=np.uint64) # <<<<<<<<<<<<<< + * assert val == expected + * + */ + __Pyx_TraceLine(628,0,__PYX_ERR(0, 628, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_INCREF(__pyx_v_data); + __Pyx_GIVEREF(__pyx_v_data); + PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_data); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_25); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_25) < 0) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_25); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_25); + __pyx_t_25 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":629 + * for data, expected in results: + * val = np.frombuffer(data, dtype=np.uint64) + * assert val == expected # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(629,0,__PYX_ERR(0, 629, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_25 = PyObject_RichCompare(__pyx_v_val, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_25); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 629, __pyx_L7_error) + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_25); if (unlikely(__pyx_t_21 < 0)) __PYX_ERR(0, 629, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + if (unlikely(!__pyx_t_21)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 629, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":627 + * results.append((f.read(8), 261744)) + * + * for data, expected in results: # <<<<<<<<<<<<<< + * val = np.frombuffer(data, dtype=np.uint64) + * assert val == expected + */ + __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":595 + * + * def test_seek(concat): + * with tempdir() as tdir: # <<<<<<<<<<<<<< + * nelems = 262144 # == 2MB + * testfile = op.join(tdir, 'test.gz') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_25, &__pyx_t_1) < 0) __PYX_ERR(0, 595, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_25); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_25, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 595, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 595, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_21 < 0) __PYX_ERR(0, 595, __pyx_L9_except_error) + __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); + if (__pyx_t_22) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_25); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_25, __pyx_t_1); + __pyx_t_5 = 0; __pyx_t_25 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 595, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L48; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L48:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":594 + * + * + * def test_seek(concat): # <<<<<<<<<<<<<< + * with tempdir() as tdir: + * nelems = 262144 # == 2MB + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_25); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_tdir); + __Pyx_XDECREF(__pyx_v_testfile); + __Pyx_XDECREF(__pyx_v_results); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_expected); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 + * + * + * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read = {"test_seek_and_read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_niters = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seek_and_read (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_niters,&__pyx_n_s_seed,&__pyx_n_s_drop,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 1); __PYX_ERR(0, 632, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 2); __PYX_ERR(0, 632, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 3); __PYX_ERR(0, 632, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 4); __PYX_ERR(0, 632, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_and_read") < 0)) __PYX_ERR(0, 632, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + __pyx_v_niters = values[2]; + __pyx_v_seed = values[3]; + __pyx_v_drop = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 632, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek_and_read(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek_and_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_seekelems = NULL; + CYTHON_UNUSED PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_testval = NULL; + PyObject *__pyx_v_readval = NULL; + PyObject *__pyx_v_ft = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + Py_ssize_t __pyx_t_10; + PyObject *(*__pyx_t_11)(PyObject *); + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__54) + __Pyx_RefNannySetupContext("test_seek_and_read", 0); + __Pyx_TraceCall("test_seek_and_read", __pyx_f[0], 632, 0, __PYX_ERR(0, 632, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":634 + * def test_seek_and_read(testfile, nelems, niters, seed, drop): + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * # Pick some random elements and make + */ + __Pyx_TraceLine(634,0,__PYX_ERR(0, 634, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 634, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 634, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":638 + * # Pick some random elements and make + * # sure their values are all right + * seekelems = np.random.randint(0, nelems, niters) # <<<<<<<<<<<<<< + * + * for i, testval in enumerate(seekelems): + */ + __Pyx_TraceLine(638,0,__PYX_ERR(0, 638, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 638, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 638, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 638, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 638, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_nelems); + __Pyx_INCREF(__pyx_v_niters); + __Pyx_GIVEREF(__pyx_v_niters); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_v_niters); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_seekelems = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":640 + * seekelems = np.random.randint(0, nelems, niters) + * + * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< + * + * readval = read_element(f, testval) + */ + __Pyx_TraceLine(640,0,__PYX_ERR(0, 640, __pyx_L7_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_t_2 = __pyx_int_0; + if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { + __pyx_t_3 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; + __pyx_t_11 = NULL; + } else { + __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 640, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 640, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_11)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 640, __pyx_L7_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } else { + if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 640, __pyx_L7_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } + } else { + __pyx_t_5 = __pyx_t_11(__pyx_t_3); + if (unlikely(!__pyx_t_5)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 640, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_5); + } + __Pyx_XDECREF_SET(__pyx_v_testval, __pyx_t_5); + __pyx_t_5 = 0; + __Pyx_INCREF(__pyx_t_2); + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); + __pyx_t_2 = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":642 + * for i, testval in enumerate(seekelems): + * + * readval = read_element(f, testval) # <<<<<<<<<<<<<< + * + * ft = f.tell() + */ + __Pyx_TraceLine(642,0,__PYX_ERR(0, 642, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_12 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_f, __pyx_v_testval}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_f, __pyx_v_testval}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + { + __pyx_t_13 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 642, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + if (__pyx_t_12) { + __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL; + } + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_9, __pyx_v_f); + __Pyx_INCREF(__pyx_v_testval); + __Pyx_GIVEREF(__pyx_v_testval); + PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_9, __pyx_v_testval); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":644 + * readval = read_element(f, testval) + * + * ft = f.tell() # <<<<<<<<<<<<<< + * + * assert ft == (testval + 1) * 8 + */ + __Pyx_TraceLine(644,0,__PYX_ERR(0, 644, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 644, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 644, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":646 + * ft = f.tell() + * + * assert ft == (testval + 1) * 8 # <<<<<<<<<<<<<< + * assert readval == testval + * + */ + __Pyx_TraceLine(646,0,__PYX_ERR(0, 646, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_testval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 646, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_v_ft, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 646, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 646, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 646, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":647 + * + * assert ft == (testval + 1) * 8 + * assert readval == testval # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_testval, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L7_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 647, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 647, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":640 + * seekelems = np.random.randint(0, nelems, niters) + * + * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< + * + * readval = read_element(f, testval) + */ + __Pyx_TraceLine(640,0,__PYX_ERR(0, 640, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":634 + * def test_seek_and_read(testfile, nelems, niters, seed, drop): + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * # Pick some random elements and make + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 634, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 634, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_14 < 0) __PYX_ERR(0, 634, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_14 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 634, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L18; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L18:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 + * + * + * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_seekelems); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_testval); + __Pyx_XDECREF(__pyx_v_readval); + __Pyx_XDECREF(__pyx_v_ft); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":650 + * + * + * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell = {"test_seek_and_tell", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_niters = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + PyObject *__pyx_v_drop = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seek_and_tell (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_niters,&__pyx_n_s_seed,&__pyx_n_s_drop,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 1); __PYX_ERR(0, 650, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 2); __PYX_ERR(0, 650, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 3); __PYX_ERR(0, 650, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 4); __PYX_ERR(0, 650, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_and_tell") < 0)) __PYX_ERR(0, 650, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_testfile = values[0]; + __pyx_v_nelems = values[1]; + __pyx_v_niters = values[2]; + __pyx_v_seed = values[3]; + __pyx_v_drop = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 650, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_tell", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek_and_tell(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed, __pyx_v_drop); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek_and_tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_seeklocs = NULL; + PyObject *__pyx_v_seekloc = NULL; + PyObject *__pyx_v_st = NULL; + PyObject *__pyx_v_ft = NULL; + PyObject *__pyx_v_eofseeks = NULL; + PyObject *__pyx_v_es = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + Py_ssize_t __pyx_t_10; + PyObject *(*__pyx_t_11)(PyObject *); + int __pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__55) + __Pyx_RefNannySetupContext("test_seek_and_tell", 0); + __Pyx_TraceCall("test_seek_and_tell", __pyx_f[0], 650, 0, __PYX_ERR(0, 650, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":652 + * def test_seek_and_tell(testfile, nelems, niters, seed, drop): + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + __Pyx_TraceLine(652,0,__PYX_ERR(0, 652, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":654 + * filesize = nelems * 8 + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * # Pick some random seek positions + */ + __Pyx_TraceLine(654,0,__PYX_ERR(0, 654, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 654, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 654, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":659 + * # and make sure that seek and tell + * # return their location correctly + * seeklocs = np.random.randint(0, filesize, niters) # <<<<<<<<<<<<<< + * + * for seekloc in seeklocs: + */ + __Pyx_TraceLine(659,0,__PYX_ERR(0, 659, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 659, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 659, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 659, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_filesize, __pyx_v_niters}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_filesize, __pyx_v_niters}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 659, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_0); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_filesize); + __Pyx_INCREF(__pyx_v_niters); + __Pyx_GIVEREF(__pyx_v_niters); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_v_niters); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_seeklocs = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":661 + * seeklocs = np.random.randint(0, filesize, niters) + * + * for seekloc in seeklocs: # <<<<<<<<<<<<<< + * + * st = f.seek(seekloc) + */ + __Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L7_error)) + if (likely(PyList_CheckExact(__pyx_v_seeklocs)) || PyTuple_CheckExact(__pyx_v_seeklocs)) { + __pyx_t_2 = __pyx_v_seeklocs; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0; + __pyx_t_11 = NULL; + } else { + __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_seeklocs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 661, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 661, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_11)) { + if (likely(PyList_CheckExact(__pyx_t_2))) { + if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 661, __pyx_L7_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 661, __pyx_L7_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_11(__pyx_t_2); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 661, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_seekloc, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":663 + * for seekloc in seeklocs: + * + * st = f.seek(seekloc) # <<<<<<<<<<<<<< + * ft = f.tell() + * + */ + __Pyx_TraceLine(663,0,__PYX_ERR(0, 663, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 663, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_seekloc) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_seekloc); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 663, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_st, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":664 + * + * st = f.seek(seekloc) + * ft = f.tell() # <<<<<<<<<<<<<< + * + * assert ft == seekloc + */ + __Pyx_TraceLine(664,0,__PYX_ERR(0, 664, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 664, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 664, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":666 + * ft = f.tell() + * + * assert ft == seekloc # <<<<<<<<<<<<<< + * assert st == seekloc + * + */ + __Pyx_TraceLine(666,0,__PYX_ERR(0, 666, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_ft, __pyx_v_seekloc, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 666, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 666, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 666, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":667 + * + * assert ft == seekloc + * assert st == seekloc # <<<<<<<<<<<<<< + * + * # Also test that seeking beyond + */ + __Pyx_TraceLine(667,0,__PYX_ERR(0, 667, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_st, __pyx_v_seekloc, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 667, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 667, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 667, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":661 + * seeklocs = np.random.randint(0, filesize, niters) + * + * for seekloc in seeklocs: # <<<<<<<<<<<<<< + * + * st = f.seek(seekloc) + */ + __Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":672 + * # EOF is clamped to EOF + * eofseeks = [filesize, + * filesize + 1, # <<<<<<<<<<<<<< + * filesize + 2, + * filesize + 3, + */ + __Pyx_TraceLine(672,0,__PYX_ERR(0, 672, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 672, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":673 + * eofseeks = [filesize, + * filesize + 1, + * filesize + 2, # <<<<<<<<<<<<<< + * filesize + 3, + * filesize + 4, + */ + __Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":674 + * filesize + 1, + * filesize + 2, + * filesize + 3, # <<<<<<<<<<<<<< + * filesize + 4, + * filesize + 1000, + */ + __Pyx_TraceLine(674,0,__PYX_ERR(0, 674, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_3, 3, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 674, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":675 + * filesize + 2, + * filesize + 3, + * filesize + 4, # <<<<<<<<<<<<<< + * filesize + 1000, + * filesize * 1000] + */ + __Pyx_TraceLine(675,0,__PYX_ERR(0, 675, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_4, 4, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 675, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":676 + * filesize + 3, + * filesize + 4, + * filesize + 1000, # <<<<<<<<<<<<<< + * filesize * 1000] + * + */ + __Pyx_TraceLine(676,0,__PYX_ERR(0, 676, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 676, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":677 + * filesize + 4, + * filesize + 1000, + * filesize * 1000] # <<<<<<<<<<<<<< + * + * for es in eofseeks: + */ + __Pyx_TraceLine(677,0,__PYX_ERR(0, 677, __pyx_L7_error)) + __pyx_t_14 = PyNumber_Multiply(__pyx_v_filesize, __pyx_int_1000); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 677, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":671 + * # Also test that seeking beyond + * # EOF is clamped to EOF + * eofseeks = [filesize, # <<<<<<<<<<<<<< + * filesize + 1, + * filesize + 2, + */ + __Pyx_TraceLine(671,0,__PYX_ERR(0, 671, __pyx_L7_error)) + __pyx_t_15 = PyList_New(7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 671, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyList_SET_ITEM(__pyx_t_15, 0, __pyx_v_filesize); + __Pyx_GIVEREF(__pyx_t_2); + PyList_SET_ITEM(__pyx_t_15, 1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyList_SET_ITEM(__pyx_t_15, 2, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + PyList_SET_ITEM(__pyx_t_15, 3, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyList_SET_ITEM(__pyx_t_15, 4, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_13); + PyList_SET_ITEM(__pyx_t_15, 5, __pyx_t_13); + __Pyx_GIVEREF(__pyx_t_14); + PyList_SET_ITEM(__pyx_t_15, 6, __pyx_t_14); + __pyx_t_2 = 0; + __pyx_t_3 = 0; + __pyx_t_5 = 0; + __pyx_t_1 = 0; + __pyx_t_13 = 0; + __pyx_t_14 = 0; + __pyx_v_eofseeks = ((PyObject*)__pyx_t_15); + __pyx_t_15 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":679 + * filesize * 1000] + * + * for es in eofseeks: # <<<<<<<<<<<<<< + * assert f.seek(es) == filesize + * assert f.tell() == filesize + */ + __Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L7_error)) + __pyx_t_15 = __pyx_v_eofseeks; __Pyx_INCREF(__pyx_t_15); __pyx_t_10 = 0; + for (;;) { + if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_15)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_14 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_10); __Pyx_INCREF(__pyx_t_14); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 679, __pyx_L7_error) + #else + __pyx_t_14 = PySequence_ITEM(__pyx_t_15, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 679, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + #endif + __Pyx_XDECREF_SET(__pyx_v_es, __pyx_t_14); + __pyx_t_14 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":680 + * + * for es in eofseeks: + * assert f.seek(es) == filesize # <<<<<<<<<<<<<< + * assert f.tell() == filesize + * + */ + __Pyx_TraceLine(680,0,__PYX_ERR(0, 680, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 680, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_v_es) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_es); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 680, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = PyObject_RichCompare(__pyx_t_14, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 680, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 680, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 680, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":681 + * for es in eofseeks: + * assert f.seek(es) == filesize + * assert f.tell() == filesize # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(681,0,__PYX_ERR(0, 681, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 681, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_13 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 681, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyObject_RichCompare(__pyx_t_13, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 681, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 681, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 681, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":679 + * filesize * 1000] + * + * for es in eofseeks: # <<<<<<<<<<<<<< + * assert f.seek(es) == filesize + * assert f.tell() == filesize + */ + __Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":654 + * filesize = nelems * 8 + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * # Pick some random seek positions + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_tell", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13) < 0) __PYX_ERR(0, 654, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_GOTREF(__pyx_t_14); + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_15, __pyx_t_14, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 654, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_12 < 0) __PYX_ERR(0, 654, __pyx_L9_except_error) + __pyx_t_17 = ((!(__pyx_t_12 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_15); + __Pyx_GIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ErrRestoreWithState(__pyx_t_15, __pyx_t_14, __pyx_t_13); + __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_13 = 0; + __PYX_ERR(0, 654, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L20; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L20:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":650 + * + * + * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_tell", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_seeklocs); + __Pyx_XDECREF(__pyx_v_seekloc); + __Pyx_XDECREF(__pyx_v_st); + __Pyx_XDECREF(__pyx_v_ft); + __Pyx_XDECREF(__pyx_v_eofseeks); + __Pyx_XDECREF(__pyx_v_es); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 + * + * + * def test_pread(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * nelems = 1024 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread = {"test_pread", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_pread (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_pread(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_pread(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_td = NULL; + long __pyx_v_nelems; + PyObject *__pyx_v_testfile = NULL; + PyObject *__pyx_v_f = NULL; + CYTHON_UNUSED long __pyx_v_i; + PyObject *__pyx_v_off = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + long __pyx_t_15; + int __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + int __pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__56) + __Pyx_RefNannySetupContext("test_pread", 0); + __Pyx_TraceCall("test_pread", __pyx_f[0], 684, 0, __PYX_ERR(0, 684, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":685 + * + * def test_pread(): + * with tempdir() as td: # <<<<<<<<<<<<<< + * nelems = 1024 + * testfile = op.join(td, 'test.gz') + */ + __Pyx_TraceLine(685,0,__PYX_ERR(0, 685, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 685, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 685, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 685, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 685, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":686 + * def test_pread(): + * with tempdir() as td: + * nelems = 1024 # <<<<<<<<<<<<<< + * testfile = op.join(td, 'test.gz') + * gen_test_data(testfile, nelems, False) + */ + __Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L7_error)) + __pyx_v_nelems = 0x400; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":687 + * with tempdir() as td: + * nelems = 1024 + * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * gen_test_data(testfile, nelems, False) + * + */ + __Pyx_TraceLine(687,0,__PYX_ERR(0, 687, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 687, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 687, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 687, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 687, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 687, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 687, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_testfile = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":688 + * nelems = 1024 + * testfile = op.join(td, 'test.gz') + * gen_test_data(testfile, nelems, False) # <<<<<<<<<<<<<< + * + * with igzip.IndexedGzipFile(testfile) as f: + */ + __Pyx_TraceLine(688,0,__PYX_ERR(0, 688, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 688, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 688, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, Py_False}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, Py_False}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 688, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_v_testfile); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_5); + __Pyx_INCREF(Py_False); + __Pyx_GIVEREF(Py_False); + PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, Py_False); + __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":690 + * gen_test_data(testfile, nelems, False) + * + * with igzip.IndexedGzipFile(testfile) as f: # <<<<<<<<<<<<<< + * for i in range(20): + * off = np.random.randint(0, nelems, 1)[0] + */ + __Pyx_TraceLine(690,0,__PYX_ERR(0, 690, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 690, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_2, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_testfile); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 690, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 690, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_10; + __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 + * + * with igzip.IndexedGzipFile(testfile) as f: + * for i in range(20): # <<<<<<<<<<<<<< + * off = np.random.randint(0, nelems, 1)[0] + * data = f.pread(8, off * 8) + */ + __Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L17_error)) + for (__pyx_t_15 = 0; __pyx_t_15 < 20; __pyx_t_15+=1) { + __pyx_v_i = __pyx_t_15; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":692 + * with igzip.IndexedGzipFile(testfile) as f: + * for i in range(20): + * off = np.random.randint(0, nelems, 1)[0] # <<<<<<<<<<<<<< + * data = f.pread(8, off * 8) + * val = np.frombuffer(data, dtype=np.uint64) + */ + __Pyx_TraceLine(692,0,__PYX_ERR(0, 692, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_10, __pyx_int_1}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_10, __pyx_int_1}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } else + #endif + { + __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_int_0); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_t_10); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_int_1); + __pyx_t_10 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":693 + * for i in range(20): + * off = np.random.randint(0, nelems, 1)[0] + * data = f.pread(8, off * 8) # <<<<<<<<<<<<<< + * val = np.frombuffer(data, dtype=np.uint64) + * assert val[0] == off + */ + __Pyx_TraceLine(693,0,__PYX_ERR(0, 693, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_pread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 693, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyNumber_Multiply(__pyx_v_off, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_8, __pyx_t_1}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_8, __pyx_t_1}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L17_error) + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 693, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_10) { + __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_10); __pyx_t_10 = NULL; + } + __Pyx_INCREF(__pyx_int_8); + __Pyx_GIVEREF(__pyx_int_8); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_8); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":694 + * off = np.random.randint(0, nelems, 1)[0] + * data = f.pread(8, off * 8) + * val = np.frombuffer(data, dtype=np.uint64) # <<<<<<<<<<<<<< + * assert val[0] == off + * + */ + __Pyx_TraceLine(694,0,__PYX_ERR(0, 694, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_data); + __Pyx_GIVEREF(__pyx_v_data); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_data); + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_10); + __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":695 + * data = f.pread(8, off * 8) + * val = np.frombuffer(data, dtype=np.uint64) + * assert val[0] == off # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 695, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_10, __pyx_v_off, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 695, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 695, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 695, __pyx_L17_error) + } + } + #endif + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":690 + * gen_test_data(testfile, nelems, False) + * + * with igzip.IndexedGzipFile(testfile) as f: # <<<<<<<<<<<<<< + * for i in range(20): + * off = np.random.randint(0, nelems, 1)[0] + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_10, &__pyx_t_3) < 0) __PYX_ERR(0, 690, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 690, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 690, __pyx_L19_except_error) + __pyx_t_18 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_10, __pyx_t_3); + __pyx_t_5 = 0; __pyx_t_10 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 690, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 690, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L28; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L28:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":685 + * + * def test_pread(): + * with tempdir() as td: # <<<<<<<<<<<<<< + * nelems = 1024 + * testfile = op.join(td, 'test.gz') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 685, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 685, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 685, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_18 < 0) __PYX_ERR(0, 685, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_18 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_10, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 685, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 685, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L32; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L32:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 + * + * + * def test_pread(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * nelems = 1024 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_pread", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_testfile); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_off); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + * + * + * def test_readinto(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * line 1 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto = {"test_readinto", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto(PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_readinto (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_readinto(__pyx_self, ((PyObject *)__pyx_v_drop)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":708 + * + * + * def line_offset(idx): # <<<<<<<<<<<<<< + * return sum([len(l) for l in lines[:idx]]) + idx + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset(PyObject *__pyx_self, PyObject *__pyx_v_idx); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset = {"line_offset", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset(PyObject *__pyx_self, PyObject *__pyx_v_idx) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("line_offset (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_self, ((PyObject *)__pyx_v_idx)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(PyObject *__pyx_self, PyObject *__pyx_v_idx) { + struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *__pyx_cur_scope; + struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *__pyx_outer_scope; + PyObject *__pyx_v_l = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + PyObject *(*__pyx_t_5)(PyObject *); + Py_ssize_t __pyx_t_6; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("line_offset", 0); + __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *) __Pyx_CyFunction_GetClosure(__pyx_self); + __pyx_cur_scope = __pyx_outer_scope; + __Pyx_TraceCall("line_offset", __pyx_f[0], 708, 0, __PYX_ERR(0, 708, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":709 + * + * def line_offset(idx): + * return sum([len(l) for l in lines[:idx]]) + idx # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(709,0,__PYX_ERR(0, 709, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(!__pyx_cur_scope->__pyx_v_lines)) { __Pyx_RaiseClosureNameError("lines"); __PYX_ERR(0, 709, __pyx_L1_error) } + __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_lines, 0, 0, NULL, &__pyx_v_idx, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { + __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; + __pyx_t_5 = NULL; + } else { + __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 709, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + for (;;) { + if (likely(!__pyx_t_5)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 709, __pyx_L1_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 709, __pyx_L1_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } + } else { + __pyx_t_2 = __pyx_t_5(__pyx_t_3); + if (unlikely(!__pyx_t_2)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 709, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_2); + } + __Pyx_XDECREF_SET(__pyx_v_l, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_6 = PyObject_Length(__pyx_v_l); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":708 + * + * + * def line_offset(idx): # <<<<<<<<<<<<<< + * return sum([len(l) for l in lines[:idx]]) + idx + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto.line_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_l); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + * + * + * def test_readinto(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * line 1 + */ + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_readinto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { + struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *__pyx_cur_scope; + PyObject *__pyx_v_line_offset = 0; + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_testfile = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_buf = NULL; + PyObject *__pyx_v_offset = NULL; + PyObject *__pyx_v_filelen = NULL; + PyObject *__pyx_v_l = NULL; + CYTHON_UNUSED Py_ssize_t __pyx_v_i; + PyObject *__pyx_v_b = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_15; + int __pyx_t_16; + PyObject *(*__pyx_t_17)(PyObject *); + Py_ssize_t __pyx_t_18; + Py_ssize_t __pyx_t_19; + PyObject *__pyx_t_20 = NULL; + int __pyx_t_21; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__57) + __Pyx_RefNannySetupContext("test_readinto", 0); + __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)__pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(__pyx_ptype_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 698, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __Pyx_TraceCall("test_readinto", __pyx_f[0], 698, 0, __PYX_ERR(0, 698, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":699 + * + * def test_readinto(drop): + * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< + * line 1 + * line 2 + */ + __Pyx_TraceLine(699,0,__PYX_ERR(0, 699, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_line_1_line_2_this_is_line_3_li) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_line_1_line_2_this_is_line_3_li); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 + * line the fourth + * here is the fifth line + * """).strip().split('\n') # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(705,0,__PYX_ERR(0, 705, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 705, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 705, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 705, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__58) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__58); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 705, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GIVEREF(__pyx_t_1); + __pyx_cur_scope->__pyx_v_lines = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":708 + * + * + * def line_offset(idx): # <<<<<<<<<<<<<< + * return sum([len(l) for l in lines[:idx]]) + idx + * + */ + __Pyx_TraceLine(708,0,__PYX_ERR(0, 708, __pyx_L1_error)) + __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset, 0, __pyx_n_s_test_readinto_locals_line_offset, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 708, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_line_offset = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":712 + * + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * testfile = op.join(td, 'test.gz') + * write_text_to_gzip_file(testfile, lines) + */ + __Pyx_TraceLine(712,0,__PYX_ERR(0, 712, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 712, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + __pyx_v_td = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":713 + * + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * write_text_to_gzip_file(testfile, lines) + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + __Pyx_TraceLine(713,0,__PYX_ERR(0, 713, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 713, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 713, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 713, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_testfile = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":714 + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') + * write_text_to_gzip_file(testfile, lines) # <<<<<<<<<<<<<< + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + * + */ + __Pyx_TraceLine(714,0,__PYX_ERR(0, 714, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 714, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_testfile, __pyx_cur_scope->__pyx_v_lines}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_testfile, __pyx_cur_scope->__pyx_v_lines}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 714, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_v_testfile); + __Pyx_INCREF(__pyx_cur_scope->__pyx_v_lines); + __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_lines); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_cur_scope->__pyx_v_lines); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 + * testfile = op.join(td, 'test.gz') + * write_text_to_gzip_file(testfile, lines) + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * # read first line into a byte array + */ + __Pyx_TraceLine(715,0,__PYX_ERR(0, 715, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 715, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 715, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 715, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 715, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 715, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 715, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 715, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":718 + * + * # read first line into a byte array + * buf = bytearray(len(lines[0])) # <<<<<<<<<<<<<< + * f.seek(0) + * assert f.readinto(buf) == len(lines[0]) + */ + __Pyx_TraceLine(718,0,__PYX_ERR(0, 718, __pyx_L17_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 718, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 718, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 718, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 718, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_buf = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":719 + * # read first line into a byte array + * buf = bytearray(len(lines[0])) + * f.seek(0) # <<<<<<<<<<<<<< + * assert f.readinto(buf) == len(lines[0]) + * assert buf.decode() == lines[0] + */ + __Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 719, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":720 + * buf = bytearray(len(lines[0])) + * f.seek(0) + * assert f.readinto(buf) == len(lines[0]) # <<<<<<<<<<<<<< + * assert buf.decode() == lines[0] + * + */ + __Pyx_TraceLine(720,0,__PYX_ERR(0, 720, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 720, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 720, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 720, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 720, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 720, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":721 + * f.seek(0) + * assert f.readinto(buf) == len(lines[0]) + * assert buf.decode() == lines[0] # <<<<<<<<<<<<<< + * + * # read first line into memoryvew + */ + __Pyx_TraceLine(721,0,__PYX_ERR(0, 721, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 721, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 721, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 721, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 721, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":724 + * + * # read first line into memoryvew + * buf = memoryview(bytearray(len(lines[0]))) # <<<<<<<<<<<<<< + * f.seek(0) + * assert f.readinto(buf) == len(lines[0]) + */ + __Pyx_TraceLine(724,0,__PYX_ERR(0, 724, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_memoryview); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 724, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 724, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 724, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":725 + * # read first line into memoryvew + * buf = memoryview(bytearray(len(lines[0]))) + * f.seek(0) # <<<<<<<<<<<<<< + * assert f.readinto(buf) == len(lines[0]) + * assert buf.tobytes().decode() == lines[0] + */ + __Pyx_TraceLine(725,0,__PYX_ERR(0, 725, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 725, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 725, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":726 + * buf = memoryview(bytearray(len(lines[0]))) + * f.seek(0) + * assert f.readinto(buf) == len(lines[0]) # <<<<<<<<<<<<<< + * assert buf.tobytes().decode() == lines[0] + * + */ + __Pyx_TraceLine(726,0,__PYX_ERR(0, 726, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 726, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 726, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 726, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 726, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":727 + * f.seek(0) + * assert f.readinto(buf) == len(lines[0]) + * assert buf.tobytes().decode() == lines[0] # <<<<<<<<<<<<<< + * + * # read an arbitrary line + */ + __Pyx_TraceLine(727,0,__PYX_ERR(0, 727, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 727, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 727, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 727, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":730 + * + * # read an arbitrary line + * offset = line_offset(2) # <<<<<<<<<<<<<< + * buf = bytearray(len(lines[2])) + * f.seek(offset) + */ + __Pyx_TraceLine(730,0,__PYX_ERR(0, 730, __pyx_L17_error)) + __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_v_line_offset, __pyx_int_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 730, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_offset = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":731 + * # read an arbitrary line + * offset = line_offset(2) + * buf = bytearray(len(lines[2])) # <<<<<<<<<<<<<< + * f.seek(offset) + * assert f.readinto(buf) == len(lines[2]) + */ + __Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L17_error)) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 731, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 731, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":732 + * offset = line_offset(2) + * buf = bytearray(len(lines[2])) + * f.seek(offset) # <<<<<<<<<<<<<< + * assert f.readinto(buf) == len(lines[2]) + * assert buf.decode() == lines[2] + */ + __Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 732, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 732, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":733 + * buf = bytearray(len(lines[2])) + * f.seek(offset) + * assert f.readinto(buf) == len(lines[2]) # <<<<<<<<<<<<<< + * assert buf.decode() == lines[2] + * + */ + __Pyx_TraceLine(733,0,__PYX_ERR(0, 733, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 733, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 733, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 733, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 733, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 733, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":734 + * f.seek(offset) + * assert f.readinto(buf) == len(lines[2]) + * assert buf.decode() == lines[2] # <<<<<<<<<<<<<< + * + * # read the end line, sans-newline + */ + __Pyx_TraceLine(734,0,__PYX_ERR(0, 734, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 734, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 734, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":737 + * + * # read the end line, sans-newline + * offset = line_offset(len(lines) - 1) # <<<<<<<<<<<<<< + * buf = bytearray(len(lines[-1])) + * f.seek(offset) + */ + __Pyx_TraceLine(737,0,__PYX_ERR(0, 737, __pyx_L17_error)) + __pyx_t_5 = __pyx_cur_scope->__pyx_v_lines; + __Pyx_INCREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 737, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 - 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 737, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_v_line_offset, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 737, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_offset, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":738 + * # read the end line, sans-newline + * offset = line_offset(len(lines) - 1) + * buf = bytearray(len(lines[-1])) # <<<<<<<<<<<<<< + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + */ + __Pyx_TraceLine(738,0,__PYX_ERR(0, 738, __pyx_L17_error)) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 738, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 738, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":739 + * offset = line_offset(len(lines) - 1) + * buf = bytearray(len(lines[-1])) + * f.seek(offset) # <<<<<<<<<<<<<< + * assert f.readinto(buf) == len(lines[-1]) + * assert buf.decode() == lines[-1] + */ + __Pyx_TraceLine(739,0,__PYX_ERR(0, 739, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 739, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 739, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":740 + * buf = bytearray(len(lines[-1])) + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) # <<<<<<<<<<<<<< + * assert buf.decode() == lines[-1] + * + */ + __Pyx_TraceLine(740,0,__PYX_ERR(0, 740, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 740, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 740, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 740, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 740, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":741 + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + * assert buf.decode() == lines[-1] # <<<<<<<<<<<<<< + * + * # read the end line, with newline + */ + __Pyx_TraceLine(741,0,__PYX_ERR(0, 741, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 741, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 741, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 741, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 741, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 741, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 741, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":744 + * + * # read the end line, with newline + * buf = bytearray(len(lines[-1]) + 1) # <<<<<<<<<<<<<< + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + 1 + */ + __Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L17_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 744, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":745 + * # read the end line, with newline + * buf = bytearray(len(lines[-1]) + 1) + * f.seek(offset) # <<<<<<<<<<<<<< + * assert f.readinto(buf) == len(lines[-1]) + 1 + * assert buf.decode() == lines[-1] + '\n' + */ + __Pyx_TraceLine(745,0,__PYX_ERR(0, 745, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":746 + * buf = bytearray(len(lines[-1]) + 1) + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + 1 # <<<<<<<<<<<<<< + * assert buf.decode() == lines[-1] + '\n' + * + */ + __Pyx_TraceLine(746,0,__PYX_ERR(0, 746, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 746, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":747 + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + 1 + * assert buf.decode() == lines[-1] + '\n' # <<<<<<<<<<<<<< + * + * # read the end line with a bigger buffer + */ + __Pyx_TraceLine(747,0,__PYX_ERR(0, 747, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__58); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 747, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":750 + * + * # read the end line with a bigger buffer + * buf = bytearray(len(lines[-1]) + 10) # <<<<<<<<<<<<<< + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + 1 + */ + __Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L17_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 750, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 750, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 750, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 750, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":751 + * # read the end line with a bigger buffer + * buf = bytearray(len(lines[-1]) + 10) + * f.seek(offset) # <<<<<<<<<<<<<< + * assert f.readinto(buf) == len(lines[-1]) + 1 + * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() + */ + __Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 751, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":752 + * buf = bytearray(len(lines[-1]) + 10) + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + 1 # <<<<<<<<<<<<<< + * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() + * + */ + __Pyx_TraceLine(752,0,__PYX_ERR(0, 752, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 752, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 752, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 752, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 752, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 752, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":753 + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + 1 + * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() # <<<<<<<<<<<<<< + * + * # start at EOF, and try to read something + */ + __Pyx_TraceLine(753,0,__PYX_ERR(0, 753, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 753, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__58); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 753, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_decode_bytes(__pyx_kp_b__61, 0, PY_SSIZE_T_MAX, NULL, NULL, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 753, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 753, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 753, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":756 + * + * # start at EOF, and try to read something + * filelen = sum([len(l) for l in lines]) + len(lines) # <<<<<<<<<<<<<< + * f.seek(filelen) + * buf = bytearray([99 for i in range(len(buf))]) + */ + __Pyx_TraceLine(756,0,__PYX_ERR(0, 756, __pyx_L17_error)) + __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_lines)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_lines)) { + __pyx_t_3 = __pyx_cur_scope->__pyx_v_lines; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; + __pyx_t_17 = NULL; + } else { + __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 756, __pyx_L17_error) + } + for (;;) { + if (likely(!__pyx_t_17)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 756, __pyx_L17_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 756, __pyx_L17_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } + } else { + __pyx_t_1 = __pyx_t_17(__pyx_t_3); + if (unlikely(!__pyx_t_1)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 756, __pyx_L17_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_1); + } + __Pyx_XDECREF_SET(__pyx_v_l, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_18 = PyObject_Length(__pyx_v_l); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_cur_scope->__pyx_v_lines; + __Pyx_INCREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_filelen = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":757 + * # start at EOF, and try to read something + * filelen = sum([len(l) for l in lines]) + len(lines) + * f.seek(filelen) # <<<<<<<<<<<<<< + * buf = bytearray([99 for i in range(len(buf))]) + * assert f.readinto(buf) == 0 + */ + __Pyx_TraceLine(757,0,__PYX_ERR(0, 757, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 757, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_filelen) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_filelen); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 757, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":758 + * filelen = sum([len(l) for l in lines]) + len(lines) + * f.seek(filelen) + * buf = bytearray([99 for i in range(len(buf))]) # <<<<<<<<<<<<<< + * assert f.readinto(buf) == 0 + * assert all([b == chr(99) for b in buf.decode()]) + */ + __Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L17_error)) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 758, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = PyObject_Length(__pyx_v_buf); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 758, __pyx_L17_error) + __pyx_t_18 = __pyx_t_15; + for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { + __pyx_v_i = __pyx_t_19; + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_int_99))) __PYX_ERR(0, 758, __pyx_L17_error) + } + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 758, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":759 + * f.seek(filelen) + * buf = bytearray([99 for i in range(len(buf))]) + * assert f.readinto(buf) == 0 # <<<<<<<<<<<<<< + * assert all([b == chr(99) for b in buf.decode()]) + * + */ + __Pyx_TraceLine(759,0,__PYX_ERR(0, 759, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_buf); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 759, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 759, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":760 + * buf = bytearray([99 for i in range(len(buf))]) + * assert f.readinto(buf) == 0 + * assert all([b == chr(99) for b in buf.decode()]) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_decode_bytearray(__pyx_v_buf, 0, PY_SSIZE_T_MAX, NULL, NULL, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + for (;;) { + { + __pyx_t_5 = __pyx_t_17(__pyx_t_3); + if (unlikely(!__pyx_t_5)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 760, __pyx_L17_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_5); + } + __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_chr, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyObject_RichCompare(__pyx_v_b, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 760, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 760, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 + * testfile = op.join(td, 'test.gz') + * write_text_to_gzip_file(testfile, lines) + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * # read first line into a byte array + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 715, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 715, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 715, __pyx_L19_except_error) + __pyx_t_21 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_21) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 715, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 715, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L32; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L32:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":712 + * + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * testfile = op.join(td, 'test.gz') + * write_text_to_gzip_file(testfile, lines) + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 712, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 712, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_21 < 0) __PYX_ERR(0, 712, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_21 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 712, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_6) { + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 712, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L36; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L1_error; + __pyx_L36:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + * + * + * def test_readinto(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * line 1 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_line_offset); + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_testfile); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_offset); + __Pyx_XDECREF(__pyx_v_filelen); + __Pyx_XDECREF(__pyx_v_l); + __Pyx_XDECREF(__pyx_v_b); + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 + * + * + * def test_readline(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * this is + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline = {"test_readline", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline(PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_readline (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_readline(__pyx_self, ((PyObject *)__pyx_v_drop)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_readline(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_lines = NULL; + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_seekpos = NULL; + PyObject *__pyx_v_line = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_15; + PyObject *(*__pyx_t_16)(PyObject *); + int __pyx_t_17; + Py_ssize_t __pyx_t_18; + PyObject *__pyx_t_19 = NULL; + int __pyx_t_20; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__63) + __Pyx_RefNannySetupContext("test_readline", 0); + __Pyx_TraceCall("test_readline", __pyx_f[0], 763, 0, __PYX_ERR(0, 763, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":764 + * + * def test_readline(drop): + * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< + * this is + * some text + */ + __Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 764, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 764, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_some_text_split_across) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_some_text_split_across); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 764, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 + * several lines + * how creative + * """).strip().split('\n') # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(770,0,__PYX_ERR(0, 770, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 770, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__58) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__58); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 770, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_lines = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":772 + * """).strip().split('\n') + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + __Pyx_TraceLine(772,0,__PYX_ERR(0, 772, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 772, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + __pyx_v_td = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":773 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * write_text_to_gzip_file(fname, lines) + * + */ + __Pyx_TraceLine(773,0,__PYX_ERR(0, 773, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 773, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 773, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 773, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 773, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 773, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 773, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_fname = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":774 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + */ + __Pyx_TraceLine(774,0,__PYX_ERR(0, 774, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 774, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 774, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 774, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 774, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_v_fname); + __Pyx_INCREF(__pyx_v_lines); + __Pyx_GIVEREF(__pyx_v_lines); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 774, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":776 + * write_text_to_gzip_file(fname, lines) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * seekpos = 0 + * for line in lines: + */ + __Pyx_TraceLine(776,0,__PYX_ERR(0, 776, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 776, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 776, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 776, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 776, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 776, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 776, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":777 + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * seekpos = 0 # <<<<<<<<<<<<<< + * for line in lines: + * + */ + __Pyx_TraceLine(777,0,__PYX_ERR(0, 777, __pyx_L17_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_v_seekpos = __pyx_int_0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":778 + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * seekpos = 0 + * for line in lines: # <<<<<<<<<<<<<< + * + * assert f.readline() == (line + '\n').encode() + */ + __Pyx_TraceLine(778,0,__PYX_ERR(0, 778, __pyx_L17_error)) + if (likely(PyList_CheckExact(__pyx_v_lines)) || PyTuple_CheckExact(__pyx_v_lines)) { + __pyx_t_2 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_2); __pyx_t_15 = 0; + __pyx_t_16 = NULL; + } else { + __pyx_t_15 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_lines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 778, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_16 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 778, __pyx_L17_error) + } + for (;;) { + if (likely(!__pyx_t_16)) { + if (likely(PyList_CheckExact(__pyx_t_2))) { + if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 778, __pyx_L17_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 778, __pyx_L17_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_16(__pyx_t_2); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 778, __pyx_L17_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":780 + * for line in lines: + * + * assert f.readline() == (line + '\n').encode() # <<<<<<<<<<<<<< + * seekpos += len(line) + 1 + * assert f.tell() == seekpos + */ + __Pyx_TraceLine(780,0,__PYX_ERR(0, 780, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 780, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = PyNumber_Add(__pyx_v_line, __pyx_kp_s__58); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 780, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 780, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 780, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 780, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":781 + * + * assert f.readline() == (line + '\n').encode() + * seekpos += len(line) + 1 # <<<<<<<<<<<<<< + * assert f.tell() == seekpos + * + */ + __Pyx_TraceLine(781,0,__PYX_ERR(0, 781, __pyx_L17_error)) + __pyx_t_18 = PyObject_Length(__pyx_v_line); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 781, __pyx_L17_error) + __pyx_t_4 = PyInt_FromSsize_t((__pyx_t_18 + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 781, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_seekpos, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF_SET(__pyx_v_seekpos, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":782 + * assert f.readline() == (line + '\n').encode() + * seekpos += len(line) + 1 + * assert f.tell() == seekpos # <<<<<<<<<<<<<< + * + * # Should return empty string after EOF + */ + __Pyx_TraceLine(782,0,__PYX_ERR(0, 782, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 782, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_seekpos, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 782, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 782, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 782, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":778 + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * seekpos = 0 + * for line in lines: # <<<<<<<<<<<<<< + * + * assert f.readline() == (line + '\n').encode() + */ + __Pyx_TraceLine(778,0,__PYX_ERR(0, 778, __pyx_L17_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":785 + * + * # Should return empty string after EOF + * assert f.readline() == b'' # <<<<<<<<<<<<<< + * + * f.seek(0) + */ + __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 785, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 785, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_17 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 785, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 785, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":787 + * assert f.readline() == b'' + * + * f.seek(0) # <<<<<<<<<<<<<< + * assert f.readline(0) == b'' + * + */ + __Pyx_TraceLine(787,0,__PYX_ERR(0, 787, __pyx_L17_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 787, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":788 + * + * f.seek(0) + * assert f.readline(0) == b'' # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(788,0,__PYX_ERR(0, 788, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 788, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_17 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 788, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 788, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":776 + * write_text_to_gzip_file(fname, lines) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * seekpos = 0 + * for line in lines: + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 776, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 776, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 776, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_19); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 776, __pyx_L19_except_error) + __pyx_t_20 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_20) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 776, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 776, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L28; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L28:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":772 + * """).strip().split('\n') + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 772, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 772, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 772, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_20 < 0) __PYX_ERR(0, 772, __pyx_L9_except_error) + __pyx_t_17 = ((!(__pyx_t_20 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); + __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 772, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_6) { + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L32; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L1_error; + __pyx_L32:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 + * + * + * def test_readline(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * this is + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_lines); + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_seekpos); + __Pyx_XDECREF(__pyx_v_line); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":791 + * + * + * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< + * + * lines = ['line one', 'line two'] + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit = {"test_readline_sizelimit", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit(PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_readline_sizelimit (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_readline_sizelimit(__pyx_self, ((PyObject *)__pyx_v_drop)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_readline_sizelimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_lines = NULL; + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_l = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + Py_ssize_t __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__64) + __Pyx_RefNannySetupContext("test_readline_sizelimit", 0); + __Pyx_TraceCall("test_readline_sizelimit", __pyx_f[0], 791, 0, __PYX_ERR(0, 791, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":793 + * def test_readline_sizelimit(drop): + * + * lines = ['line one', 'line two'] # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(793,0,__PYX_ERR(0, 793, __pyx_L1_error)) + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 793, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_kp_s_line_one); + __Pyx_GIVEREF(__pyx_kp_s_line_one); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s_line_one); + __Pyx_INCREF(__pyx_kp_s_line_two); + __Pyx_GIVEREF(__pyx_kp_s_line_two); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_kp_s_line_two); + __pyx_v_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":795 + * lines = ['line one', 'line two'] + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + __Pyx_TraceLine(795,0,__PYX_ERR(0, 795, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 795, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 795, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 795, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 795, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 795, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":796 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * write_text_to_gzip_file(fname, lines) + * + */ + __Pyx_TraceLine(796,0,__PYX_ERR(0, 796, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 796, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 796, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 796, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 796, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 796, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 796, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":797 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + */ + __Pyx_TraceLine(797,0,__PYX_ERR(0, 797, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 797, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 797, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_v_lines); + __Pyx_GIVEREF(__pyx_v_lines); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_lines); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":799 + * write_text_to_gzip_file(fname, lines) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * # limit to one character before the end of the first line + */ + __Pyx_TraceLine(799,0,__PYX_ERR(0, 799, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 799, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 799, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 799, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 799, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 799, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 799, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":802 + * + * # limit to one character before the end of the first line + * l = f.readline(len(lines[0]) - 1) # <<<<<<<<<<<<<< + * assert l == (lines[0][:-1]).encode() + * + */ + __Pyx_TraceLine(802,0,__PYX_ERR(0, 802, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 802, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 802, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_l = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":803 + * # limit to one character before the end of the first line + * l = f.readline(len(lines[0]) - 1) + * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< + * + * # limit to the last character of the first line + */ + __Pyx_TraceLine(803,0,__PYX_ERR(0, 803, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_5, 0, -1L, NULL, NULL, &__pyx_slice__65, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 803, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_v_l, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 803, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_15)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 803, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":806 + * + * # limit to the last character of the first line + * f.seek(0) # <<<<<<<<<<<<<< + * l = f.readline(len(lines[0]) - 1) + * assert l == (lines[0][:-1]).encode() + */ + __Pyx_TraceLine(806,0,__PYX_ERR(0, 806, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 806, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":807 + * # limit to the last character of the first line + * f.seek(0) + * l = f.readline(len(lines[0]) - 1) # <<<<<<<<<<<<<< + * assert l == (lines[0][:-1]).encode() + * + */ + __Pyx_TraceLine(807,0,__PYX_ERR(0, 807, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 807, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 807, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 807, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":808 + * f.seek(0) + * l = f.readline(len(lines[0]) - 1) + * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< + * + * # limit to the newline at the end of the first line + */ + __Pyx_TraceLine(808,0,__PYX_ERR(0, 808, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 808, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, -1L, NULL, NULL, &__pyx_slice__65, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 808, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 808, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 808, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_v_l, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 808, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 808, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 808, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":811 + * + * # limit to the newline at the end of the first line + * f.seek(0) # <<<<<<<<<<<<<< + * l = f.readline(len(lines[0]) + 1) + * assert l == (lines[0] + '\n').encode() + */ + __Pyx_TraceLine(811,0,__PYX_ERR(0, 811, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 811, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":812 + * # limit to the newline at the end of the first line + * f.seek(0) + * l = f.readline(len(lines[0]) + 1) # <<<<<<<<<<<<<< + * assert l == (lines[0] + '\n').encode() + * + */ + __Pyx_TraceLine(812,0,__PYX_ERR(0, 812, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 812, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 812, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 812, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 812, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 812, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":813 + * f.seek(0) + * l = f.readline(len(lines[0]) + 1) + * assert l == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< + * + * # limit to the first character after the first line + */ + __Pyx_TraceLine(813,0,__PYX_ERR(0, 813, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__58); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 813, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 813, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_v_l, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 813, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_15)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 813, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":816 + * + * # limit to the first character after the first line + * f.seek(0) # <<<<<<<<<<<<<< + * l = f.readline(len(lines[0]) + 2) + * assert l == (lines[0] + '\n').encode() + */ + __Pyx_TraceLine(816,0,__PYX_ERR(0, 816, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 816, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 816, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":817 + * # limit to the first character after the first line + * f.seek(0) + * l = f.readline(len(lines[0]) + 2) # <<<<<<<<<<<<<< + * assert l == (lines[0] + '\n').encode() + * + */ + __Pyx_TraceLine(817,0,__PYX_ERR(0, 817, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 817, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 817, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 817, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 + 2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 817, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":818 + * f.seek(0) + * l = f.readline(len(lines[0]) + 2) + * assert l == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(818,0,__PYX_ERR(0, 818, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__58); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 818, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 818, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_v_l, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 818, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 818, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":799 + * write_text_to_gzip_file(fname, lines) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * # limit to one character before the end of the first line + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 799, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 799, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 799, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 799, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 799, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 799, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":795 + * lines = ['line one', 'line two'] + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 795, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 795, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 795, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 795, __pyx_L9_except_error) + __pyx_t_15 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 795, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 795, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L30; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L30:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":791 + * + * + * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< + * + * lines = ['line one', 'line two'] + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_lines); + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_l); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":821 + * + * + * def test_readlines(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * this is + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines = {"test_readlines", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines(PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_readlines (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_readlines(__pyx_self, ((PyObject *)__pyx_v_drop)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_readlines(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_lines = NULL; + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_gotlines = NULL; + PyObject *__pyx_v_expl = NULL; + PyObject *__pyx_v_gotl = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_15; + Py_ssize_t __pyx_t_16; + PyObject *(*__pyx_t_17)(PyObject *); + PyObject *(*__pyx_t_18)(PyObject *); + int __pyx_t_19; + PyObject *__pyx_t_20 = NULL; + int __pyx_t_21; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__66) + __Pyx_RefNannySetupContext("test_readlines", 0); + __Pyx_TraceCall("test_readlines", __pyx_f[0], 821, 0, __PYX_ERR(0, 821, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":822 + * + * def test_readlines(drop): + * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< + * this is + * some more text + */ + __Pyx_TraceLine(822,0,__PYX_ERR(0, 822, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 822, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 822, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_some_more_text_split_ac) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_some_more_text_split_ac); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 822, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":829 + * super imaginative + * test data + * """).strip().split('\n') # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 829, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__58) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__58); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 829, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_lines = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":831 + * """).strip().split('\n') + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + __Pyx_TraceLine(831,0,__PYX_ERR(0, 831, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 831, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 831, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 831, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 831, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 831, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + __pyx_v_td = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":832 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * write_text_to_gzip_file(fname, lines) + * + */ + __Pyx_TraceLine(832,0,__PYX_ERR(0, 832, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_fname = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":833 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + */ + __Pyx_TraceLine(833,0,__PYX_ERR(0, 833, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 833, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 833, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 833, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 833, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_v_fname); + __Pyx_INCREF(__pyx_v_lines); + __Pyx_GIVEREF(__pyx_v_lines); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 833, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":835 + * write_text_to_gzip_file(fname, lines) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * gotlines = f.readlines() + */ + __Pyx_TraceLine(835,0,__PYX_ERR(0, 835, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 835, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":837 + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * + * gotlines = f.readlines() # <<<<<<<<<<<<<< + * + * assert len(lines) == len(gotlines) + */ + __Pyx_TraceLine(837,0,__PYX_ERR(0, 837, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 837, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 837, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_gotlines = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":839 + * gotlines = f.readlines() + * + * assert len(lines) == len(gotlines) # <<<<<<<<<<<<<< + * + * for expl, gotl in zip(lines, gotlines): + */ + __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_15 = PyObject_Length(__pyx_v_lines); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 839, __pyx_L17_error) + __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 839, __pyx_L17_error) + if (unlikely(!((__pyx_t_15 == __pyx_t_16) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 839, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":841 + * assert len(lines) == len(gotlines) + * + * for expl, gotl in zip(lines, gotlines): # <<<<<<<<<<<<<< + * assert (expl + '\n').encode() == gotl + * + */ + __Pyx_TraceLine(841,0,__PYX_ERR(0, 841, __pyx_L17_error)) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_lines); + __Pyx_GIVEREF(__pyx_v_lines); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_lines); + __Pyx_INCREF(__pyx_v_gotlines); + __Pyx_GIVEREF(__pyx_v_gotlines); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_gotlines); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; + __pyx_t_17 = NULL; + } else { + __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_17 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 841, __pyx_L17_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_17)) { + if (likely(PyList_CheckExact(__pyx_t_2))) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 841, __pyx_L17_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 841, __pyx_L17_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_17(__pyx_t_2); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 841, __pyx_L17_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { + PyObject* sequence = __pyx_t_3; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 841, __pyx_L17_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_1 = PyList_GET_ITEM(sequence, 0); + __pyx_t_5 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + #else + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_18 = Py_TYPE(__pyx_t_4)->tp_iternext; + index = 0; __pyx_t_1 = __pyx_t_18(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L25_unpacking_failed; + __Pyx_GOTREF(__pyx_t_1); + index = 1; __pyx_t_5 = __pyx_t_18(__pyx_t_4); if (unlikely(!__pyx_t_5)) goto __pyx_L25_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_4), 2) < 0) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_18 = NULL; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L26_unpacking_done; + __pyx_L25_unpacking_failed:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_18 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_L26_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_expl, __pyx_t_1); + __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_gotl, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":842 + * + * for expl, gotl in zip(lines, gotlines): + * assert (expl + '\n').encode() == gotl # <<<<<<<<<<<<<< + * + * assert f.read() == b'' + */ + __Pyx_TraceLine(842,0,__PYX_ERR(0, 842, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = PyNumber_Add(__pyx_v_expl, __pyx_kp_s__58); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 842, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 842, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_gotl, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 842, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_19)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 842, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":841 + * assert len(lines) == len(gotlines) + * + * for expl, gotl in zip(lines, gotlines): # <<<<<<<<<<<<<< + * assert (expl + '\n').encode() == gotl + * + */ + __Pyx_TraceLine(841,0,__PYX_ERR(0, 841, __pyx_L17_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":844 + * assert (expl + '\n').encode() == gotl + * + * assert f.read() == b'' # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(844,0,__PYX_ERR(0, 844, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 844, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 844, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_19 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 844, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_19)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 844, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":835 + * write_text_to_gzip_file(fname, lines) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * gotlines = f.readlines() + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 835, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 835, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_19 < 0) __PYX_ERR(0, 835, __pyx_L19_except_error) + __pyx_t_21 = ((!(__pyx_t_19 != 0)) != 0); + if (__pyx_t_21) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 835, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L30; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L30:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":831 + * """).strip().split('\n') + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 831, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 831, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 831, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_21 < 0) __PYX_ERR(0, 831, __pyx_L9_except_error) + __pyx_t_19 = ((!(__pyx_t_21 != 0)) != 0); + if (__pyx_t_19) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 831, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_6) { + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 831, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L34; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L1_error; + __pyx_L34:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":821 + * + * + * def test_readlines(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * this is + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_lines); + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_gotlines); + __Pyx_XDECREF(__pyx_v_expl); + __Pyx_XDECREF(__pyx_v_gotl); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":847 + * + * + * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< + * + * lines = ['line one', 'line two'] + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit = {"test_readlines_sizelimit", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit(PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_readlines_sizelimit (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_readlines_sizelimit(__pyx_self, ((PyObject *)__pyx_v_drop)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_readlines_sizelimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_lines = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_limits = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_lim = NULL; + PyObject *__pyx_v_gotlines = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + Py_ssize_t __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *(*__pyx_t_15)(PyObject *); + Py_ssize_t __pyx_t_16; + int __pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + int __pyx_t_20; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__67) + __Pyx_RefNannySetupContext("test_readlines_sizelimit", 0); + __Pyx_TraceCall("test_readlines_sizelimit", __pyx_f[0], 847, 0, __PYX_ERR(0, 847, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":849 + * def test_readlines_sizelimit(drop): + * + * lines = ['line one', 'line two'] # <<<<<<<<<<<<<< + * data = '\n'.join(lines) + '\n' + * + */ + __Pyx_TraceLine(849,0,__PYX_ERR(0, 849, __pyx_L1_error)) + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_kp_s_line_one); + __Pyx_GIVEREF(__pyx_kp_s_line_one); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s_line_one); + __Pyx_INCREF(__pyx_kp_s_line_two); + __Pyx_GIVEREF(__pyx_kp_s_line_two); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_kp_s_line_two); + __pyx_v_lines = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":850 + * + * lines = ['line one', 'line two'] + * data = '\n'.join(lines) + '\n' # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(850,0,__PYX_ERR(0, 850, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyString_Join(__pyx_kp_s__58, __pyx_v_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 850, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__58); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 850, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_data = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":852 + * data = '\n'.join(lines) + '\n' + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + __Pyx_TraceLine(852,0,__PYX_ERR(0, 852, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 852, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 852, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 852, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 852, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":853 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * write_text_to_gzip_file(fname, lines) + * + */ + __Pyx_TraceLine(853,0,__PYX_ERR(0, 853, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 853, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 853, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 853, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 853, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 853, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 853, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_fname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< + * + * limits = range(len(data) + 2) + */ + __Pyx_TraceLine(854,0,__PYX_ERR(0, 854, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 854, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 854, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 854, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 854, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_v_lines); + __Pyx_GIVEREF(__pyx_v_lines); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_v_lines); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 854, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":856 + * write_text_to_gzip_file(fname, lines) + * + * limits = range(len(data) + 2) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + */ + __Pyx_TraceLine(856,0,__PYX_ERR(0, 856, __pyx_L7_error)) + __pyx_t_10 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 856, __pyx_L7_error) + __pyx_t_3 = PyInt_FromSsize_t((__pyx_t_10 + 2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 856, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 856, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_limits = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":858 + * limits = range(len(data) + 2) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * for lim in limits: + */ + __Pyx_TraceLine(858,0,__PYX_ERR(0, 858, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 858, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 858, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":860 + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * + * for lim in limits: # <<<<<<<<<<<<<< + * f.seek(0) + * gotlines = f.readlines(lim) + */ + __Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L17_error)) + if (likely(PyList_CheckExact(__pyx_v_limits)) || PyTuple_CheckExact(__pyx_v_limits)) { + __pyx_t_1 = __pyx_v_limits; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; + __pyx_t_15 = NULL; + } else { + __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_limits); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 860, __pyx_L17_error) + } + for (;;) { + if (likely(!__pyx_t_15)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 860, __pyx_L17_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 860, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } else { + if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 860, __pyx_L17_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 860, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } + } else { + __pyx_t_5 = __pyx_t_15(__pyx_t_1); + if (unlikely(!__pyx_t_5)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 860, __pyx_L17_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_5); + } + __Pyx_XDECREF_SET(__pyx_v_lim, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":861 + * + * for lim in limits: + * f.seek(0) # <<<<<<<<<<<<<< + * gotlines = f.readlines(lim) + * + */ + __Pyx_TraceLine(861,0,__PYX_ERR(0, 861, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 861, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":862 + * for lim in limits: + * f.seek(0) + * gotlines = f.readlines(lim) # <<<<<<<<<<<<<< + * + * # Expect the first line + */ + __Pyx_TraceLine(862,0,__PYX_ERR(0, 862, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 862, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_lim) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_lim); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 862, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_gotlines, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":865 + * + * # Expect the first line + * if lim < len(lines[0]) + 1: # <<<<<<<<<<<<<< + * assert len(gotlines) == 1 + * assert gotlines[0] == (lines[0] + '\n').encode() + */ + __Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L17_error)) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 865, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_16 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 865, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_16 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 865, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyObject_RichCompare(__pyx_v_lim, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 865, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_17) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":866 + * # Expect the first line + * if lim < len(lines[0]) + 1: + * assert len(gotlines) == 1 # <<<<<<<<<<<<<< + * assert gotlines[0] == (lines[0] + '\n').encode() + * + */ + __Pyx_TraceLine(866,0,__PYX_ERR(0, 866, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 866, __pyx_L17_error) + if (unlikely(!((__pyx_t_16 == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 866, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":867 + * if lim < len(lines[0]) + 1: + * assert len(gotlines) == 1 + * assert gotlines[0] == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< + * + * # Expect both lines + */ + __Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_gotlines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 867, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 867, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_18 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__58); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 867, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 867, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_18)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_18); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 867, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 867, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 867, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 867, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":865 + * + * # Expect the first line + * if lim < len(lines[0]) + 1: # <<<<<<<<<<<<<< + * assert len(gotlines) == 1 + * assert gotlines[0] == (lines[0] + '\n').encode() + */ + goto __pyx_L25; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":871 + * # Expect both lines + * else: + * assert len(gotlines) == 2 # <<<<<<<<<<<<<< + * assert gotlines[0] == (lines[0] + '\n').encode() + * assert gotlines[1] == (lines[1] + '\n').encode() + */ + __Pyx_TraceLine(871,0,__PYX_ERR(0, 871, __pyx_L17_error)) + /*else*/ { + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 871, __pyx_L17_error) + if (unlikely(!((__pyx_t_16 == 2) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 871, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":872 + * else: + * assert len(gotlines) == 2 + * assert gotlines[0] == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< + * assert gotlines[1] == (lines[1] + '\n').encode() + * + */ + __Pyx_TraceLine(872,0,__PYX_ERR(0, 872, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_gotlines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 872, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_18 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__58); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 872, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_18)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_18); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 872, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 872, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 872, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":873 + * assert len(gotlines) == 2 + * assert gotlines[0] == (lines[0] + '\n').encode() + * assert gotlines[1] == (lines[1] + '\n').encode() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(873,0,__PYX_ERR(0, 873, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_gotlines, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 873, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 873, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_18 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__58); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 873, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 873, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_18)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_18); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 873, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 873, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 873, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 873, __pyx_L17_error) + } + } + #endif + } + __pyx_L25:; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":860 + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * + * for lim in limits: # <<<<<<<<<<<<<< + * f.seek(0) + * gotlines = f.readlines(lim) + */ + __Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L17_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":858 + * limits = range(len(data) + 2) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * + * for lim in limits: + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 858, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 858, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 858, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_19); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 858, __pyx_L19_except_error) + __pyx_t_20 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_20) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 858, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L29; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L29:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":852 + * data = '\n'.join(lines) + '\n' + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 852, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 852, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 852, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_20 < 0) __PYX_ERR(0, 852, __pyx_L9_except_error) + __pyx_t_17 = ((!(__pyx_t_20 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_1); + __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 852, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 852, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L33; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L33:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":847 + * + * + * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< + * + * lines = ['line one', 'line two'] + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_18); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_lines); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_limits); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_lim); + __Pyx_XDECREF(__pyx_v_gotlines); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":876 + * + * + * def test_iter(drop): # <<<<<<<<<<<<<< + * + * lines = textwrap.dedent(""" + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter = {"test_iter", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter(PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_iter (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter(__pyx_self, ((PyObject *)__pyx_v_drop)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { + PyObject *__pyx_v_lines = NULL; + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_gotline = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_15; + PyObject *(*__pyx_t_16)(PyObject *); + int __pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + int __pyx_t_23; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__68) + __Pyx_RefNannySetupContext("test_iter", 0); + __Pyx_TraceCall("test_iter", __pyx_f[0], 876, 0, __PYX_ERR(0, 876, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":878 + * def test_iter(drop): + * + * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< + * this is + * even more text + */ + __Pyx_TraceLine(878,0,__PYX_ERR(0, 878, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 878, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 878, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_even_more_text_that_is) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_even_more_text_that_is); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 878, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":887 + * this test data is + * unparalleled + * """).strip().split('\n') # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(887,0,__PYX_ERR(0, 887, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 887, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 887, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 887, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__58) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__58); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 887, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_lines = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":889 + * """).strip().split('\n') + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + __Pyx_TraceLine(889,0,__PYX_ERR(0, 889, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 889, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 889, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + __pyx_v_td = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":890 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * write_text_to_gzip_file(fname, lines) + * + */ + __Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_fname = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":891 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + */ + __Pyx_TraceLine(891,0,__PYX_ERR(0, 891, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 891, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + __pyx_t_10 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_10 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 891, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_v_fname); + __Pyx_INCREF(__pyx_v_lines); + __Pyx_GIVEREF(__pyx_v_lines); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":893 + * write_text_to_gzip_file(fname, lines) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * for i, gotline in enumerate(f): + * assert (lines[i] + '\n').encode() == gotline + */ + __Pyx_TraceLine(893,0,__PYX_ERR(0, 893, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 893, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 893, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 893, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":894 + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * for i, gotline in enumerate(f): # <<<<<<<<<<<<<< + * assert (lines[i] + '\n').encode() == gotline + * + */ + __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L17_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_t_2 = __pyx_int_0; + if (likely(PyList_CheckExact(__pyx_v_f)) || PyTuple_CheckExact(__pyx_v_f)) { + __pyx_t_3 = __pyx_v_f; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; + __pyx_t_16 = NULL; + } else { + __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 894, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_16 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 894, __pyx_L17_error) + } + for (;;) { + if (likely(!__pyx_t_16)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 894, __pyx_L17_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 894, __pyx_L17_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } + } else { + __pyx_t_1 = __pyx_t_16(__pyx_t_3); + if (unlikely(!__pyx_t_1)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 894, __pyx_L17_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_1); + } + __Pyx_XDECREF_SET(__pyx_v_gotline, __pyx_t_1); + __pyx_t_1 = 0; + __Pyx_INCREF(__pyx_t_2); + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":895 + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * for i, gotline in enumerate(f): + * assert (lines[i] + '\n').encode() == gotline # <<<<<<<<<<<<<< + * + * with pytest.raises(StopIteration): + */ + __Pyx_TraceLine(895,0,__PYX_ERR(0, 895, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_lines, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 895, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__58); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 895, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 895, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 895, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_v_gotline, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 895, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 895, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 895, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":894 + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: + * for i, gotline in enumerate(f): # <<<<<<<<<<<<<< + * assert (lines[i] + '\n').encode() == gotline + * + */ + __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L17_error)) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":897 + * assert (lines[i] + '\n').encode() == gotline + * + * with pytest.raises(StopIteration): # <<<<<<<<<<<<<< + * next(f) + * + */ + __Pyx_TraceLine(897,0,__PYX_ERR(0, 897, __pyx_L17_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 897, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_builtin_StopIteration) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_StopIteration); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_18 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 897, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 897, __pyx_L25_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_21); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":898 + * + * with pytest.raises(StopIteration): + * next(f) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(898,0,__PYX_ERR(0, 898, __pyx_L29_error)) + __pyx_t_2 = __Pyx_PyIter_Next(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L29_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":897 + * assert (lines[i] + '\n').encode() == gotline + * + * with pytest.raises(StopIteration): # <<<<<<<<<<<<<< + * next(f) + * + */ + } + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + goto __pyx_L34_try_end; + __pyx_L29_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 897, __pyx_L31_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L31_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 897, __pyx_L31_except_error) + __Pyx_GOTREF(__pyx_t_22); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_22); + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 897, __pyx_L31_except_error) + __pyx_t_23 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_23) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 897, __pyx_L31_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L30_exception_handled; + } + __pyx_L31_except_error:; + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21); + goto __pyx_L17_error; + __pyx_L30_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21); + __pyx_L34_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_18) { + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 897, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + } + goto __pyx_L28; + } + __pyx_L28:; + } + goto __pyx_L38; + __pyx_L25_error:; + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + goto __pyx_L17_error; + __pyx_L38:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":893 + * write_text_to_gzip_file(fname, lines) + * + * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< + * for i, gotline in enumerate(f): + * assert (lines[i] + '\n').encode() == gotline + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 893, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 893, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 893, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_18); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + if (__pyx_t_23 < 0) __PYX_ERR(0, 893, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_23 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 893, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L42; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L42:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":889 + * """).strip().split('\n') + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * write_text_to_gzip_file(fname, lines) + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 889, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 889, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 889, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 889, __pyx_L9_except_error) + __pyx_t_23 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_23) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 889, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_6) { + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L46; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L1_error; + __pyx_L46:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":876 + * + * + * def test_iter(drop): # <<<<<<<<<<<<<< + * + * lines = textwrap.dedent(""" + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_lines); + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_gotline); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 + * + * + * def test_get_index_seek_points(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points = {"test_get_index_seek_points", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_get_index_seek_points (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_index_seek_points(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_index_seek_points(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_spacing = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_expected_number_of_seek_points = NULL; + PyObject *__pyx_v_seek_points = NULL; + PyObject *__pyx_v_uncmp_offsets = NULL; + PyObject *__pyx_v_point = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_t_17; + Py_ssize_t __pyx_t_18; + int __pyx_t_19; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__69) + __Pyx_RefNannySetupContext("test_get_index_seek_points", 0); + __Pyx_TraceCall("test_get_index_seek_points", __pyx_f[0], 901, 0, __PYX_ERR(0, 901, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":903 + * def test_get_index_seek_points(): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * spacing = 1048576 + */ + __Pyx_TraceLine(903,0,__PYX_ERR(0, 903, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 903, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 903, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 903, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 903, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 903, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":904 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * spacing = 1048576 + * + */ + __Pyx_TraceLine(904,0,__PYX_ERR(0, 904, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 904, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 904, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":905 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * spacing = 1048576 # <<<<<<<<<<<<<< + * + * # make a test file + */ + __Pyx_TraceLine(905,0,__PYX_ERR(0, 905, __pyx_L7_error)) + __Pyx_INCREF(__pyx_int_1048576); + __pyx_v_spacing = __pyx_int_1048576; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 + * + * # make a test file + * data = np.arange(spacing, dtype=np.uint64) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(908,0,__PYX_ERR(0, 908, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_spacing); + __Pyx_GIVEREF(__pyx_v_spacing); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_spacing); + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_data = __pyx_t_10; + __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":909 + * # make a test file + * data = np.arange(spacing, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + __Pyx_TraceLine(909,0,__PYX_ERR(0, 909, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_gzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_open); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_10); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_10); + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_n_s_wb); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 909, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 909, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":910 + * data = np.arange(spacing, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * + * # check points before and after index creation + */ + __Pyx_TraceLine(910,0,__PYX_ERR(0, 910, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 910, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 910, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":909 + * # make a test file + * data = np.arange(spacing, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_3) < 0) __PYX_ERR(0, 909, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 909, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 909, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 909, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_10, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_10 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 909, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":913 + * + * # check points before and after index creation + * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: # <<<<<<<<<<<<<< + * assert not list(f.seek_points()) + * f.build_full_index() + */ + __Pyx_TraceLine(913,0,__PYX_ERR(0, 913, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 913, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 913, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 913, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_spacing, __pyx_v_spacing) < 0) __PYX_ERR(0, 913, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 913, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 913, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 913, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_13, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":914 + * # check points before and after index creation + * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: + * assert not list(f.seek_points()) # <<<<<<<<<<<<<< + * f.build_full_index() + * + */ + __Pyx_TraceLine(914,0,__PYX_ERR(0, 914, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 914, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_17 = (PyList_GET_SIZE(__pyx_t_5) != 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!((!__pyx_t_17) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 914, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":915 + * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: + * assert not list(f.seek_points()) + * f.build_full_index() # <<<<<<<<<<<<<< + * + * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) + */ + __Pyx_TraceLine(915,0,__PYX_ERR(0, 915, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 915, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 915, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":917 + * f.build_full_index() + * + * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) # <<<<<<<<<<<<<< + * seek_points = list(f.seek_points()) + * + */ + __Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L31_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_nbytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_5, __pyx_v_spacing); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 917, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_5, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 917, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_expected_number_of_seek_points = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":918 + * + * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) + * seek_points = list(f.seek_points()) # <<<<<<<<<<<<<< + * + * assert len(seek_points) == expected_number_of_seek_points + */ + __Pyx_TraceLine(918,0,__PYX_ERR(0, 918, __pyx_L31_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 918, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 918, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 918, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_seek_points = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":920 + * seek_points = list(f.seek_points()) + * + * assert len(seek_points) == expected_number_of_seek_points # <<<<<<<<<<<<<< + * + * # check monotonic growth + */ + __Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_18 = PyList_GET_SIZE(__pyx_v_seek_points); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 920, __pyx_L31_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_expected_number_of_seek_points, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 920, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 920, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":923 + * + * # check monotonic growth + * uncmp_offsets = [point[0] for point in seek_points] # <<<<<<<<<<<<<< + * assert sorted(uncmp_offsets) == uncmp_offsets + * + */ + __Pyx_TraceLine(923,0,__PYX_ERR(0, 923, __pyx_L31_error)) + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 923, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __pyx_v_seek_points; __Pyx_INCREF(__pyx_t_5); __pyx_t_18 = 0; + for (;;) { + if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_18); __Pyx_INCREF(__pyx_t_2); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 923, __pyx_L31_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 923, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + __Pyx_XDECREF_SET(__pyx_v_point, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_point, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 923, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 923, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_uncmp_offsets = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":924 + * # check monotonic growth + * uncmp_offsets = [point[0] for point in seek_points] + * assert sorted(uncmp_offsets) == uncmp_offsets # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(924,0,__PYX_ERR(0, 924, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = PySequence_List(__pyx_v_uncmp_offsets); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 924, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_19 = PyList_Sort(__pyx_t_3); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 924, __pyx_L31_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_v_uncmp_offsets, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 924, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 924, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 924, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":913 + * + * # check points before and after index creation + * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: # <<<<<<<<<<<<<< + * assert not list(f.seek_points()) + * f.build_full_index() + */ + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 913, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 913, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 913, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 913, __pyx_L33_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_2); + __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 913, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 913, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L42; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L42:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":903 + * def test_get_index_seek_points(): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * spacing = 1048576 + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 903, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 903, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 903, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 903, __pyx_L9_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 903, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 903, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L46; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L46:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 + * + * + * def test_get_index_seek_points(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_spacing); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_expected_number_of_seek_points); + __Pyx_XDECREF(__pyx_v_seek_points); + __Pyx_XDECREF(__pyx_v_uncmp_offsets); + __Pyx_XDECREF(__pyx_v_point); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 + * + * + * def test_import_export_index(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index = {"test_import_export_index", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_import_export_index (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_import_export_index(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_import_export_index(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_idxfname = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_points = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_t_17; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__70) + __Pyx_RefNannySetupContext("test_import_export_index", 0); + __Pyx_TraceCall("test_import_export_index", __pyx_f[0], 927, 0, __PYX_ERR(0, 927, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":929 + * def test_import_export_index(): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') + */ + __Pyx_TraceLine(929,0,__PYX_ERR(0, 929, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 929, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 929, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 929, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":930 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * idxfname = op.join(td, 'test.gzidx') + * + */ + __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":931 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< + * + * # make a test file + */ + __Pyx_TraceLine(931,0,__PYX_ERR(0, 931, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 931, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 931, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 931, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 931, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 931, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gzidx); + __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 931, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_idxfname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 + * + * # make a test file + * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(934,0,__PYX_ERR(0, 934, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__71, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_data = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":935 + * # make a test file + * data = np.arange(524288, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + __Pyx_TraceLine(935,0,__PYX_ERR(0, 935, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 935, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 935, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":936 + * data = np.arange(524288, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * + * # generate an index file + */ + __Pyx_TraceLine(936,0,__PYX_ERR(0, 936, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 936, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 936, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 936, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 936, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":935 + * # make a test file + * data = np.arange(524288, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 935, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 935, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 935, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 935, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 935, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":939 + * + * # generate an index file + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * points = list(f.seek_points()) + */ + __Pyx_TraceLine(939,0,__PYX_ERR(0, 939, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 939, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 939, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 939, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 939, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 939, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 939, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 939, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 939, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 939, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":940 + * # generate an index file + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: + * f.build_full_index() # <<<<<<<<<<<<<< + * points = list(f.seek_points()) + * f.export_index(idxfname) + */ + __Pyx_TraceLine(940,0,__PYX_ERR(0, 940, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 940, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 940, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":941 + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: + * f.build_full_index() + * points = list(f.seek_points()) # <<<<<<<<<<<<<< + * f.export_index(idxfname) + * + */ + __Pyx_TraceLine(941,0,__PYX_ERR(0, 941, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 941, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_points = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":942 + * f.build_full_index() + * points = list(f.seek_points()) + * f.export_index(idxfname) # <<<<<<<<<<<<<< + * + * # Check that index file works via __init__ + */ + __Pyx_TraceLine(942,0,__PYX_ERR(0, 942, __pyx_L31_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 942, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_idxfname); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":939 + * + * # generate an index file + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * points = list(f.seek_points()) + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 939, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 939, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 939, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 939, __pyx_L33_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 939, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 939, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L40; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L40:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":945 + * + * # Check that index file works via __init__ + * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: # <<<<<<<<<<<<<< + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + */ + __Pyx_TraceLine(945,0,__PYX_ERR(0, 945, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 945, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_index_file, __pyx_v_idxfname) < 0) __PYX_ERR(0, 945, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 945, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 945, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":946 + * # Check that index file works via __init__ + * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: + * f.seek(65535 * 8) # <<<<<<<<<<<<<< + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 + */ + __Pyx_TraceLine(946,0,__PYX_ERR(0, 946, __pyx_L45_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_524280); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":947 + * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< + * assert val[0] == 65535 + * assert points == list(f.seek_points()) + */ + __Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L45_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_uint64); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_14) < 0) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_val = __pyx_t_14; + __pyx_t_14 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":948 + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 # <<<<<<<<<<<<<< + * assert points == list(f.seek_points()) + * + */ + __Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L45_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 948, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_14, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 948, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 948, __pyx_L45_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 948, __pyx_L45_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":949 + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 + * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< + * + * # Check that index file works via import_index + */ + __Pyx_TraceLine(949,0,__PYX_ERR(0, 949, __pyx_L45_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 949, __pyx_L45_error) } + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 949, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 949, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyObject_RichCompare(__pyx_v_points, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L45_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 949, __pyx_L45_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 949, __pyx_L45_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":945 + * + * # Check that index file works via __init__ + * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: # <<<<<<<<<<<<<< + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L50_try_end; + __pyx_L45_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_14, &__pyx_t_3) < 0) __PYX_ERR(0, 945, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_14); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_14, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 945, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 945, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 945, __pyx_L47_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_14, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 945, __pyx_L47_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L46_exception_handled; + } + __pyx_L47_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L46_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L50_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 945, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L44; + } + __pyx_L44:; + } + goto __pyx_L54; + __pyx_L41_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L54:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":952 + * + * # Check that index file works via import_index + * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< + * f.import_index(idxfname) + * f.seek(65535 * 8) + */ + __Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_igzip); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 952, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_14, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_fname); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 952, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 952, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_14); + __pyx_t_14 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":953 + * # Check that index file works via import_index + * with igzip._IndexedGzipFile(fname) as f: + * f.import_index(idxfname) # <<<<<<<<<<<<<< + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + */ + __Pyx_TraceLine(953,0,__PYX_ERR(0, 953, __pyx_L59_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 953, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 953, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":954 + * with igzip._IndexedGzipFile(fname) as f: + * f.import_index(idxfname) + * f.seek(65535 * 8) # <<<<<<<<<<<<<< + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 + */ + __Pyx_TraceLine(954,0,__PYX_ERR(0, 954, __pyx_L59_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 954, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_524280); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 954, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":955 + * f.import_index(idxfname) + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< + * assert val[0] == 65535 + * assert points == list(f.seek_points()) + */ + __Pyx_TraceLine(955,0,__PYX_ERR(0, 955, __pyx_L59_error)) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_14 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":956 + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 # <<<<<<<<<<<<<< + * assert points == list(f.seek_points()) + * + */ + __Pyx_TraceLine(956,0,__PYX_ERR(0, 956, __pyx_L59_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 956, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 956, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 956, __pyx_L59_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 956, __pyx_L59_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":957 + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 + * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L59_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 957, __pyx_L59_error) } + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 957, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 957, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PySequence_List(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 957, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyObject_RichCompare(__pyx_v_points, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 957, __pyx_L59_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 957, __pyx_L59_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 957, __pyx_L59_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":952 + * + * # Check that index file works via import_index + * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< + * f.import_index(idxfname) + * f.seek(65535 * 8) + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L64_try_end; + __pyx_L59_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_14, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 952, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_14, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 952, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 952, __pyx_L61_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_14); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_14, __pyx_t_5, __pyx_t_1); + __pyx_t_14 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 952, __pyx_L61_except_error) + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L60_exception_handled; + } + __pyx_L61_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L60_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L64_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 952, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L58; + } + __pyx_L58:; + } + goto __pyx_L68; + __pyx_L55_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L68:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":929 + * def test_import_export_index(): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_14) < 0) __PYX_ERR(0, 929, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 929, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 929, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 929, __pyx_L9_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_14); + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_14 = 0; + __PYX_ERR(0, 929, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 929, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L72; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L72:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 + * + * + * def test_import_export_index(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_idxfname); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_points); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 + * + * + * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file = {"test_import_export_index_open_file", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_import_export_index_open_file (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_import_export_index_open_file(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_import_export_index_open_file(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_idxfname = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_points = NULL; + PyObject *__pyx_v_idxf = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + PyObject *__pyx_t_25 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__72) + __Pyx_RefNannySetupContext("test_import_export_index_open_file", 0); + __Pyx_TraceCall("test_import_export_index_open_file", __pyx_f[0], 960, 0, __PYX_ERR(0, 960, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":962 + * def test_import_export_index_open_file(): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') + */ + __Pyx_TraceLine(962,0,__PYX_ERR(0, 962, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 962, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 962, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 962, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 962, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":963 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * idxfname = op.join(td, 'test.gzidx') + * + */ + __Pyx_TraceLine(963,0,__PYX_ERR(0, 963, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 963, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 963, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 963, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":964 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< + * + * # make a test file + */ + __Pyx_TraceLine(964,0,__PYX_ERR(0, 964, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 964, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 964, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 964, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gzidx); + __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_idxfname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 + * + * # make a test file + * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__71, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_data = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":968 + * # make a test file + * data = np.arange(524288, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + __Pyx_TraceLine(968,0,__PYX_ERR(0, 968, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 968, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 968, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":969 + * data = np.arange(524288, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * + * # generate an index file from open file handle + */ + __Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 969, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 969, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 969, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":968 + * # make a test file + * data = np.arange(524288, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 968, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 968, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 968, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 968, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 968, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":972 + * + * # generate an index file from open file handle + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * points = list(f.seek_points()) + */ + __Pyx_TraceLine(972,0,__PYX_ERR(0, 972, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 972, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 972, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 972, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 972, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 972, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 972, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 972, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 972, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 972, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":973 + * # generate an index file from open file handle + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: + * f.build_full_index() # <<<<<<<<<<<<<< + * points = list(f.seek_points()) + * + */ + __Pyx_TraceLine(973,0,__PYX_ERR(0, 973, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 973, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 973, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":974 + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: + * f.build_full_index() + * points = list(f.seek_points()) # <<<<<<<<<<<<<< + * + * # Should raise if wrong permissions + */ + __Pyx_TraceLine(974,0,__PYX_ERR(0, 974, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 974, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_points = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":977 + * + * # Should raise if wrong permissions + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * touch(idxfname) + * with open(idxfname, 'rb') as idxf: + */ + __Pyx_TraceLine(977,0,__PYX_ERR(0, 977, __pyx_L31_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 977, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 977, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 977, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L37_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 977, __pyx_L37_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":978 + * # Should raise if wrong permissions + * with pytest.raises(ValueError): + * touch(idxfname) # <<<<<<<<<<<<<< + * with open(idxfname, 'rb') as idxf: + * f.export_index(fileobj=idxf) + */ + __Pyx_TraceLine(978,0,__PYX_ERR(0, 978, __pyx_L41_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_touch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 978, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_idxfname); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 978, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":979 + * with pytest.raises(ValueError): + * touch(idxfname) + * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< + * f.export_index(fileobj=idxf) + * + */ + __Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L41_error)) + /*with:*/ { + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_idxfname); + __Pyx_GIVEREF(__pyx_v_idxfname); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_idxfname); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_21 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 979, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L47_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L47_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_24); + /*try:*/ { + __pyx_v_idxf = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":980 + * touch(idxfname) + * with open(idxfname, 'rb') as idxf: + * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< + * + * with open(idxfname, 'wb') as idxf: + */ + __Pyx_TraceLine(980,0,__PYX_ERR(0, 980, __pyx_L51_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 980, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 980, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 980, __pyx_L51_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 980, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":979 + * with pytest.raises(ValueError): + * touch(idxfname) + * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< + * f.export_index(fileobj=idxf) + * + */ + } + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + goto __pyx_L56_try_end; + __pyx_L51_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 979, __pyx_L53_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L53_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 979, __pyx_L53_except_error) + __Pyx_GOTREF(__pyx_t_25); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 979, __pyx_L53_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 979, __pyx_L53_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L52_exception_handled; + } + __pyx_L53_except_error:; + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); + goto __pyx_L41_error; + __pyx_L52_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); + __pyx_L56_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_21) { + __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 979, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_24); + __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; + } + goto __pyx_L50; + } + __pyx_L50:; + } + goto __pyx_L60; + __pyx_L47_error:; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + goto __pyx_L41_error; + __pyx_L60:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":977 + * + * # Should raise if wrong permissions + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * touch(idxfname) + * with open(idxfname, 'rb') as idxf: + */ + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + goto __pyx_L46_try_end; + __pyx_L41_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 977, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 977, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 977, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 977, __pyx_L43_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); + __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 977, __pyx_L43_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L42_exception_handled; + } + __pyx_L43_except_error:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + goto __pyx_L31_error; + __pyx_L42_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + __pyx_L46_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_15) { + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 977, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + } + goto __pyx_L40; + } + __pyx_L40:; + } + goto __pyx_L64; + __pyx_L37_error:; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L31_error; + __pyx_L64:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":982 + * f.export_index(fileobj=idxf) + * + * with open(idxfname, 'wb') as idxf: # <<<<<<<<<<<<<< + * f.export_index(fileobj=idxf) + * + */ + __Pyx_TraceLine(982,0,__PYX_ERR(0, 982, __pyx_L31_error)) + /*with:*/ { + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 982, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_idxfname); + __Pyx_GIVEREF(__pyx_v_idxfname); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_idxfname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_wb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 982, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 982, __pyx_L65_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 982, __pyx_L65_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_18); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":983 + * + * with open(idxfname, 'wb') as idxf: + * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< + * + * # Check that we can read it back + */ + __Pyx_TraceLine(983,0,__PYX_ERR(0, 983, __pyx_L69_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 983, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 983, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 983, __pyx_L69_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 983, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":982 + * f.export_index(fileobj=idxf) + * + * with open(idxfname, 'wb') as idxf: # <<<<<<<<<<<<<< + * f.export_index(fileobj=idxf) + * + */ + } + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + goto __pyx_L74_try_end; + __pyx_L69_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 982, __pyx_L71_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 982, __pyx_L71_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 982, __pyx_L71_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 982, __pyx_L71_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 982, __pyx_L71_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L70_exception_handled; + } + __pyx_L71_except_error:; + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); + goto __pyx_L31_error; + __pyx_L70_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); + __pyx_L74_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_15) { + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 982, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } + goto __pyx_L68; + } + __pyx_L68:; + } + goto __pyx_L78; + __pyx_L65_error:; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L31_error; + __pyx_L78:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":972 + * + * # generate an index file from open file handle + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * points = list(f.seek_points()) + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 972, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 972, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 972, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 972, __pyx_L33_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); + __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 972, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 972, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L82; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L82:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":986 + * + * # Check that we can read it back + * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< + * + * # Should raise if wrong permissions + */ + __Pyx_TraceLine(986,0,__PYX_ERR(0, 986, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_fname); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 986, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L83_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L83_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":991 + * # (append, so existing contents are + * # not overwritten) + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * with open(idxfname, 'ab') as idxf: + * f.import_index(fileobj=idxf) + */ + __Pyx_TraceLine(991,0,__PYX_ERR(0, 991, __pyx_L87_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 991, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 991, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_ValueError); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 991, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 991, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 991, __pyx_L93_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 991, __pyx_L93_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":992 + * # not overwritten) + * with pytest.raises(ValueError): + * with open(idxfname, 'ab') as idxf: # <<<<<<<<<<<<<< + * f.import_index(fileobj=idxf) + * + */ + __Pyx_TraceLine(992,0,__PYX_ERR(0, 992, __pyx_L97_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 992, __pyx_L97_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_idxfname); + __Pyx_GIVEREF(__pyx_v_idxfname); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_idxfname); + __Pyx_INCREF(__pyx_n_s_ab); + __Pyx_GIVEREF(__pyx_n_s_ab); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_ab); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 992, __pyx_L97_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_21 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 992, __pyx_L97_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 992, __pyx_L103_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 992, __pyx_L103_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_24, &__pyx_t_23, &__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_22); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":993 + * with pytest.raises(ValueError): + * with open(idxfname, 'ab') as idxf: + * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< + * + * with open(idxfname, 'rb') as idxf: + */ + __Pyx_TraceLine(993,0,__PYX_ERR(0, 993, __pyx_L107_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 993, __pyx_L107_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 993, __pyx_L107_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 993, __pyx_L107_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 993, __pyx_L107_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":992 + * # not overwritten) + * with pytest.raises(ValueError): + * with open(idxfname, 'ab') as idxf: # <<<<<<<<<<<<<< + * f.import_index(fileobj=idxf) + * + */ + } + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + goto __pyx_L112_try_end; + __pyx_L107_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 992, __pyx_L109_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 992, __pyx_L109_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 992, __pyx_L109_except_error) + __Pyx_GOTREF(__pyx_t_25); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 992, __pyx_L109_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 992, __pyx_L109_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L108_exception_handled; + } + __pyx_L109_except_error:; + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_23, __pyx_t_22); + goto __pyx_L97_error; + __pyx_L108_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_23, __pyx_t_22); + __pyx_L112_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_21) { + __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 992, __pyx_L97_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + } + goto __pyx_L106; + } + __pyx_L106:; + } + goto __pyx_L116; + __pyx_L103_error:; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + goto __pyx_L97_error; + __pyx_L116:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":991 + * # (append, so existing contents are + * # not overwritten) + * with pytest.raises(ValueError): # <<<<<<<<<<<<<< + * with open(idxfname, 'ab') as idxf: + * f.import_index(fileobj=idxf) + */ + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + goto __pyx_L102_try_end; + __pyx_L97_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 991, __pyx_L99_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 991, __pyx_L99_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 991, __pyx_L99_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 991, __pyx_L99_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 991, __pyx_L99_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L98_exception_handled; + } + __pyx_L99_except_error:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + goto __pyx_L87_error; + __pyx_L98_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + __pyx_L102_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_15) { + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 991, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + } + goto __pyx_L96; + } + __pyx_L96:; + } + goto __pyx_L120; + __pyx_L93_error:; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L87_error; + __pyx_L120:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":995 + * f.import_index(fileobj=idxf) + * + * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< + * f.import_index(fileobj=idxf) + * f.seek(65535 * 8) + */ + __Pyx_TraceLine(995,0,__PYX_ERR(0, 995, __pyx_L87_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 995, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_idxfname); + __Pyx_GIVEREF(__pyx_v_idxfname); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_idxfname); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 995, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 995, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 995, __pyx_L121_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 995, __pyx_L121_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_18); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":996 + * + * with open(idxfname, 'rb') as idxf: + * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + */ + __Pyx_TraceLine(996,0,__PYX_ERR(0, 996, __pyx_L125_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 996, __pyx_L125_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 996, __pyx_L125_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 996, __pyx_L125_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L125_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":995 + * f.import_index(fileobj=idxf) + * + * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< + * f.import_index(fileobj=idxf) + * f.seek(65535 * 8) + */ + } + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + goto __pyx_L130_try_end; + __pyx_L125_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 995, __pyx_L127_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 995, __pyx_L127_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 995, __pyx_L127_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 995, __pyx_L127_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 995, __pyx_L127_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L126_exception_handled; + } + __pyx_L127_except_error:; + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); + goto __pyx_L87_error; + __pyx_L126_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); + __pyx_L130_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_15) { + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 995, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } + goto __pyx_L124; + } + __pyx_L124:; + } + goto __pyx_L134; + __pyx_L121_error:; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L87_error; + __pyx_L134:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":997 + * with open(idxfname, 'rb') as idxf: + * f.import_index(fileobj=idxf) + * f.seek(65535 * 8) # <<<<<<<<<<<<<< + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 + */ + __Pyx_TraceLine(997,0,__PYX_ERR(0, 997, __pyx_L87_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 997, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_524280); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 997, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":998 + * f.import_index(fileobj=idxf) + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< + * assert val[0] == 65535 + * assert points == list(f.seek_points()) + */ + __Pyx_TraceLine(998,0,__PYX_ERR(0, 998, __pyx_L87_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_14) < 0) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_val = __pyx_t_14; + __pyx_t_14 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":999 + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 # <<<<<<<<<<<<<< + * assert points == list(f.seek_points()) + * + */ + __Pyx_TraceLine(999,0,__PYX_ERR(0, 999, __pyx_L87_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 999, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_14, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 999, __pyx_L87_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 999, __pyx_L87_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1000 + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 + * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< + * + * # Test exporting to / importing from a file-like object + */ + __Pyx_TraceLine(1000,0,__PYX_ERR(0, 1000, __pyx_L87_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 1000, __pyx_L87_error) } + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1000, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1000, __pyx_L87_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_v_points, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L87_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1000, __pyx_L87_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1000, __pyx_L87_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":986 + * + * # Check that we can read it back + * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< + * + * # Should raise if wrong permissions + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L92_try_end; + __pyx_L87_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_14, &__pyx_t_1) < 0) __PYX_ERR(0, 986, __pyx_L89_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_14); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L89_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 986, __pyx_L89_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 986, __pyx_L89_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_14, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_14 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 986, __pyx_L89_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L88_exception_handled; + } + __pyx_L89_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L88_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L92_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 986, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L86; + } + __pyx_L86:; + } + goto __pyx_L138; + __pyx_L83_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L138:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1003 + * + * # Test exporting to / importing from a file-like object + * idxf = BytesIO() # <<<<<<<<<<<<<< + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: + * f.build_full_index() + */ + __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1003, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1003, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1004 + * # Test exporting to / importing from a file-like object + * idxf = BytesIO() + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * f.export_index(fileobj=idxf) + */ + __Pyx_TraceLine(1004,0,__PYX_ERR(0, 1004, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1004, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 1004, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1004, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1004, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L139_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L139_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1005 + * idxf = BytesIO() + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: + * f.build_full_index() # <<<<<<<<<<<<<< + * f.export_index(fileobj=idxf) + * points = list(f.seek_points()) + */ + __Pyx_TraceLine(1005,0,__PYX_ERR(0, 1005, __pyx_L143_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1005, __pyx_L143_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L143_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1006 + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: + * f.build_full_index() + * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< + * points = list(f.seek_points()) + * idxf.seek(0) + */ + __Pyx_TraceLine(1006,0,__PYX_ERR(0, 1006, __pyx_L143_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1006, __pyx_L143_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1006, __pyx_L143_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1006, __pyx_L143_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1006, __pyx_L143_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1007 + * f.build_full_index() + * f.export_index(fileobj=idxf) + * points = list(f.seek_points()) # <<<<<<<<<<<<<< + * idxf.seek(0) + * with igzip._IndexedGzipFile(fname) as f: + */ + __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L143_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1007, __pyx_L143_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1007, __pyx_L143_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1007, __pyx_L143_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_points, ((PyObject*)__pyx_t_5)); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1004 + * # Test exporting to / importing from a file-like object + * idxf = BytesIO() + * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * f.export_index(fileobj=idxf) + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L148_try_end; + __pyx_L143_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 1004, __pyx_L145_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1004, __pyx_L145_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_14, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1004, __pyx_L145_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1004, __pyx_L145_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_1); + __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1004, __pyx_L145_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L144_exception_handled; + } + __pyx_L145_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L144_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L148_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1004, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L142; + } + __pyx_L142:; + } + goto __pyx_L152; + __pyx_L139_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L152:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1008 + * f.export_index(fileobj=idxf) + * points = list(f.seek_points()) + * idxf.seek(0) # <<<<<<<<<<<<<< + * with igzip._IndexedGzipFile(fname) as f: + * f.import_index(fileobj=idxf) + */ + __Pyx_TraceLine(1008,0,__PYX_ERR(0, 1008, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_idxf, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1008, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1008, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1009 + * points = list(f.seek_points()) + * idxf.seek(0) + * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< + * f.import_index(fileobj=idxf) + * f.seek(65535 * 8) + */ + __Pyx_TraceLine(1009,0,__PYX_ERR(0, 1009, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1009, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_fname); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1009, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1009, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L153_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1009, __pyx_L153_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1010 + * idxf.seek(0) + * with igzip._IndexedGzipFile(fname) as f: + * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + */ + __Pyx_TraceLine(1010,0,__PYX_ERR(0, 1010, __pyx_L157_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1010, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1010, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1010, __pyx_L157_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1010, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1011 + * with igzip._IndexedGzipFile(fname) as f: + * f.import_index(fileobj=idxf) + * f.seek(65535 * 8) # <<<<<<<<<<<<<< + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 + */ + __Pyx_TraceLine(1011,0,__PYX_ERR(0, 1011, __pyx_L157_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1011, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_524280); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1011, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1012 + * f.import_index(fileobj=idxf) + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< + * assert val[0] == 65535 + * assert points == list(f.seek_points()) + */ + __Pyx_TraceLine(1012,0,__PYX_ERR(0, 1012, __pyx_L157_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1013 + * f.seek(65535 * 8) + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 # <<<<<<<<<<<<<< + * assert points == list(f.seek_points()) + * + */ + __Pyx_TraceLine(1013,0,__PYX_ERR(0, 1013, __pyx_L157_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1013, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1013, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1013, __pyx_L157_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1013, __pyx_L157_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1014 + * val = np.frombuffer(f.read(8), dtype=np.uint64) + * assert val[0] == 65535 + * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L157_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 1014, __pyx_L157_error) } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1014, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1014, __pyx_L157_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_v_points, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L157_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1014, __pyx_L157_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1014, __pyx_L157_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1009 + * points = list(f.seek_points()) + * idxf.seek(0) + * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< + * f.import_index(fileobj=idxf) + * f.seek(65535 * 8) + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L162_try_end; + __pyx_L157_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 1009, __pyx_L159_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1009, __pyx_L159_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1009, __pyx_L159_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1009, __pyx_L159_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_3); + __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 1009, __pyx_L159_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L158_exception_handled; + } + __pyx_L159_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L158_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L162_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1009, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L156; + } + __pyx_L156:; + } + goto __pyx_L166; + __pyx_L153_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L166:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":962 + * def test_import_export_index_open_file(): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 962, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 962, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 962, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 962, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 962, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L170; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L170:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 + * + * + * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_idxfname); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_points); + __Pyx_XDECREF(__pyx_v_idxf); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 + * + * + * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable = {"test_build_index_from_unseekable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_build_index_from_unseekable (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_build_index_from_unseekable(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_build_index_from_unseekable(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_idxfname = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_b = NULL; + PyObject *__pyx_v_fileobj = NULL; + CYTHON_UNUSED PyObject *__pyx_v_points = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_t_17; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__73) + __Pyx_RefNannySetupContext("test_build_index_from_unseekable", 0); + __Pyx_TraceCall("test_build_index_from_unseekable", __pyx_f[0], 1017, 0, __PYX_ERR(0, 1017, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1018 + * + * def test_build_index_from_unseekable(): + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') + */ + __Pyx_TraceLine(1018,0,__PYX_ERR(0, 1018, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1018, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1018, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1018, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1019 + * def test_build_index_from_unseekable(): + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * idxfname = op.join(td, 'test.gzidx') + * + */ + __Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1019, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1019, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1020 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< + * + * # make a test file + */ + __Pyx_TraceLine(1020,0,__PYX_ERR(0, 1020, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1020, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1020, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1020, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gzidx); + __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_idxfname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1023 + * + * # make a test file + * data = np.arange(5242, dtype=np.uint64) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tostring()) + */ + __Pyx_TraceLine(1023,0,__PYX_ERR(0, 1023, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__74, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_data = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 + * # make a test file + * data = np.arange(5242, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + __Pyx_TraceLine(1024,0,__PYX_ERR(0, 1024, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1024, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1024, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1024, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1024, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1025 + * data = np.arange(5242, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tostring()) # <<<<<<<<<<<<<< + * + * # Test creating the index when file is unseekable, + */ + __Pyx_TraceLine(1025,0,__PYX_ERR(0, 1025, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1025, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1025, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1025, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1025, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 + * # make a test file + * data = np.arange(5242, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1024, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1024, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1024, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1024, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1024, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1024, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1029 + * # Test creating the index when file is unseekable, + * # then using the index when file is seekable. + * with open(fname, 'rb') as f: # <<<<<<<<<<<<<< + * b = f.read() + * fileobj = BytesIO(b) + */ + __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L7_error)) + /*with:*/ { + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1029, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1030 + * # then using the index when file is seekable. + * with open(fname, 'rb') as f: + * b = f.read() # <<<<<<<<<<<<<< + * fileobj = BytesIO(b) + * + */ + __Pyx_TraceLine(1030,0,__PYX_ERR(0, 1030, __pyx_L31_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1030, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1030, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_b = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1031 + * with open(fname, 'rb') as f: + * b = f.read() + * fileobj = BytesIO(b) # <<<<<<<<<<<<<< + * + * fileobj = GzipStream(data) + */ + __Pyx_TraceLine(1031,0,__PYX_ERR(0, 1031, __pyx_L31_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1031, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_b) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_b); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1031, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fileobj = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1029 + * # Test creating the index when file is unseekable, + * # then using the index when file is seekable. + * with open(fname, 'rb') as f: # <<<<<<<<<<<<<< + * b = f.read() + * fileobj = BytesIO(b) + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1029, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1029, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1029, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1029, __pyx_L33_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1029, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L40; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L40:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1033 + * fileobj = BytesIO(b) + * + * fileobj = GzipStream(data) # <<<<<<<<<<<<<< + * + * """def new_seek(*args, **kwargs): + */ + __Pyx_TraceLine(1033,0,__PYX_ERR(0, 1033, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GzipStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1033, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_data); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1033, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_fileobj, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1048 + * + * # generate an index file + * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * f.export_index(idxfname) + */ + __Pyx_TraceLine(1048,0,__PYX_ERR(0, 1048, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1048, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1048, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1048, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fileobj); + __Pyx_GIVEREF(__pyx_v_fileobj); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fileobj); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 1048, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1048, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1048, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1048, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1049 + * # generate an index file + * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: + * f.build_full_index() # <<<<<<<<<<<<<< + * f.export_index(idxfname) + * points = list(f.seek_points()) + */ + __Pyx_TraceLine(1049,0,__PYX_ERR(0, 1049, __pyx_L45_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1049, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1049, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1050 + * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: + * f.build_full_index() + * f.export_index(idxfname) # <<<<<<<<<<<<<< + * points = list(f.seek_points()) + * + */ + __Pyx_TraceLine(1050,0,__PYX_ERR(0, 1050, __pyx_L45_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1050, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1050, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1051 + * f.build_full_index() + * f.export_index(idxfname) + * points = list(f.seek_points()) # <<<<<<<<<<<<<< + * + * return + */ + __Pyx_TraceLine(1051,0,__PYX_ERR(0, 1051, __pyx_L45_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1051, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_points = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1048 + * + * # generate an index file + * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * f.export_index(idxfname) + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L50_try_end; + __pyx_L45_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1048, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1048, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1048, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1048, __pyx_L47_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1048, __pyx_L47_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L46_exception_handled; + } + __pyx_L47_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L46_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L50_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1048, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L44; + } + __pyx_L44:; + } + goto __pyx_L54; + __pyx_L41_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L54:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1053 + * points = list(f.seek_points()) + * + * return # <<<<<<<<<<<<<< + * fileobj.seek = old_seek + * fileobj.tell = old_tell + */ + __Pyx_TraceLine(1053,0,__PYX_ERR(0, 1053, __pyx_L7_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L11_try_return; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1018 + * + * def test_build_index_from_unseekable(): + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') + */ + } + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 1018, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1018, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1018, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 1018, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L11_try_return:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L4_return; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1018, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L4_return: { + __pyx_t_8 = __pyx_r; + __pyx_r = 0; + if (__pyx_t_4) { + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1018, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __pyx_r = __pyx_t_8; + __pyx_t_8 = 0; + goto __pyx_L0; + } + __pyx_L6:; + } + goto __pyx_L58; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L58:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 + * + * + * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_idxfname); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_b); + __Pyx_XDECREF(__pyx_v_fileobj); + __Pyx_XDECREF(__pyx_v_points); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1066 + * + * + * def test_wrapper_class(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class = {"test_wrapper_class", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_wrapper_class (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrapper_class(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrapper_class(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_td = NULL; + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_idxfname = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_t_17; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__75) + __Pyx_RefNannySetupContext("test_wrapper_class", 0); + __Pyx_TraceCall("test_wrapper_class", __pyx_f[0], 1066, 0, __PYX_ERR(0, 1066, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1068 + * def test_wrapper_class(): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') + */ + __Pyx_TraceLine(1068,0,__PYX_ERR(0, 1068, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1068, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1068, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1068, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1068, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1068, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_td = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1069 + * + * with tempdir() as td: + * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< + * idxfname = op.join(td, 'test.gzidx') + * + */ + __Pyx_TraceLine(1069,0,__PYX_ERR(0, 1069, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1069, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1069, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1069, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1069, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1069, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gz); + __Pyx_GIVEREF(__pyx_kp_s_test_gz); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1069, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1070 + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< + * + * data = np.arange(65536, dtype=np.uint64) + */ + __Pyx_TraceLine(1070,0,__PYX_ERR(0, 1070, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1070, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1070, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1070, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_gzidx); + __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_idxfname = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1072 + * idxfname = op.join(td, 'test.gzidx') + * + * data = np.arange(65536, dtype=np.uint64) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tostring()) + */ + __Pyx_TraceLine(1072,0,__PYX_ERR(0, 1072, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__76, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_data = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1073 + * + * data = np.arange(65536, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + __Pyx_TraceLine(1073,0,__PYX_ERR(0, 1073, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1073, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1073, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1074 + * data = np.arange(65536, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tostring()) # <<<<<<<<<<<<<< + * + * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: + */ + __Pyx_TraceLine(1074,0,__PYX_ERR(0, 1074, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1074, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1074, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1074, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1073 + * + * data = np.arange(65536, dtype=np.uint64) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1073, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1073, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1073, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1073, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1073, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1076 + * f.write(data.tostring()) + * + * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: # <<<<<<<<<<<<<< + * + * assert f.fileno() == f.fileobj().fileno() + */ + __Pyx_TraceLine(1076,0,__PYX_ERR(0, 1076, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1076, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1076, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1076, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1076, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1076, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1076, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1076, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1078 + * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: + * + * assert f.fileno() == f.fileobj().fileno() # <<<<<<<<<<<<<< + * assert not f.drop_handles + * + */ + __Pyx_TraceLine(1078,0,__PYX_ERR(0, 1078, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1078, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1078, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1078, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1078, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1079 + * + * assert f.fileno() == f.fileobj().fileno() + * assert not f.drop_handles # <<<<<<<<<<<<<< + * + * f.build_full_index() + */ + __Pyx_TraceLine(1079,0,__PYX_ERR(0, 1079, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1079, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1079, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!((!__pyx_t_17) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1079, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1081 + * assert not f.drop_handles + * + * f.build_full_index() # <<<<<<<<<<<<<< + * f.export_index(idxfname) + * + */ + __Pyx_TraceLine(1081,0,__PYX_ERR(0, 1081, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1081, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1082 + * + * f.build_full_index() + * f.export_index(idxfname) # <<<<<<<<<<<<<< + * + * f.import_index(idxfname) + */ + __Pyx_TraceLine(1082,0,__PYX_ERR(0, 1082, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1082, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1082, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1084 + * f.export_index(idxfname) + * + * f.import_index(idxfname) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1084,0,__PYX_ERR(0, 1084, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1084, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1076 + * f.write(data.tostring()) + * + * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: # <<<<<<<<<<<<<< + * + * assert f.fileno() == f.fileobj().fileno() + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1076, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1076, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1076, __pyx_L33_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1076, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1076, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L40; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L40:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1068 + * def test_wrapper_class(): + * + * with tempdir() as td: # <<<<<<<<<<<<<< + * fname = op.join(td, 'test.gz') + * idxfname = op.join(td, 'test.gzidx') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 1068, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1068, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1068, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1068, __pyx_L9_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_2); + __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1068, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1068, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L44; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L44:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1066 + * + * + * def test_wrapper_class(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_td); + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_idxfname); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 + * + * + * def gcd(num): # <<<<<<<<<<<<<< + * if num <= 3: + * return 1 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd(PyObject *__pyx_self, PyObject *__pyx_v_num); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd = {"gcd", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd(PyObject *__pyx_self, PyObject *__pyx_v_num) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("gcd (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(__pyx_self, ((PyObject *)__pyx_v_num)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_num) { + PyObject *__pyx_v_candidates = NULL; + PyObject *__pyx_v_divisor = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + int __pyx_t_7; + int __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__77) + __Pyx_RefNannySetupContext("gcd", 0); + __Pyx_TraceCall("gcd", __pyx_f[0], 1087, 0, __PYX_ERR(0, 1087, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1088 + * + * def gcd(num): + * if num <= 3: # <<<<<<<<<<<<<< + * return 1 + * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) + */ + __Pyx_TraceLine(1088,0,__PYX_ERR(0, 1088, __pyx_L1_error)) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_num, __pyx_int_3, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1088, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1088, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_2) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1089 + * def gcd(num): + * if num <= 3: + * return 1 # <<<<<<<<<<<<<< + * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) + * candidates.extend((2, 1)) + */ + __Pyx_TraceLine(1089,0,__PYX_ERR(0, 1089, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_int_1); + __pyx_r = __pyx_int_1; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1088 + * + * def gcd(num): + * if num <= 3: # <<<<<<<<<<<<<< + * return 1 + * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1090 + * if num <= 3: + * return 1 + * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) # <<<<<<<<<<<<<< + * candidates.extend((2, 1)) + * for divisor in candidates: + */ + __Pyx_TraceLine(1090,0,__PYX_ERR(0, 1090, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ceil); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_num) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_num); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); + __Pyx_INCREF(__pyx_int_2); + __Pyx_GIVEREF(__pyx_int_2); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_2); + __Pyx_INCREF(__pyx_int_neg_2); + __Pyx_GIVEREF(__pyx_int_neg_2); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_neg_2); + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_candidates = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1091 + * return 1 + * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) + * candidates.extend((2, 1)) # <<<<<<<<<<<<<< + * for divisor in candidates: + * if num % divisor == 0: + */ + __Pyx_TraceLine(1091,0,__PYX_ERR(0, 1091, __pyx_L1_error)) + __pyx_t_7 = __Pyx_ListComp_Append(__pyx_v_candidates, __pyx_int_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 1091, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_candidates, __pyx_int_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1091, __pyx_L1_error) + (void)((__pyx_t_7 | __pyx_t_8)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1092 + * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) + * candidates.extend((2, 1)) + * for divisor in candidates: # <<<<<<<<<<<<<< + * if num % divisor == 0: + * return divisor + */ + __Pyx_TraceLine(1092,0,__PYX_ERR(0, 1092, __pyx_L1_error)) + __pyx_t_1 = __pyx_v_candidates; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; + for (;;) { + if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1092, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1092, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + __Pyx_XDECREF_SET(__pyx_v_divisor, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1093 + * candidates.extend((2, 1)) + * for divisor in candidates: + * if num % divisor == 0: # <<<<<<<<<<<<<< + * return divisor + * return 1 + */ + __Pyx_TraceLine(1093,0,__PYX_ERR(0, 1093, __pyx_L1_error)) + __pyx_t_4 = PyNumber_Remainder(__pyx_v_num, __pyx_v_divisor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1093, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1093, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1093, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_2) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1094 + * for divisor in candidates: + * if num % divisor == 0: + * return divisor # <<<<<<<<<<<<<< + * return 1 + * + */ + __Pyx_TraceLine(1094,0,__PYX_ERR(0, 1094, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_divisor); + __pyx_r = __pyx_v_divisor; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1093 + * candidates.extend((2, 1)) + * for divisor in candidates: + * if num % divisor == 0: # <<<<<<<<<<<<<< + * return divisor + * return 1 + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1092 + * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) + * candidates.extend((2, 1)) + * for divisor in candidates: # <<<<<<<<<<<<<< + * if num % divisor == 0: + * return divisor + */ + __Pyx_TraceLine(1092,0,__PYX_ERR(0, 1092, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1095 + * if num % divisor == 0: + * return divisor + * return 1 # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1095,0,__PYX_ERR(0, 1095, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_int_1); + __pyx_r = __pyx_int_1; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 + * + * + * def gcd(num): # <<<<<<<<<<<<<< + * if num <= 3: + * return 1 + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.gcd", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_candidates); + __Pyx_XDECREF(__pyx_v_divisor); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 + * + * + * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< + * + * fname = 'test.gz' + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf = {"test_size_multiple_of_readbuf", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_size_multiple_of_readbuf (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size_multiple_of_readbuf(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size_multiple_of_readbuf(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_fsize = NULL; + PyObject *__pyx_v_bufsz = NULL; + PyObject *__pyx_v_read = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_t_17; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__78) + __Pyx_RefNannySetupContext("test_size_multiple_of_readbuf", 0); + __Pyx_TraceCall("test_size_multiple_of_readbuf", __pyx_f[0], 1098, 0, __PYX_ERR(0, 1098, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1100 + * def test_size_multiple_of_readbuf(): + * + * fname = 'test.gz' # <<<<<<<<<<<<<< + * + * with tempdir(): + */ + __Pyx_TraceLine(1100,0,__PYX_ERR(0, 1100, __pyx_L1_error)) + __Pyx_INCREF(__pyx_kp_s_test_gz); + __pyx_v_fname = __pyx_kp_s_test_gz; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1102 + * fname = 'test.gz' + * + * with tempdir(): # <<<<<<<<<<<<<< + * + * while True: + */ + __Pyx_TraceLine(1102,0,__PYX_ERR(0, 1102, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1102, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1102, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1102, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1104 + * with tempdir(): + * + * while True: # <<<<<<<<<<<<<< + * + * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) + */ + __Pyx_TraceLine(1104,0,__PYX_ERR(0, 1104, __pyx_L7_error)) + while (1) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1106 + * while True: + * + * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(1106,0,__PYX_ERR(0, 1106, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__79, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1107 + * + * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * del f + */ + __Pyx_TraceLine(1107,0,__PYX_ERR(0, 1107, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_9, __pyx_n_s_wb); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1107, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1107, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1108 + * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * del f + * f = None + */ + __Pyx_TraceLine(1108,0,__PYX_ERR(0, 1108, __pyx_L21_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1108, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1108, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1108, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1108, __pyx_L21_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1107 + * + * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * del f + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L28_try_end; + __pyx_L21_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1107, __pyx_L23_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L23_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1107, __pyx_L23_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1107, __pyx_L23_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1107, __pyx_L23_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L22_exception_handled; + } + __pyx_L23_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L22_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L28_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L20; + } + __pyx_L20:; + } + goto __pyx_L32; + __pyx_L15_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L32:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + * del f # <<<<<<<<<<<<<< + * f = None + * + */ + __Pyx_TraceLine(1109,0,__PYX_ERR(0, 1109, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1109, __pyx_L7_error) } + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1110 + * f.write(data.tobytes()) + * del f + * f = None # <<<<<<<<<<<<<< + * + * # we need a file size that is divisible + */ + __Pyx_TraceLine(1110,0,__PYX_ERR(0, 1110, __pyx_L7_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1114 + * # we need a file size that is divisible + * # by the minimum readbuf size + * fsize = op.getsize(fname) # <<<<<<<<<<<<<< + * if gcd(fsize) >= 128: + * break + */ + __Pyx_TraceLine(1114,0,__PYX_ERR(0, 1114, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_op); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1114, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getsize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1114, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fname); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_fsize, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1115 + * # by the minimum readbuf size + * fsize = op.getsize(fname) + * if gcd(fsize) >= 128: # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(1115,0,__PYX_ERR(0, 1115, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gcd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1115, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fsize); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1115, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_int_128, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1115, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1115, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_17) { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1116 + * fsize = op.getsize(fname) + * if gcd(fsize) >= 128: + * break # <<<<<<<<<<<<<< + * + * # readbuf size == file size + */ + __Pyx_TraceLine(1116,0,__PYX_ERR(0, 1116, __pyx_L7_error)) + goto __pyx_L14_break; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1115 + * # by the minimum readbuf size + * fsize = op.getsize(fname) + * if gcd(fsize) >= 128: # <<<<<<<<<<<<<< + * break + * + */ + } + } + __pyx_L14_break:; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1119 + * + * # readbuf size == file size + * bufsz = fsize # <<<<<<<<<<<<<< + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + */ + __Pyx_TraceLine(1119,0,__PYX_ERR(0, 1119, __pyx_L7_error)) + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1119, __pyx_L7_error) } + __Pyx_INCREF(__pyx_v_fsize); + __pyx_v_bufsz = __pyx_v_fsize; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1121 + * bufsz = fsize + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< + * assert f.seek(fsize) == fsize + * del f + */ + __Pyx_TraceLine(1121,0,__PYX_ERR(0, 1121, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1121, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1121, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1121, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1121, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1121, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1121, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1121, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1121, __pyx_L34_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1121, __pyx_L34_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1122 + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + * assert f.seek(fsize) == fsize # <<<<<<<<<<<<<< + * del f + * f = None + */ + __Pyx_TraceLine(1122,0,__PYX_ERR(0, 1122, __pyx_L38_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1122, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_2); + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1122, __pyx_L38_error) } + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_fsize); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1122, __pyx_L38_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1122, __pyx_L38_error) } + __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_v_fsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1122, __pyx_L38_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1122, __pyx_L38_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1122, __pyx_L38_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1121 + * bufsz = fsize + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< + * assert f.seek(fsize) == fsize + * del f + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L43_try_end; + __pyx_L38_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1121, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1121, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1121, __pyx_L40_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1121, __pyx_L40_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1121, __pyx_L40_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L39_exception_handled; + } + __pyx_L40_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L39_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L43_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1121, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L37; + } + __pyx_L37:; + } + goto __pyx_L47; + __pyx_L34_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L47:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1123 + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + * assert f.seek(fsize) == fsize + * del f # <<<<<<<<<<<<<< + * f = None + * + */ + __Pyx_TraceLine(1123,0,__PYX_ERR(0, 1123, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1123, __pyx_L7_error) } + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1124 + * assert f.seek(fsize) == fsize + * del f + * f = None # <<<<<<<<<<<<<< + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + */ + __Pyx_TraceLine(1124,0,__PYX_ERR(0, 1124, __pyx_L7_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1126 + * f = None + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) + * assert np.all(read == data) + */ + __Pyx_TraceLine(1126,0,__PYX_ERR(0, 1126, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1126, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1126, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1126, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1126, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1126, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1126, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1126, __pyx_L48_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L48_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1127 + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) # <<<<<<<<<<<<<< + * assert np.all(read == data) + * del f + */ + __Pyx_TraceLine(1127,0,__PYX_ERR(0, 1127, __pyx_L52_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_shape, __pyx_int_100000) < 0) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_t_3) < 0) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_read = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1128 + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) + * assert np.all(read == data) # <<<<<<<<<<<<<< + * del f + * f = None + */ + __Pyx_TraceLine(1128,0,__PYX_ERR(0, 1128, __pyx_L52_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1128, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 1128, __pyx_L52_error) } + __pyx_t_5 = PyObject_RichCompare(__pyx_v_read, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1128, __pyx_L52_error) + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1128, __pyx_L52_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1128, __pyx_L52_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1128, __pyx_L52_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1126 + * f = None + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) + * assert np.all(read == data) + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L57_try_end; + __pyx_L52_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1126, __pyx_L54_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L54_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1126, __pyx_L54_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1126, __pyx_L54_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1126, __pyx_L54_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L53_exception_handled; + } + __pyx_L54_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L53_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L57_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1126, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L51; + } + __pyx_L51:; + } + goto __pyx_L61; + __pyx_L48_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L61:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1129 + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) + * assert np.all(read == data) + * del f # <<<<<<<<<<<<<< + * f = None + * + */ + __Pyx_TraceLine(1129,0,__PYX_ERR(0, 1129, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1130 + * assert np.all(read == data) + * del f + * f = None # <<<<<<<<<<<<<< + * + * # Use a buf size that is a divisor of the file size + */ + __Pyx_TraceLine(1130,0,__PYX_ERR(0, 1130, __pyx_L7_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1133 + * + * # Use a buf size that is a divisor of the file size + * bufsz = gcd(fsize) # <<<<<<<<<<<<<< + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + */ + __Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gcd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1133, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1133, __pyx_L7_error) } + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_fsize); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1133, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF_SET(__pyx_v_bufsz, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1135 + * bufsz = gcd(fsize) + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< + * assert f.seek(fsize) == fsize + * del f + */ + __Pyx_TraceLine(1135,0,__PYX_ERR(0, 1135, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1135, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1135, __pyx_L62_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1135, __pyx_L62_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1136 + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + * assert f.seek(fsize) == fsize # <<<<<<<<<<<<<< + * del f + * f = None + */ + __Pyx_TraceLine(1136,0,__PYX_ERR(0, 1136, __pyx_L66_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1136, __pyx_L66_error) + __Pyx_GOTREF(__pyx_t_2); + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1136, __pyx_L66_error) } + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_fsize); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1136, __pyx_L66_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1136, __pyx_L66_error) } + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_v_fsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1136, __pyx_L66_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1136, __pyx_L66_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1136, __pyx_L66_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1135 + * bufsz = gcd(fsize) + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< + * assert f.seek(fsize) == fsize + * del f + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L71_try_end; + __pyx_L66_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 1135, __pyx_L68_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1135, __pyx_L68_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1135, __pyx_L68_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1135, __pyx_L68_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 1135, __pyx_L68_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L67_exception_handled; + } + __pyx_L68_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L67_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L71_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L65; + } + __pyx_L65:; + } + goto __pyx_L75; + __pyx_L62_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L75:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1137 + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + * assert f.seek(fsize) == fsize + * del f # <<<<<<<<<<<<<< + * f = None + * + */ + __Pyx_TraceLine(1137,0,__PYX_ERR(0, 1137, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1138 + * assert f.seek(fsize) == fsize + * del f + * f = None # <<<<<<<<<<<<<< + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + */ + __Pyx_TraceLine(1138,0,__PYX_ERR(0, 1138, __pyx_L7_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1140 + * f = None + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) + * assert np.all(read == data) + */ + __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1140, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1140, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1140, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1140, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L76_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L76_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1141 + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) # <<<<<<<<<<<<<< + * assert np.all(read == data) + * del f + */ + __Pyx_TraceLine(1141,0,__PYX_ERR(0, 1141, __pyx_L80_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_int_100000) < 0) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_buffer, __pyx_t_5) < 0) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_read, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1142 + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) + * assert np.all(read == data) # <<<<<<<<<<<<<< + * del f + * f = None + */ + __Pyx_TraceLine(1142,0,__PYX_ERR(0, 1142, __pyx_L80_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1142, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1142, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 1142, __pyx_L80_error) } + __pyx_t_3 = PyObject_RichCompare(__pyx_v_read, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1142, __pyx_L80_error) + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1142, __pyx_L80_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1142, __pyx_L80_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1142, __pyx_L80_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1140 + * f = None + * + * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) + * assert np.all(read == data) + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L85_try_end; + __pyx_L80_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1140, __pyx_L82_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L82_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1140, __pyx_L82_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1140, __pyx_L82_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); + __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 1140, __pyx_L82_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L81_exception_handled; + } + __pyx_L82_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L81_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L85_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1140, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L79; + } + __pyx_L79:; + } + goto __pyx_L89; + __pyx_L76_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L89:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1143 + * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) + * assert np.all(read == data) + * del f # <<<<<<<<<<<<<< + * f = None + * + */ + __Pyx_TraceLine(1143,0,__PYX_ERR(0, 1143, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1144 + * assert np.all(read == data) + * del f + * f = None # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1144,0,__PYX_ERR(0, 1144, __pyx_L7_error)) + __Pyx_INCREF(Py_None); + __pyx_v_f = Py_None; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1102 + * fname = 'test.gz' + * + * with tempdir(): # <<<<<<<<<<<<<< + * + * while True: + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1102, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1102, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1102, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1102, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1102, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L93; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L93:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 + * + * + * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< + * + * fname = 'test.gz' + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fsize); + __Pyx_XDECREF(__pyx_v_bufsz); + __Pyx_XDECREF(__pyx_v_read); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 + * + * + * def test_picklable(): # <<<<<<<<<<<<<< + * + * # default behaviour is for drop_handles=True, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable = {"test_picklable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_picklable (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_picklable(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_picklable(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_gzf = NULL; + PyObject *__pyx_v_first50MB = NULL; + PyObject *__pyx_v_pickled = NULL; + PyObject *__pyx_v_second50MB = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + int __pyx_t_16; + int __pyx_t_17; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__80) + __Pyx_RefNannySetupContext("test_picklable", 0); + __Pyx_TraceCall("test_picklable", __pyx_f[0], 1147, 0, __PYX_ERR(0, 1147, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1152 + * # which means that an IndexedGzipFile object + * # should be picklable/serialisable + * fname = 'test.gz' # <<<<<<<<<<<<<< + * + * with tempdir(): + */ + __Pyx_TraceLine(1152,0,__PYX_ERR(0, 1152, __pyx_L1_error)) + __Pyx_INCREF(__pyx_kp_s_test_gz); + __pyx_v_fname = __pyx_kp_s_test_gz; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1154 + * fname = 'test.gz' + * + * with tempdir(): # <<<<<<<<<<<<<< + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: + */ + __Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1154, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1155 + * + * with tempdir(): + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< + * with open(fname+'.bin', 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__82, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_data = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1156 + * with tempdir(): + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * compress(fname+'.bin', fname) + */ + __Pyx_TraceLine(1156,0,__PYX_ERR(0, 1156, __pyx_L7_error)) + /*with:*/ { + __pyx_t_5 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1156, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_wb); + __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1156, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1156, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1156, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1157 + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * compress(fname+'.bin', fname) + * del f + */ + __Pyx_TraceLine(1157,0,__PYX_ERR(0, 1157, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1157, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1157, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1157, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1157, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1156 + * with tempdir(): + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * compress(fname+'.bin', fname) + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1156, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1156, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1156, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1156, __pyx_L19_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_2); + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1156, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1156, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 + * with open(fname+'.bin', 'wb') as f: + * f.write(data.tobytes()) + * compress(fname+'.bin', fname) # <<<<<<<<<<<<<< + * del f + * + */ + __Pyx_TraceLine(1158,0,__PYX_ERR(0, 1158, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_compress); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + __pyx_t_17 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_17 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + { + __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_17, __pyx_t_1); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_v_fname); + __pyx_t_1 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1159 + * f.write(data.tobytes()) + * compress(fname+'.bin', fname) + * del f # <<<<<<<<<<<<<< + * + * gzf = igzip.IndexedGzipFile(fname) + */ + __Pyx_TraceLine(1159,0,__PYX_ERR(0, 1159, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1159, __pyx_L7_error) } + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1161 + * del f + * + * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< + * first50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) + */ + __Pyx_TraceLine(1161,0,__PYX_ERR(0, 1161, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1161, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1161, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_fname); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1161, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_v_gzf = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1162 + * + * gzf = igzip.IndexedGzipFile(fname) + * first50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< + * gzf.seek(gzf.tell()) + * pickled = pickle.dumps(gzf) + */ + __Pyx_TraceLine(1162,0,__PYX_ERR(0, 1162, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1162, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1162, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_v_first50MB = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1163 + * gzf = igzip.IndexedGzipFile(fname) + * first50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< + * pickled = pickle.dumps(gzf) + * second50MB = gzf.read(1048576 * 50) + */ + __Pyx_TraceLine(1163,0,__PYX_ERR(0, 1163, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1163, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1163, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1163, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1163, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1164 + * first50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) + * pickled = pickle.dumps(gzf) # <<<<<<<<<<<<<< + * second50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) + */ + __Pyx_TraceLine(1164,0,__PYX_ERR(0, 1164, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_dumps); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_gzf); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1164, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_pickled = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1165 + * gzf.seek(gzf.tell()) + * pickled = pickle.dumps(gzf) + * second50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< + * gzf.seek(gzf.tell()) + * + */ + __Pyx_TraceLine(1165,0,__PYX_ERR(0, 1165, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1165, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_second50MB = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1166 + * pickled = pickle.dumps(gzf) + * second50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< + * + * gzf.close() + */ + __Pyx_TraceLine(1166,0,__PYX_ERR(0, 1166, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1166, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1166, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1166, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1168 + * gzf.seek(gzf.tell()) + * + * gzf.close() # <<<<<<<<<<<<<< + * del gzf + * + */ + __Pyx_TraceLine(1168,0,__PYX_ERR(0, 1168, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1168, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1168, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1169 + * + * gzf.close() + * del gzf # <<<<<<<<<<<<<< + * + * gzf = pickle.loads(pickled) + */ + __Pyx_TraceLine(1169,0,__PYX_ERR(0, 1169, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1171 + * del gzf + * + * gzf = pickle.loads(pickled) # <<<<<<<<<<<<<< + * assert gzf.tell() == 1048576 * 50 + * assert gzf.read(1048576 * 50) == second50MB + */ + __Pyx_TraceLine(1171,0,__PYX_ERR(0, 1171, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1171, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_loads); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1171, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_pickled) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_pickled); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1171, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_v_gzf = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1172 + * + * gzf = pickle.loads(pickled) + * assert gzf.tell() == 1048576 * 50 # <<<<<<<<<<<<<< + * assert gzf.read(1048576 * 50) == second50MB + * gzf.seek(0) + */ + __Pyx_TraceLine(1172,0,__PYX_ERR(0, 1172, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1172, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1172, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_52428800, 0x3200000, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1172, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1172, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1172, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1173 + * gzf = pickle.loads(pickled) + * assert gzf.tell() == 1048576 * 50 + * assert gzf.read(1048576 * 50) == second50MB # <<<<<<<<<<<<<< + * gzf.seek(0) + * assert gzf.read(1048576 * 50) == first50MB + */ + __Pyx_TraceLine(1173,0,__PYX_ERR(0, 1173, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1173, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_13, __pyx_v_second50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1173, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1173, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1174 + * assert gzf.tell() == 1048576 * 50 + * assert gzf.read(1048576 * 50) == second50MB + * gzf.seek(0) # <<<<<<<<<<<<<< + * assert gzf.read(1048576 * 50) == first50MB + * gzf.close() + */ + __Pyx_TraceLine(1174,0,__PYX_ERR(0, 1174, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1174, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1174, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1175 + * assert gzf.read(1048576 * 50) == second50MB + * gzf.seek(0) + * assert gzf.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< + * gzf.close() + * del gzf + */ + __Pyx_TraceLine(1175,0,__PYX_ERR(0, 1175, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1175, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1175, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1175, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1175, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1175, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1176 + * gzf.seek(0) + * assert gzf.read(1048576 * 50) == first50MB + * gzf.close() # <<<<<<<<<<<<<< + * del gzf + * + */ + __Pyx_TraceLine(1176,0,__PYX_ERR(0, 1176, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1176, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1176, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1177 + * assert gzf.read(1048576 * 50) == first50MB + * gzf.close() + * del gzf # <<<<<<<<<<<<<< + * + * # if drop_handles=False, no pickle + */ + __Pyx_TraceLine(1177,0,__PYX_ERR(0, 1177, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1154 + * fname = 'test.gz' + * + * with tempdir(): # <<<<<<<<<<<<<< + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1154, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1154, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1154, __pyx_L9_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_2, __pyx_t_5); + __pyx_t_13 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1154, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L30; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L30:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1180 + * + * # if drop_handles=False, no pickle + * with tempdir(): # <<<<<<<<<<<<<< + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: + */ + __Pyx_TraceLine(1180,0,__PYX_ERR(0, 1180, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1180, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1180, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1180, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1180, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1180, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1181 + * # if drop_handles=False, no pickle + * with tempdir(): + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(1181,0,__PYX_ERR(0, 1181, __pyx_L35_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_uint32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__83, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1182 + * with tempdir(): + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * del f + */ + __Pyx_TraceLine(1182,0,__PYX_ERR(0, 1182, __pyx_L35_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_17 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_17 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_17, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_n_s_wb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1182, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1182, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_13); + __pyx_t_13 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1183 + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * del f + * + */ + __Pyx_TraceLine(1183,0,__PYX_ERR(0, 1183, __pyx_L45_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1183, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1183, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1183, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1183, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1182 + * with tempdir(): + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * del f + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L50_try_end; + __pyx_L45_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1182, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1182, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1182, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1182, __pyx_L47_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_1, __pyx_t_5); + __pyx_t_13 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1182, __pyx_L47_except_error) + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L46_exception_handled; + } + __pyx_L47_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L35_error; + __pyx_L46_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L50_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L44; + } + __pyx_L44:; + } + goto __pyx_L54; + __pyx_L41_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L35_error; + __pyx_L54:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1184 + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + * del f # <<<<<<<<<<<<<< + * + * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) + */ + __Pyx_TraceLine(1184,0,__PYX_ERR(0, 1184, __pyx_L35_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1184, __pyx_L35_error) } + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1186 + * del f + * + * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) # <<<<<<<<<<<<<< + * + * with pytest.raises(pickle.PicklingError): + */ + __Pyx_TraceLine(1186,0,__PYX_ERR(0, 1186, __pyx_L35_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1186, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1186, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1186, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1186, __pyx_L35_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1188 + * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) + * + * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< + * pickled = pickle.dumps(gzf) + * gzf.close() + */ + __Pyx_TraceLine(1188,0,__PYX_ERR(0, 1188, __pyx_L35_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pytest); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1188, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1188, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1189 + * + * with pytest.raises(pickle.PicklingError): + * pickled = pickle.dumps(gzf) # <<<<<<<<<<<<<< + * gzf.close() + * del gzf + */ + __Pyx_TraceLine(1189,0,__PYX_ERR(0, 1189, __pyx_L59_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1189, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_dumps); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1189, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_gzf); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1189, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_pickled, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1188 + * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) + * + * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< + * pickled = pickle.dumps(gzf) + * gzf.close() + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L64_try_end; + __pyx_L59_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1188, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1188, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1188, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1188, __pyx_L61_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1188, __pyx_L61_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L60_exception_handled; + } + __pyx_L61_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L35_error; + __pyx_L60_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L64_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L58; + } + __pyx_L58:; + } + goto __pyx_L68; + __pyx_L55_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L35_error; + __pyx_L68:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1190 + * with pytest.raises(pickle.PicklingError): + * pickled = pickle.dumps(gzf) + * gzf.close() # <<<<<<<<<<<<<< + * del gzf + * + */ + __Pyx_TraceLine(1190,0,__PYX_ERR(0, 1190, __pyx_L35_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1190, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1190, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1191 + * pickled = pickle.dumps(gzf) + * gzf.close() + * del gzf # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1191,0,__PYX_ERR(0, 1191, __pyx_L35_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1180 + * + * # if drop_handles=False, no pickle + * with tempdir(): # <<<<<<<<<<<<<< + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L40_try_end; + __pyx_L35_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1180, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_13 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1180, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1180, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1180, __pyx_L37_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_2); + __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1180, __pyx_L37_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L36_exception_handled; + } + __pyx_L37_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + goto __pyx_L1_error; + __pyx_L36_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + __pyx_L40_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1180, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + goto __pyx_L34; + } + __pyx_L34:; + } + goto __pyx_L72; + __pyx_L31_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L72:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 + * + * + * def test_picklable(): # <<<<<<<<<<<<<< + * + * # default behaviour is for drop_handles=True, + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_gzf); + __Pyx_XDECREF(__pyx_v_first50MB); + __Pyx_XDECREF(__pyx_v_pickled); + __Pyx_XDECREF(__pyx_v_second50MB); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 + * + * + * def test_copyable(): # <<<<<<<<<<<<<< + * fname = 'test.gz' + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable = {"test_copyable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_copyable (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copyable(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copyable(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_gzf = NULL; + PyObject *__pyx_v_gzf_copy = NULL; + PyObject *__pyx_v_first50MB = NULL; + PyObject *__pyx_v_gzf_copy2 = NULL; + PyObject *__pyx_v_second50MB = NULL; + PyObject *__pyx_v_fobj = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + int __pyx_t_16; + int __pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__84) + __Pyx_RefNannySetupContext("test_copyable", 0); + __Pyx_TraceCall("test_copyable", __pyx_f[0], 1194, 0, __PYX_ERR(0, 1194, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1195 + * + * def test_copyable(): + * fname = 'test.gz' # <<<<<<<<<<<<<< + * + * with tempdir(): + */ + __Pyx_TraceLine(1195,0,__PYX_ERR(0, 1195, __pyx_L1_error)) + __Pyx_INCREF(__pyx_kp_s_test_gz); + __pyx_v_fname = __pyx_kp_s_test_gz; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1197 + * fname = 'test.gz' + * + * with tempdir(): # <<<<<<<<<<<<<< + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: + */ + __Pyx_TraceLine(1197,0,__PYX_ERR(0, 1197, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1197, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1197, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1198 + * + * with tempdir(): + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< + * with open(fname+'.bin', 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(1198,0,__PYX_ERR(0, 1198, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__82, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_data = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1199 + * with tempdir(): + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * compress(fname+'.bin', fname) + */ + __Pyx_TraceLine(1199,0,__PYX_ERR(0, 1199, __pyx_L7_error)) + /*with:*/ { + __pyx_t_5 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_wb); + __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1199, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1200 + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * compress(fname+'.bin', fname) + * del f + */ + __Pyx_TraceLine(1200,0,__PYX_ERR(0, 1200, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1200, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1200, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1199 + * with tempdir(): + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * compress(fname+'.bin', fname) + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1199, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1199, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1199, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1199, __pyx_L19_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_2); + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1199, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1199, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1201 + * with open(fname+'.bin', 'wb') as f: + * f.write(data.tobytes()) + * compress(fname+'.bin', fname) # <<<<<<<<<<<<<< + * del f + * + */ + __Pyx_TraceLine(1201,0,__PYX_ERR(0, 1201, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_compress); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1201, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + __pyx_t_17 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_17 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + { + __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1201, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_17, __pyx_t_1); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_v_fname); + __pyx_t_1 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1202 + * f.write(data.tobytes()) + * compress(fname+'.bin', fname) + * del f # <<<<<<<<<<<<<< + * + * gzf = igzip.IndexedGzipFile(fname) + */ + __Pyx_TraceLine(1202,0,__PYX_ERR(0, 1202, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1202, __pyx_L7_error) } + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1204 + * del f + * + * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< + * gzf_copy = cp.deepcopy(gzf) + * first50MB = gzf.read(1048576 * 50) + */ + __Pyx_TraceLine(1204,0,__PYX_ERR(0, 1204, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1204, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1204, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_fname); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1204, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_v_gzf = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 + * + * gzf = igzip.IndexedGzipFile(fname) + * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< + * first50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) + */ + __Pyx_TraceLine(1205,0,__PYX_ERR(0, 1205, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_cp); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1205, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1205, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_gzf); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1205, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_gzf_copy = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1206 + * gzf = igzip.IndexedGzipFile(fname) + * gzf_copy = cp.deepcopy(gzf) + * first50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< + * gzf.seek(gzf.tell()) + * gzf_copy2 = cp.deepcopy(gzf) + */ + __Pyx_TraceLine(1206,0,__PYX_ERR(0, 1206, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1206, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1206, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_first50MB = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1207 + * gzf_copy = cp.deepcopy(gzf) + * first50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< + * gzf_copy2 = cp.deepcopy(gzf) + * second50MB = gzf.read(1048576 * 50) + */ + __Pyx_TraceLine(1207,0,__PYX_ERR(0, 1207, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1207, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1207, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1207, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1208 + * first50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) + * gzf_copy2 = cp.deepcopy(gzf) # <<<<<<<<<<<<<< + * second50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) + */ + __Pyx_TraceLine(1208,0,__PYX_ERR(0, 1208, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1208, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1208, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_gzf); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1208, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_v_gzf_copy2 = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1209 + * gzf.seek(gzf.tell()) + * gzf_copy2 = cp.deepcopy(gzf) + * second50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< + * gzf.seek(gzf.tell()) + * + */ + __Pyx_TraceLine(1209,0,__PYX_ERR(0, 1209, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1209, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1209, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_v_second50MB = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1210 + * gzf_copy2 = cp.deepcopy(gzf) + * second50MB = gzf.read(1048576 * 50) + * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< + * + * gzf.close() + */ + __Pyx_TraceLine(1210,0,__PYX_ERR(0, 1210, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1210, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1210, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1212 + * gzf.seek(gzf.tell()) + * + * gzf.close() # <<<<<<<<<<<<<< + * del gzf + * + */ + __Pyx_TraceLine(1212,0,__PYX_ERR(0, 1212, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1212, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1213 + * + * gzf.close() + * del gzf # <<<<<<<<<<<<<< + * + * assert gzf_copy.tell() == 0 + */ + __Pyx_TraceLine(1213,0,__PYX_ERR(0, 1213, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1215 + * del gzf + * + * assert gzf_copy.tell() == 0 # <<<<<<<<<<<<<< + * assert gzf_copy2.tell() == 1048576 * 50 + * assert gzf_copy.read(1048576 * 50) == first50MB + */ + __Pyx_TraceLine(1215,0,__PYX_ERR(0, 1215, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_tell); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1215, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1215, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1215, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1215, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1215, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1216 + * + * assert gzf_copy.tell() == 0 + * assert gzf_copy2.tell() == 1048576 * 50 # <<<<<<<<<<<<<< + * assert gzf_copy.read(1048576 * 50) == first50MB + * assert gzf_copy2.read(1048576 * 50) == second50MB + */ + __Pyx_TraceLine(1216,0,__PYX_ERR(0, 1216, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1216, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1216, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_13, __pyx_int_52428800, 0x3200000, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1216, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1216, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1216, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1217 + * assert gzf_copy.tell() == 0 + * assert gzf_copy2.tell() == 1048576 * 50 + * assert gzf_copy.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< + * assert gzf_copy2.read(1048576 * 50) == second50MB + * gzf_copy2.seek(0) + */ + __Pyx_TraceLine(1217,0,__PYX_ERR(0, 1217, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1217, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1217, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1217, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1217, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1217, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1218 + * assert gzf_copy2.tell() == 1048576 * 50 + * assert gzf_copy.read(1048576 * 50) == first50MB + * assert gzf_copy2.read(1048576 * 50) == second50MB # <<<<<<<<<<<<<< + * gzf_copy2.seek(0) + * assert gzf_copy2.read(1048576 * 50) == first50MB + */ + __Pyx_TraceLine(1218,0,__PYX_ERR(0, 1218, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1218, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1218, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_13, __pyx_v_second50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1218, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1218, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1218, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1219 + * assert gzf_copy.read(1048576 * 50) == first50MB + * assert gzf_copy2.read(1048576 * 50) == second50MB + * gzf_copy2.seek(0) # <<<<<<<<<<<<<< + * assert gzf_copy2.read(1048576 * 50) == first50MB + * gzf_copy.close() + */ + __Pyx_TraceLine(1219,0,__PYX_ERR(0, 1219, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1219, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1219, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1220 + * assert gzf_copy2.read(1048576 * 50) == second50MB + * gzf_copy2.seek(0) + * assert gzf_copy2.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< + * gzf_copy.close() + * gzf_copy2.close() + */ + __Pyx_TraceLine(1220,0,__PYX_ERR(0, 1220, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1220, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1220, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1220, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1220, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1220, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1221 + * gzf_copy2.seek(0) + * assert gzf_copy2.read(1048576 * 50) == first50MB + * gzf_copy.close() # <<<<<<<<<<<<<< + * gzf_copy2.close() + * del gzf_copy + */ + __Pyx_TraceLine(1221,0,__PYX_ERR(0, 1221, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1221, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1221, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1222 + * assert gzf_copy2.read(1048576 * 50) == first50MB + * gzf_copy.close() + * gzf_copy2.close() # <<<<<<<<<<<<<< + * del gzf_copy + * del gzf_copy2 + */ + __Pyx_TraceLine(1222,0,__PYX_ERR(0, 1222, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1222, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1222, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1223 + * gzf_copy.close() + * gzf_copy2.close() + * del gzf_copy # <<<<<<<<<<<<<< + * del gzf_copy2 + * + */ + __Pyx_TraceLine(1223,0,__PYX_ERR(0, 1223, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gzf_copy); + __pyx_v_gzf_copy = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1224 + * gzf_copy2.close() + * del gzf_copy + * del gzf_copy2 # <<<<<<<<<<<<<< + * + * with tempdir(): + */ + __Pyx_TraceLine(1224,0,__PYX_ERR(0, 1224, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gzf_copy2); + __pyx_v_gzf_copy2 = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1197 + * fname = 'test.gz' + * + * with tempdir(): # <<<<<<<<<<<<<< + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) + * with open(fname+'.bin', 'wb') as f: + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1197, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1197, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1197, __pyx_L9_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_2, __pyx_t_5); + __pyx_t_13 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1197, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1197, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L30; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L30:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1226 + * del gzf_copy2 + * + * with tempdir(): # <<<<<<<<<<<<<< + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: + */ + __Pyx_TraceLine(1226,0,__PYX_ERR(0, 1226, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1226, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1227 + * + * with tempdir(): + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(1227,0,__PYX_ERR(0, 1227, __pyx_L35_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_uint32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__83, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1228 + * with tempdir(): + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * del f + */ + __Pyx_TraceLine(1228,0,__PYX_ERR(0, 1228, __pyx_L35_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_17 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_17 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_17, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_n_s_wb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1228, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_13); + __pyx_t_13 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1229 + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * del f + * + */ + __Pyx_TraceLine(1229,0,__PYX_ERR(0, 1229, __pyx_L45_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1229, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1229, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1229, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1229, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1228 + * with tempdir(): + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * del f + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L50_try_end; + __pyx_L45_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1228, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1228, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1228, __pyx_L47_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_1, __pyx_t_5); + __pyx_t_13 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1228, __pyx_L47_except_error) + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L46_exception_handled; + } + __pyx_L47_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L35_error; + __pyx_L46_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L50_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L44; + } + __pyx_L44:; + } + goto __pyx_L54; + __pyx_L41_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L35_error; + __pyx_L54:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1230 + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + * del f # <<<<<<<<<<<<<< + * + * # if drop_handles=False, no copy + */ + __Pyx_TraceLine(1230,0,__PYX_ERR(0, 1230, __pyx_L35_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1230, __pyx_L35_error) } + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1233 + * + * # if drop_handles=False, no copy + * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) # <<<<<<<<<<<<<< + * + * with pytest.raises(pickle.PicklingError): + */ + __Pyx_TraceLine(1233,0,__PYX_ERR(0, 1233, __pyx_L35_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1233, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1233, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1233, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1233, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1233, __pyx_L35_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1233, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1235 + * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) + * + * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< + * gzf_copy = cp.deepcopy(gzf) + * gzf.close() + */ + __Pyx_TraceLine(1235,0,__PYX_ERR(0, 1235, __pyx_L35_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pytest); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1235, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1236 + * + * with pytest.raises(pickle.PicklingError): + * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< + * gzf.close() + * del gzf + */ + __Pyx_TraceLine(1236,0,__PYX_ERR(0, 1236, __pyx_L59_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1236, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_gzf); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1236, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_gzf_copy, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1235 + * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) + * + * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< + * gzf_copy = cp.deepcopy(gzf) + * gzf.close() + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L64_try_end; + __pyx_L59_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1235, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1235, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1235, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1235, __pyx_L61_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1235, __pyx_L61_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L60_exception_handled; + } + __pyx_L61_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L35_error; + __pyx_L60_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L64_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L58; + } + __pyx_L58:; + } + goto __pyx_L68; + __pyx_L55_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L35_error; + __pyx_L68:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1237 + * with pytest.raises(pickle.PicklingError): + * gzf_copy = cp.deepcopy(gzf) + * gzf.close() # <<<<<<<<<<<<<< + * del gzf + * + */ + __Pyx_TraceLine(1237,0,__PYX_ERR(0, 1237, __pyx_L35_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1237, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1238 + * gzf_copy = cp.deepcopy(gzf) + * gzf.close() + * del gzf # <<<<<<<<<<<<<< + * + * # If passed an open filehandle, no copy + */ + __Pyx_TraceLine(1238,0,__PYX_ERR(0, 1238, __pyx_L35_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1241 + * + * # If passed an open filehandle, no copy + * with open(fname, 'rb') as fobj: # <<<<<<<<<<<<<< + * gzf = igzip.IndexedGzipFile(fileobj=fobj) + * with pytest.raises(pickle.PicklingError): + */ + __Pyx_TraceLine(1241,0,__PYX_ERR(0, 1241, __pyx_L35_error)) + /*with:*/ { + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1241, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1241, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1241, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1241, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1241, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __pyx_v_fobj = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1242 + * # If passed an open filehandle, no copy + * with open(fname, 'rb') as fobj: + * gzf = igzip.IndexedGzipFile(fileobj=fobj) # <<<<<<<<<<<<<< + * with pytest.raises(pickle.PicklingError): + * gzf_copy = cp.deepcopy(gzf) + */ + __Pyx_TraceLine(1242,0,__PYX_ERR(0, 1242, __pyx_L73_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1242, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1242, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1242, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_fobj) < 0) __PYX_ERR(0, 1242, __pyx_L73_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1242, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_gzf = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1243 + * with open(fname, 'rb') as fobj: + * gzf = igzip.IndexedGzipFile(fileobj=fobj) + * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< + * gzf_copy = cp.deepcopy(gzf) + * gzf.close() + */ + __Pyx_TraceLine(1243,0,__PYX_ERR(0, 1243, __pyx_L73_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pickle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1243, __pyx_L79_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1243, __pyx_L79_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1244 + * gzf = igzip.IndexedGzipFile(fileobj=fobj) + * with pytest.raises(pickle.PicklingError): + * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< + * gzf.close() + * del gzf + */ + __Pyx_TraceLine(1244,0,__PYX_ERR(0, 1244, __pyx_L83_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1244, __pyx_L83_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1244, __pyx_L83_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_gzf); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L83_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF_SET(__pyx_v_gzf_copy, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1243 + * with open(fname, 'rb') as fobj: + * gzf = igzip.IndexedGzipFile(fileobj=fobj) + * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< + * gzf_copy = cp.deepcopy(gzf) + * gzf.close() + */ + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + goto __pyx_L88_try_end; + __pyx_L83_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_1) < 0) __PYX_ERR(0, 1243, __pyx_L85_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1243, __pyx_L85_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1243, __pyx_L85_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1243, __pyx_L85_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_13, __pyx_t_1); + __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1243, __pyx_L85_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L84_exception_handled; + } + __pyx_L85_except_error:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + goto __pyx_L73_error; + __pyx_L84_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + __pyx_L88_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_14) { + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + } + goto __pyx_L82; + } + __pyx_L82:; + } + goto __pyx_L92; + __pyx_L79_error:; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L73_error; + __pyx_L92:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1245 + * with pytest.raises(pickle.PicklingError): + * gzf_copy = cp.deepcopy(gzf) + * gzf.close() # <<<<<<<<<<<<<< + * del gzf + * del fobj + */ + __Pyx_TraceLine(1245,0,__PYX_ERR(0, 1245, __pyx_L73_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1245, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_13, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1245, __pyx_L73_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1246 + * gzf_copy = cp.deepcopy(gzf) + * gzf.close() + * del gzf # <<<<<<<<<<<<<< + * del fobj + * + */ + __Pyx_TraceLine(1246,0,__PYX_ERR(0, 1246, __pyx_L73_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1241 + * + * # If passed an open filehandle, no copy + * with open(fname, 'rb') as fobj: # <<<<<<<<<<<<<< + * gzf = igzip.IndexedGzipFile(fileobj=fobj) + * with pytest.raises(pickle.PicklingError): + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L78_try_end; + __pyx_L73_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_13, &__pyx_t_5) < 0) __PYX_ERR(0, 1241, __pyx_L75_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1241, __pyx_L75_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1241, __pyx_L75_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1241, __pyx_L75_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_13, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_13 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1241, __pyx_L75_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L74_exception_handled; + } + __pyx_L75_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L35_error; + __pyx_L74_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L78_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1241, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L72; + } + __pyx_L72:; + } + goto __pyx_L96; + __pyx_L69_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L35_error; + __pyx_L96:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1247 + * gzf.close() + * del gzf + * del fobj # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1247,0,__PYX_ERR(0, 1247, __pyx_L35_error)) + if (unlikely(!__pyx_v_fobj)) { __Pyx_RaiseUnboundLocalError("fobj"); __PYX_ERR(0, 1247, __pyx_L35_error) } + __Pyx_DECREF(__pyx_v_fobj); + __pyx_v_fobj = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1226 + * del gzf_copy2 + * + * with tempdir(): # <<<<<<<<<<<<<< + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L40_try_end; + __pyx_L35_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_1) < 0) __PYX_ERR(0, 1226, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1226, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1226, __pyx_L37_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_13, __pyx_t_1); + __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1226, __pyx_L37_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L36_exception_handled; + } + __pyx_L37_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + goto __pyx_L1_error; + __pyx_L36_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + __pyx_L40_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1226, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + goto __pyx_L34; + } + __pyx_L34:; + } + goto __pyx_L100; + __pyx_L31_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L100:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 + * + * + * def test_copyable(): # <<<<<<<<<<<<<< + * fname = 'test.gz' + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_gzf); + __Pyx_XDECREF(__pyx_v_gzf_copy); + __Pyx_XDECREF(__pyx_v_first50MB); + __Pyx_XDECREF(__pyx_v_gzf_copy2); + __Pyx_XDECREF(__pyx_v_second50MB); + __Pyx_XDECREF(__pyx_v_fobj); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1250 + * + * + * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< + * gzf.seek(offset) + * bytes = gzf.read(size) + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc = {"_mpfunc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_gzf = 0; + PyObject *__pyx_v_size = 0; + PyObject *__pyx_v_offset = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_mpfunc (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gzf,&__pyx_n_s_size,&__pyx_n_s_offset,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gzf)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, 1); __PYX_ERR(0, 1250, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, 2); __PYX_ERR(0, 1250, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_mpfunc") < 0)) __PYX_ERR(0, 1250, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_gzf = values[0]; + __pyx_v_size = values[1]; + __pyx_v_offset = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1250, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip._mpfunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(__pyx_self, __pyx_v_gzf, __pyx_v_size, __pyx_v_offset); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gzf, PyObject *__pyx_v_size, PyObject *__pyx_v_offset) { + PyObject *__pyx_v_bytes = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__85) + __Pyx_RefNannySetupContext("_mpfunc", 0); + __Pyx_TraceCall("_mpfunc", __pyx_f[0], 1250, 0, __PYX_ERR(0, 1250, __pyx_L1_error)); + __Pyx_INCREF(__pyx_v_gzf); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1251 + * + * def _mpfunc(gzf, size, offset): + * gzf.seek(offset) # <<<<<<<<<<<<<< + * bytes = gzf.read(size) + * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) + */ + __Pyx_TraceLine(1251,0,__PYX_ERR(0, 1251, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1252 + * def _mpfunc(gzf, size, offset): + * gzf.seek(offset) + * bytes = gzf.read(size) # <<<<<<<<<<<<<< + * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) + * gzf.close() + */ + __Pyx_TraceLine(1252,0,__PYX_ERR(0, 1252, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_size) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_size); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_bytes = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1253 + * gzf.seek(offset) + * bytes = gzf.read(size) + * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) # <<<<<<<<<<<<<< + * gzf.close() + * del gzf + */ + __Pyx_TraceLine(1253,0,__PYX_ERR(0, 1253, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_v_size, __pyx_int_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); + __pyx_t_3 = 0; + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_buffer, __pyx_v_bytes) < 0) __PYX_ERR(0, 1253, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_val = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1254 + * bytes = gzf.read(size) + * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) + * gzf.close() # <<<<<<<<<<<<<< + * del gzf + * return val.sum() + */ + __Pyx_TraceLine(1254,0,__PYX_ERR(0, 1254, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1255 + * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) + * gzf.close() + * del gzf # <<<<<<<<<<<<<< + * return val.sum() + * + */ + __Pyx_TraceLine(1255,0,__PYX_ERR(0, 1255, __pyx_L1_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1256 + * gzf.close() + * del gzf + * return val.sum() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1256,0,__PYX_ERR(0, 1256, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1256, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1256, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_r = __pyx_t_3; + __pyx_t_3 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1250 + * + * + * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< + * gzf.seek(offset) + * bytes = gzf.read(size) + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip._mpfunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_bytes); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XDECREF(__pyx_v_gzf); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1259 + * + * + * def test_multiproc_serialise(): # <<<<<<<<<<<<<< + * fname = 'test.gz' + * with tempdir(): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise = {"test_multiproc_serialise", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_multiproc_serialise (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_multiproc_serialise(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_multiproc_serialise(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_fname = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_gzf = NULL; + PyObject *__pyx_v_size = NULL; + PyObject *__pyx_v_offsets = NULL; + PyObject *__pyx_v_func = NULL; + PyObject *__pyx_v_pool = NULL; + PyObject *__pyx_v_results = NULL; + PyObject *__pyx_v_expected = NULL; + PyObject *__pyx_v_off = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_t_17; + Py_ssize_t __pyx_t_18; + PyObject *__pyx_t_19 = NULL; + PyObject *(*__pyx_t_20)(PyObject *); + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__86) + __Pyx_RefNannySetupContext("test_multiproc_serialise", 0); + __Pyx_TraceCall("test_multiproc_serialise", __pyx_f[0], 1259, 0, __PYX_ERR(0, 1259, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1260 + * + * def test_multiproc_serialise(): + * fname = 'test.gz' # <<<<<<<<<<<<<< + * with tempdir(): + * + */ + __Pyx_TraceLine(1260,0,__PYX_ERR(0, 1260, __pyx_L1_error)) + __Pyx_INCREF(__pyx_kp_s_test_gz); + __pyx_v_fname = __pyx_kp_s_test_gz; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 + * def test_multiproc_serialise(): + * fname = 'test.gz' + * with tempdir(): # <<<<<<<<<<<<<< + * + * data = np.arange(10000000, dtype=np.uint32) + */ + __Pyx_TraceLine(1261,0,__PYX_ERR(0, 1261, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1261, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1261, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1261, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1261, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1261, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1263 + * with tempdir(): + * + * data = np.arange(10000000, dtype=np.uint32) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(1263,0,__PYX_ERR(0, 1263, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__87, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_data = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1264 + * + * data = np.arange(10000000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * del f + */ + __Pyx_TraceLine(1264,0,__PYX_ERR(0, 1264, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + { + __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_9, __pyx_n_s_wb); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1264, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1265 + * data = np.arange(10000000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * del f + * + */ + __Pyx_TraceLine(1265,0,__PYX_ERR(0, 1265, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1265, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1265, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1264 + * + * data = np.arange(10000000, dtype=np.uint32) + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * del f + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1264, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1264, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1264, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1264, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1266 + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + * del f # <<<<<<<<<<<<<< + * + * gzf = igzip.IndexedGzipFile(fname) + */ + __Pyx_TraceLine(1266,0,__PYX_ERR(0, 1266, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1266, __pyx_L7_error) } + __Pyx_DECREF(__pyx_v_f); + __pyx_v_f = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1268 + * del f + * + * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< + * + * size = len(data) / 16 + */ + __Pyx_TraceLine(1268,0,__PYX_ERR(0, 1268, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1268, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1268, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fname); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1268, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_gzf = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 + * gzf = igzip.IndexedGzipFile(fname) + * + * size = len(data) / 16 # <<<<<<<<<<<<<< + * offsets = np.arange(0, len(data), size) + * func = ft.partial(_mpfunc, gzf, size * 4) + */ + __Pyx_TraceLine(1270,0,__PYX_ERR(0, 1270, __pyx_L7_error)) + __pyx_t_18 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1270, __pyx_L7_error) + __pyx_t_2 = PyInt_FromSsize_t(__Pyx_div_Py_ssize_t(__pyx_t_18, 16)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1270, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_size = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1271 + * + * size = len(data) / 16 + * offsets = np.arange(0, len(data), size) # <<<<<<<<<<<<<< + * func = ft.partial(_mpfunc, gzf, size * 4) + * + */ + __Pyx_TraceLine(1271,0,__PYX_ERR(0, 1271, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1271, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_18 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1271, __pyx_L7_error) + __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_t_3, __pyx_v_size}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_t_3, __pyx_v_size}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_14 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1271, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_9, __pyx_int_0); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_9, __pyx_t_3); + __Pyx_INCREF(__pyx_v_size); + __Pyx_GIVEREF(__pyx_v_size); + PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_9, __pyx_v_size); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_offsets = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1272 + * size = len(data) / 16 + * offsets = np.arange(0, len(data), size) + * func = ft.partial(_mpfunc, gzf, size * 4) # <<<<<<<<<<<<<< + * + * pool = mp.Pool(8) + */ + __Pyx_TraceLine(1272,0,__PYX_ERR(0, 1272, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ft); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_mpfunc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyNumber_Multiply(__pyx_v_size, __pyx_int_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_14)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_5, __pyx_v_gzf, __pyx_t_3}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { + PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_5, __pyx_v_gzf, __pyx_t_3}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_19 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_9, __pyx_t_5); + __Pyx_INCREF(__pyx_v_gzf); + __Pyx_GIVEREF(__pyx_v_gzf); + PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_9, __pyx_v_gzf); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_9, __pyx_t_3); + __pyx_t_5 = 0; + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_19, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + } + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_v_func = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1274 + * func = ft.partial(_mpfunc, gzf, size * 4) + * + * pool = mp.Pool(8) # <<<<<<<<<<<<<< + * results = pool.map(func, offsets * 4) + * pool.close() + */ + __Pyx_TraceLine(1274,0,__PYX_ERR(0, 1274, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_mp); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1274, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_Pool); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1274, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_19); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_19, function); + } + } + __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_19, __pyx_t_14, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_int_8); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_v_pool = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1275 + * + * pool = mp.Pool(8) + * results = pool.map(func, offsets * 4) # <<<<<<<<<<<<<< + * pool.close() + * pool.join() + */ + __Pyx_TraceLine(1275,0,__PYX_ERR(0, 1275, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_map); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1275, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_14 = PyNumber_Multiply(__pyx_v_offsets, __pyx_int_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1275, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_19); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_19, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_19)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_func, __pyx_t_14}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_func, __pyx_t_14}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } else + #endif + { + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_func); + __Pyx_GIVEREF(__pyx_v_func); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_func); + __Pyx_GIVEREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_v_results = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1276 + * pool = mp.Pool(8) + * results = pool.map(func, offsets * 4) + * pool.close() # <<<<<<<<<<<<<< + * pool.join() + * gzf.close() + */ + __Pyx_TraceLine(1276,0,__PYX_ERR(0, 1276, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_close); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1276, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_19); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_19, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1276, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1277 + * results = pool.map(func, offsets * 4) + * pool.close() + * pool.join() # <<<<<<<<<<<<<< + * gzf.close() + * del gzf + */ + __Pyx_TraceLine(1277,0,__PYX_ERR(0, 1277, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_join); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1277, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_19); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_19, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1277, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1278 + * pool.close() + * pool.join() + * gzf.close() # <<<<<<<<<<<<<< + * del gzf + * del pool + */ + __Pyx_TraceLine(1278,0,__PYX_ERR(0, 1278, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1278, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_19); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_19, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1278, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1279 + * pool.join() + * gzf.close() + * del gzf # <<<<<<<<<<<<<< + * del pool + * + */ + __Pyx_TraceLine(1279,0,__PYX_ERR(0, 1279, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_gzf); + __pyx_v_gzf = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1280 + * gzf.close() + * del gzf + * del pool # <<<<<<<<<<<<<< + * + * expected = [data[off:off+size].sum() for off in offsets] + */ + __Pyx_TraceLine(1280,0,__PYX_ERR(0, 1280, __pyx_L7_error)) + __Pyx_DECREF(__pyx_v_pool); + __pyx_v_pool = NULL; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1282 + * del pool + * + * expected = [data[off:off+size].sum() for off in offsets] # <<<<<<<<<<<<<< + * + * assert results == expected + */ + __Pyx_TraceLine(1282,0,__PYX_ERR(0, 1282, __pyx_L7_error)) + __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (likely(PyList_CheckExact(__pyx_v_offsets)) || PyTuple_CheckExact(__pyx_v_offsets)) { + __pyx_t_19 = __pyx_v_offsets; __Pyx_INCREF(__pyx_t_19); __pyx_t_18 = 0; + __pyx_t_20 = NULL; + } else { + __pyx_t_18 = -1; __pyx_t_19 = PyObject_GetIter(__pyx_v_offsets); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_20 = Py_TYPE(__pyx_t_19)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1282, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_20)) { + if (likely(PyList_CheckExact(__pyx_t_19))) { + if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_19)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_5); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 1282, __pyx_L7_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } else { + if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_19)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_5); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 1282, __pyx_L7_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } + } else { + __pyx_t_5 = __pyx_t_20(__pyx_t_19); + if (unlikely(!__pyx_t_5)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1282, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_5); + } + __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_14 = PyNumber_Add(__pyx_v_off, __pyx_v_size); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_data, 0, 0, &__pyx_v_off, &__pyx_t_14, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_v_expected = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1284 + * expected = [data[off:off+size].sum() for off in offsets] + * + * assert results == expected # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1284,0,__PYX_ERR(0, 1284, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = PyObject_RichCompare(__pyx_v_results, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1284, __pyx_L7_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1284, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1284, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 + * def test_multiproc_serialise(): + * fname = 'test.gz' + * with tempdir(): # <<<<<<<<<<<<<< + * + * data = np.arange(10000000, dtype=np.uint32) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_19, &__pyx_t_5) < 0) __PYX_ERR(0, 1261, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_19); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_19, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1261, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1261, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1261, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_19, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_19 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1261, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1261, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L32; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L32:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1259 + * + * + * def test_multiproc_serialise(): # <<<<<<<<<<<<<< + * fname = 'test.gz' + * with tempdir(): + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_fname); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_gzf); + __Pyx_XDECREF(__pyx_v_size); + __Pyx_XDECREF(__pyx_v_offsets); + __Pyx_XDECREF(__pyx_v_func); + __Pyx_XDECREF(__pyx_v_pool); + __Pyx_XDECREF(__pyx_v_results); + __Pyx_XDECREF(__pyx_v_expected); + __Pyx_XDECREF(__pyx_v_off); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 + * + * + * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< + * with tempdir(): + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow = {"test_32bit_overflow", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_niters = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_32bit_overflow (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_niters,&__pyx_n_s_seed,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_32bit_overflow", 1, 2, 2, 1); __PYX_ERR(0, 1287, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_32bit_overflow") < 0)) __PYX_ERR(0, 1287, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_niters = values[0]; + __pyx_v_seed = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_32bit_overflow", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1287, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bit_overflow(__pyx_self, __pyx_v_niters, __pyx_v_seed); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bit_overflow(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed) { + PyObject *__pyx_v_block = NULL; + PyObject *__pyx_v_nelems = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_seekelems = NULL; + PyObject *__pyx_v_testval = NULL; + PyObject *__pyx_v_readval = NULL; + PyObject *__pyx_v_ft = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + long __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + int __pyx_t_18; + int __pyx_t_19; + Py_ssize_t __pyx_t_20; + PyObject *(*__pyx_t_21)(PyObject *); + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__88) + __Pyx_RefNannySetupContext("test_32bit_overflow", 0); + __Pyx_TraceCall("test_32bit_overflow", __pyx_f[0], 1287, 0, __PYX_ERR(0, 1287, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1288 + * + * def test_32bit_overflow(niters, seed): + * with tempdir(): # <<<<<<<<<<<<<< + * + * block = 2 ** 24 # 128MB + */ + __Pyx_TraceLine(1288,0,__PYX_ERR(0, 1288, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1288, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1288, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1288, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1288, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1288, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1290 + * with tempdir(): + * + * block = 2 ** 24 # 128MB # <<<<<<<<<<<<<< + * nelems = block * 48 # 6GB + * + */ + __Pyx_TraceLine(1290,0,__PYX_ERR(0, 1290, __pyx_L7_error)) + __Pyx_INCREF(__pyx_int_16777216); + __pyx_v_block = __pyx_int_16777216; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1291 + * + * block = 2 ** 24 # 128MB + * nelems = block * 48 # 6GB # <<<<<<<<<<<<<< + * + * data = np.ones(block, dtype=np.uint64).tobytes() + */ + __Pyx_TraceLine(1291,0,__PYX_ERR(0, 1291, __pyx_L7_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_block, __pyx_int_48); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1291, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_nelems = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1293 + * nelems = block * 48 # 6GB + * + * data = np.ones(block, dtype=np.uint64).tobytes() # <<<<<<<<<<<<<< + * + * with gzip.open('test.gz', 'wb') as f: + */ + __Pyx_TraceLine(1293,0,__PYX_ERR(0, 1293, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_block); + __Pyx_GIVEREF(__pyx_v_block); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_block); + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_data = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1295 + * data = np.ones(block, dtype=np.uint64).tobytes() + * + * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< + * for i in range(48): + * print('Generated to {}...'.format(block * i)) + */ + __Pyx_TraceLine(1295,0,__PYX_ERR(0, 1295, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1295, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__89, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1295, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1295, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1295, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __pyx_v_f = __pyx_t_10; + __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1296 + * + * with gzip.open('test.gz', 'wb') as f: + * for i in range(48): # <<<<<<<<<<<<<< + * print('Generated to {}...'.format(block * i)) + * f.write(data) + */ + __Pyx_TraceLine(1296,0,__PYX_ERR(0, 1296, __pyx_L17_error)) + for (__pyx_t_15 = 0; __pyx_t_15 < 48; __pyx_t_15+=1) { + __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1296, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_10); + __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1297 + * with gzip.open('test.gz', 'wb') as f: + * for i in range(48): + * print('Generated to {}...'.format(block * i)) # <<<<<<<<<<<<<< + * f.write(data) + * + */ + __Pyx_TraceLine(1297,0,__PYX_ERR(0, 1297, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Generated_to, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1297, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyNumber_Multiply(__pyx_v_block, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1297, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1297, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1297, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 + * for i in range(48): + * print('Generated to {}...'.format(block * i)) + * f.write(data) # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename='test.gz') as f: + */ + __Pyx_TraceLine(1298,0,__PYX_ERR(0, 1298, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1298, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_data); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1298, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1295 + * data = np.ones(block, dtype=np.uint64).tobytes() + * + * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< + * for i in range(48): + * print('Generated to {}...'.format(block * i)) + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 1295, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1295, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1295, __pyx_L19_except_error) + __pyx_t_18 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_10, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1295, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1295, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L28; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L28:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1300 + * f.write(data) + * + * with igzip._IndexedGzipFile(filename='test.gz') as f: # <<<<<<<<<<<<<< + * + * seekelems = np.random.randint(0, nelems, niters) + */ + __Pyx_TraceLine(1300,0,__PYX_ERR(0, 1300, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1300, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1300, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1300, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_filename, __pyx_kp_s_test_gz) < 0) __PYX_ERR(0, 1300, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1300, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1300, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1300, __pyx_L29_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1300, __pyx_L29_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_13, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_10); + __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1302 + * with igzip._IndexedGzipFile(filename='test.gz') as f: + * + * seekelems = np.random.randint(0, nelems, niters) # <<<<<<<<<<<<<< + * + * for i, testval in enumerate(seekelems): + */ + __Pyx_TraceLine(1302,0,__PYX_ERR(0, 1302, __pyx_L33_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1302, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + __pyx_t_19 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_19 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_19, 3+__pyx_t_19); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1302, __pyx_L33_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_10); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_19, 3+__pyx_t_19); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1302, __pyx_L33_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_10); + } else + #endif + { + __pyx_t_2 = PyTuple_New(3+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1302, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_19, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_19, __pyx_v_nelems); + __Pyx_INCREF(__pyx_v_niters); + __Pyx_GIVEREF(__pyx_v_niters); + PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_19, __pyx_v_niters); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1302, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_seekelems = __pyx_t_10; + __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1304 + * seekelems = np.random.randint(0, nelems, niters) + * + * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< + * + * readval = read_element(f, testval) + */ + __Pyx_TraceLine(1304,0,__PYX_ERR(0, 1304, __pyx_L33_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_t_10 = __pyx_int_0; + if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { + __pyx_t_1 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_1); __pyx_t_20 = 0; + __pyx_t_21 = NULL; + } else { + __pyx_t_20 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1304, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_21 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1304, __pyx_L33_error) + } + for (;;) { + if (likely(!__pyx_t_21)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1304, __pyx_L33_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1304, __pyx_L33_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } + } else { + __pyx_t_2 = __pyx_t_21(__pyx_t_1); + if (unlikely(!__pyx_t_2)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1304, __pyx_L33_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_2); + } + __Pyx_XDECREF_SET(__pyx_v_testval, __pyx_t_2); + __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_t_10); + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_10); + __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_10, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_10); + __pyx_t_10 = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1306 + * for i, testval in enumerate(seekelems): + * + * readval = read_element(f, testval) # <<<<<<<<<<<<<< + * + * ft = f.tell() + */ + __Pyx_TraceLine(1306,0,__PYX_ERR(0, 1306, __pyx_L33_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1306, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + __pyx_t_19 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_19 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f, __pyx_v_testval}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L33_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f, __pyx_v_testval}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L33_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_9 = PyTuple_New(2+__pyx_t_19); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1306, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_9); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_f); + __Pyx_GIVEREF(__pyx_v_f); + PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_19, __pyx_v_f); + __Pyx_INCREF(__pyx_v_testval); + __Pyx_GIVEREF(__pyx_v_testval); + PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_19, __pyx_v_testval); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1308 + * readval = read_element(f, testval) + * + * ft = f.tell() # <<<<<<<<<<<<<< + * + * assert ft == int(testval + 1) * 8 + */ + __Pyx_TraceLine(1308,0,__PYX_ERR(0, 1308, __pyx_L33_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1308, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1310 + * ft = f.tell() + * + * assert ft == int(testval + 1) * 8 # <<<<<<<<<<<<<< + * assert readval == 1 + */ + __Pyx_TraceLine(1310,0,__PYX_ERR(0, 1310, __pyx_L33_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_testval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1310, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1310, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyNumber_Multiply(__pyx_t_5, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1310, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_v_ft, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1310, __pyx_L33_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1310, __pyx_L33_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_18)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1310, __pyx_L33_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1311 + * + * assert ft == int(testval + 1) * 8 + * assert readval == 1 # <<<<<<<<<<<<<< + */ + __Pyx_TraceLine(1311,0,__PYX_ERR(0, 1311, __pyx_L33_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L33_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1311, __pyx_L33_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_18)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1311, __pyx_L33_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1304 + * seekelems = np.random.randint(0, nelems, niters) + * + * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< + * + * readval = read_element(f, testval) + */ + __Pyx_TraceLine(1304,0,__PYX_ERR(0, 1304, __pyx_L33_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1300 + * f.write(data) + * + * with igzip._IndexedGzipFile(filename='test.gz') as f: # <<<<<<<<<<<<<< + * + * seekelems = np.random.randint(0, nelems, niters) + */ + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L38_try_end; + __pyx_L33_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1300, __pyx_L35_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_10, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1300, __pyx_L35_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1300, __pyx_L35_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_18 < 0) __PYX_ERR(0, 1300, __pyx_L35_except_error) + __pyx_t_17 = ((!(__pyx_t_18 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_10); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_10, __pyx_t_1, __pyx_t_5); + __pyx_t_10 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1300, __pyx_L35_except_error) + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L34_exception_handled; + } + __pyx_L35_except_error:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12); + goto __pyx_L7_error; + __pyx_L34_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12); + __pyx_L38_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1300, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L32; + } + __pyx_L32:; + } + goto __pyx_L44; + __pyx_L29_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L7_error; + __pyx_L44:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1288 + * + * def test_32bit_overflow(niters, seed): + * with tempdir(): # <<<<<<<<<<<<<< + * + * block = 2 ** 24 # 128MB + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_10) < 0) __PYX_ERR(0, 1288, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1288, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1288, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1288, __pyx_L9_except_error) + __pyx_t_18 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_10); + __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_10 = 0; + __PYX_ERR(0, 1288, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1288, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L48; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L48:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 + * + * + * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< + * with tempdir(): + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_block); + __Pyx_XDECREF(__pyx_v_nelems); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_seekelems); + __Pyx_XDECREF(__pyx_v_testval); + __Pyx_XDECREF(__pyx_v_readval); + __Pyx_XDECREF(__pyx_v_ft); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *__pyx_freelist_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto[8]; +static int __pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto = 0; + +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto)))) { + o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto[--__pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto]; + memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyObject *o) { + struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *p = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v_lines); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto)))) { + __pyx_freelist_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto[__pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto++] = ((struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *p = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)o; + if (p->__pyx_v_lines) { + e = (*v)(p->__pyx_v_lines, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *p = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)o; + tmp = ((PyObject*)p->__pyx_v_lines); + p->__pyx_v_lines = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyTypeObject __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.tests.ctest_indexed_gzip.__pyx_scope_struct__test_readinto", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, /*tp_traverse*/ + __pyx_tp_clear_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_ctest_indexed_gzip(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_ctest_indexed_gzip}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "ctest_indexed_gzip", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_b_12345, __pyx_k_12345, sizeof(__pyx_k_12345), 0, 0, 0, 0}, + {&__pyx_kp_s_A_class_for_a_buffer_of_bytes_U, __pyx_k_A_class_for_a_buffer_of_bytes_U, sizeof(__pyx_k_A_class_for_a_buffer_of_bytes_U), 0, 0, 1, 0}, + {&__pyx_kp_s_A_stream_that_gzips_a_file_in_ch, __pyx_k_A_stream_that_gzips_a_file_in_ch, sizeof(__pyx_k_A_stream_that_gzips_a_file_in_ch), 0, 0, 1, 0}, + {&__pyx_n_s_BytesBuffer, __pyx_k_BytesBuffer, sizeof(__pyx_k_BytesBuffer), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer___bool, __pyx_k_BytesBuffer___bool, sizeof(__pyx_k_BytesBuffer___bool), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer___init, __pyx_k_BytesBuffer___init, sizeof(__pyx_k_BytesBuffer___init), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer___len, __pyx_k_BytesBuffer___len, sizeof(__pyx_k_BytesBuffer___len), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer__buf, __pyx_k_BytesBuffer__buf, sizeof(__pyx_k_BytesBuffer__buf), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer__pos, __pyx_k_BytesBuffer__pos, sizeof(__pyx_k_BytesBuffer__pos), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer__size, __pyx_k_BytesBuffer__size, sizeof(__pyx_k_BytesBuffer__size), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer_close, __pyx_k_BytesBuffer_close, sizeof(__pyx_k_BytesBuffer_close), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer_flush, __pyx_k_BytesBuffer_flush, sizeof(__pyx_k_BytesBuffer_flush), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer_peek, __pyx_k_BytesBuffer_peek, sizeof(__pyx_k_BytesBuffer_peek), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer_read, __pyx_k_BytesBuffer_read, sizeof(__pyx_k_BytesBuffer_read), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer_tell, __pyx_k_BytesBuffer_tell, sizeof(__pyx_k_BytesBuffer_tell), 0, 0, 1, 1}, + {&__pyx_n_s_BytesBuffer_write, __pyx_k_BytesBuffer_write, sizeof(__pyx_k_BytesBuffer_write), 0, 0, 1, 1}, + {&__pyx_n_s_BytesIO, __pyx_k_BytesIO, sizeof(__pyx_k_BytesIO), 0, 0, 1, 1}, + {&__pyx_n_s_BytesIOWithMode, __pyx_k_BytesIOWithMode, sizeof(__pyx_k_BytesIOWithMode), 0, 0, 1, 1}, + {&__pyx_n_s_Error, __pyx_k_Error, sizeof(__pyx_k_Error), 0, 0, 1, 1}, + {&__pyx_kp_s_Generated_to, __pyx_k_Generated_to, sizeof(__pyx_k_Generated_to), 0, 0, 1, 0}, + {&__pyx_n_s_GzipFile, __pyx_k_GzipFile, sizeof(__pyx_k_GzipFile), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream, __pyx_k_GzipStream, sizeof(__pyx_k_GzipStream), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream___init, __pyx_k_GzipStream___init, sizeof(__pyx_k_GzipStream___init), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream__buffer, __pyx_k_GzipStream__buffer, sizeof(__pyx_k_GzipStream__buffer), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream__fill_buf_bytes, __pyx_k_GzipStream__fill_buf_bytes, sizeof(__pyx_k_GzipStream__fill_buf_bytes), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream__gzip, __pyx_k_GzipStream__gzip, sizeof(__pyx_k_GzipStream__gzip), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream__input, __pyx_k_GzipStream__input, sizeof(__pyx_k_GzipStream__input), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream__size, __pyx_k_GzipStream__size, sizeof(__pyx_k_GzipStream__size), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream_close, __pyx_k_GzipStream_close, sizeof(__pyx_k_GzipStream_close), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream_peek, __pyx_k_GzipStream_peek, sizeof(__pyx_k_GzipStream_peek), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream_read, __pyx_k_GzipStream_read, sizeof(__pyx_k_GzipStream_read), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream_seekable, __pyx_k_GzipStream_seekable, sizeof(__pyx_k_GzipStream_seekable), 0, 0, 1, 1}, + {&__pyx_n_s_GzipStream_tell, __pyx_k_GzipStream_tell, sizeof(__pyx_k_GzipStream_tell), 0, 0, 1, 1}, + {&__pyx_n_s_IOError, __pyx_k_IOError, sizeof(__pyx_k_IOError), 0, 0, 1, 1}, + {&__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu, __pyx_k_In_GzipStream__fill_buf_bytes_nu, sizeof(__pyx_k_In_GzipStream__fill_buf_bytes_nu), 0, 1, 0, 0}, + {&__pyx_kp_s_In_GzipStream_tell_is_called, __pyx_k_In_GzipStream_tell_is_called, sizeof(__pyx_k_In_GzipStream_tell_is_called), 0, 0, 1, 0}, + {&__pyx_n_s_IndexedGzipFile, __pyx_k_IndexedGzipFile, sizeof(__pyx_k_IndexedGzipFile), 0, 0, 1, 1}, + {&__pyx_n_s_IndexedGzipFile_2, __pyx_k_IndexedGzipFile_2, sizeof(__pyx_k_IndexedGzipFile_2), 0, 0, 1, 1}, + {&__pyx_n_s_NoHandleError, __pyx_k_NoHandleError, sizeof(__pyx_k_NoHandleError), 0, 0, 1, 1}, + {&__pyx_n_s_NotCoveredError, __pyx_k_NotCoveredError, sizeof(__pyx_k_NotCoveredError), 0, 0, 1, 1}, + {&__pyx_n_s_PicklingError, __pyx_k_PicklingError, sizeof(__pyx_k_PicklingError), 0, 0, 1, 1}, + {&__pyx_n_s_Pool, __pyx_k_Pool, sizeof(__pyx_k_Pool), 0, 0, 1, 1}, + {&__pyx_kp_u_Size_changed_to, __pyx_k_Size_changed_to, sizeof(__pyx_k_Size_changed_to), 0, 1, 0, 0}, + {&__pyx_n_s_StopIteration, __pyx_k_StopIteration, sizeof(__pyx_k_StopIteration), 0, 0, 1, 1}, + {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, + {&__pyx_kp_s__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 0, 1, 0}, + {&__pyx_n_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 1}, + {&__pyx_kp_b__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 0, 0}, + {&__pyx_kp_b__50, __pyx_k__50, sizeof(__pyx_k__50), 0, 0, 0, 0}, + {&__pyx_kp_s__58, __pyx_k__58, sizeof(__pyx_k__58), 0, 0, 1, 0}, + {&__pyx_kp_b__61, __pyx_k__61, sizeof(__pyx_k__61), 0, 0, 0, 0}, + {&__pyx_n_s__90, __pyx_k__90, sizeof(__pyx_k__90), 0, 0, 1, 1}, + {&__pyx_n_s_ab, __pyx_k_ab, sizeof(__pyx_k_ab), 0, 0, 1, 1}, + {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, + {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1}, + {&__pyx_n_s_appendleft, __pyx_k_appendleft, sizeof(__pyx_k_appendleft), 0, 0, 1, 1}, + {&__pyx_n_s_arange, __pyx_k_arange, sizeof(__pyx_k_arange), 0, 0, 1, 1}, + {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, + {&__pyx_n_s_auto_build, __pyx_k_auto_build, sizeof(__pyx_k_auto_build), 0, 0, 1, 1}, + {&__pyx_n_s_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 0, 1, 1}, + {&__pyx_kp_s_bin, __pyx_k_bin, sizeof(__pyx_k_bin), 0, 0, 1, 0}, + {&__pyx_n_s_block, __pyx_k_block, sizeof(__pyx_k_block), 0, 0, 1, 1}, + {&__pyx_n_s_bool, __pyx_k_bool, sizeof(__pyx_k_bool), 0, 0, 1, 1}, + {&__pyx_n_s_buf, __pyx_k_buf, sizeof(__pyx_k_buf), 0, 0, 1, 1}, + {&__pyx_n_s_buffer, __pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 0, 1, 1}, + {&__pyx_n_s_bufsz, __pyx_k_bufsz, sizeof(__pyx_k_bufsz), 0, 0, 1, 1}, + {&__pyx_n_s_build_full_index, __pyx_k_build_full_index, sizeof(__pyx_k_build_full_index), 0, 0, 1, 1}, + {&__pyx_n_s_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 0, 1, 1}, + {&__pyx_n_s_candidates, __pyx_k_candidates, sizeof(__pyx_k_candidates), 0, 0, 1, 1}, + {&__pyx_n_s_ceil, __pyx_k_ceil, sizeof(__pyx_k_ceil), 0, 0, 1, 1}, + {&__pyx_n_s_check_data_valid, __pyx_k_check_data_valid, sizeof(__pyx_k_check_data_valid), 0, 0, 1, 1}, + {&__pyx_n_s_chr, __pyx_k_chr, sizeof(__pyx_k_chr), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, + {&__pyx_n_s_closed, __pyx_k_closed, sizeof(__pyx_k_closed), 0, 0, 1, 1}, + {&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1}, + {&__pyx_n_s_compress, __pyx_k_compress, sizeof(__pyx_k_compress), 0, 0, 1, 1}, + {&__pyx_n_s_concat, __pyx_k_concat, sizeof(__pyx_k_concat), 0, 0, 1, 1}, + {&__pyx_n_s_contextlib, __pyx_k_contextlib, sizeof(__pyx_k_contextlib), 0, 0, 1, 1}, + {&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1}, + {&__pyx_n_s_cp, __pyx_k_cp, sizeof(__pyx_k_cp), 0, 0, 1, 1}, + {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, + {&__pyx_n_s_data1, __pyx_k_data1, sizeof(__pyx_k_data1), 0, 0, 1, 1}, + {&__pyx_n_s_data2, __pyx_k_data2, sizeof(__pyx_k_data2), 0, 0, 1, 1}, + {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1}, + {&__pyx_n_s_dedent, __pyx_k_dedent, sizeof(__pyx_k_dedent), 0, 0, 1, 1}, + {&__pyx_n_s_deepcopy, __pyx_k_deepcopy, sizeof(__pyx_k_deepcopy), 0, 0, 1, 1}, + {&__pyx_n_s_del, __pyx_k_del, sizeof(__pyx_k_del), 0, 0, 1, 1}, + {&__pyx_n_s_deque, __pyx_k_deque, sizeof(__pyx_k_deque), 0, 0, 1, 1}, + {&__pyx_n_s_divisor, __pyx_k_divisor, sizeof(__pyx_k_divisor), 0, 0, 1, 1}, + {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, + {&__pyx_n_s_drop, __pyx_k_drop, sizeof(__pyx_k_drop), 0, 0, 1, 1}, + {&__pyx_n_s_drop_handles, __pyx_k_drop_handles, sizeof(__pyx_k_drop_handles), 0, 0, 1, 1}, + {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, + {&__pyx_n_s_dumps, __pyx_k_dumps, sizeof(__pyx_k_dumps), 0, 0, 1, 1}, + {&__pyx_n_s_element, __pyx_k_element, sizeof(__pyx_k_element), 0, 0, 1, 1}, + {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, + {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, + {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1}, + {&__pyx_n_s_eofseeks, __pyx_k_eofseeks, sizeof(__pyx_k_eofseeks), 0, 0, 1, 1}, + {&__pyx_n_s_error_fn, __pyx_k_error_fn, sizeof(__pyx_k_error_fn), 0, 0, 1, 1}, + {&__pyx_n_s_es, __pyx_k_es, sizeof(__pyx_k_es), 0, 0, 1, 1}, + {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, + {&__pyx_n_s_expect, __pyx_k_expect, sizeof(__pyx_k_expect), 0, 0, 1, 1}, + {&__pyx_n_s_expected, __pyx_k_expected, sizeof(__pyx_k_expected), 0, 0, 1, 1}, + {&__pyx_n_s_expected_number_of_seek_points, __pyx_k_expected_number_of_seek_points, sizeof(__pyx_k_expected_number_of_seek_points), 0, 0, 1, 1}, + {&__pyx_n_s_expl, __pyx_k_expl, sizeof(__pyx_k_expl), 0, 0, 1, 1}, + {&__pyx_n_s_export_index, __pyx_k_export_index, sizeof(__pyx_k_export_index), 0, 0, 1, 1}, + {&__pyx_n_s_extend, __pyx_k_extend, sizeof(__pyx_k_extend), 0, 0, 1, 1}, + {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1}, + {&__pyx_n_s_f1, __pyx_k_f1, sizeof(__pyx_k_f1), 0, 0, 1, 1}, + {&__pyx_n_s_f2, __pyx_k_f2, sizeof(__pyx_k_f2), 0, 0, 1, 1}, + {&__pyx_kp_s_f_gz, __pyx_k_f_gz, sizeof(__pyx_k_f_gz), 0, 0, 1, 0}, + {&__pyx_n_s_fid, __pyx_k_fid, sizeof(__pyx_k_fid), 0, 0, 1, 1}, + {&__pyx_n_s_file_like_object, __pyx_k_file_like_object, sizeof(__pyx_k_file_like_object), 0, 0, 1, 1}, + {&__pyx_n_s_filelen, __pyx_k_filelen, sizeof(__pyx_k_filelen), 0, 0, 1, 1}, + {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, + {&__pyx_n_s_fileno, __pyx_k_fileno, sizeof(__pyx_k_fileno), 0, 0, 1, 1}, + {&__pyx_n_s_fileobj, __pyx_k_fileobj, sizeof(__pyx_k_fileobj), 0, 0, 1, 1}, + {&__pyx_n_s_filesize, __pyx_k_filesize, sizeof(__pyx_k_filesize), 0, 0, 1, 1}, + {&__pyx_n_s_fill_buf_bytes, __pyx_k_fill_buf_bytes, sizeof(__pyx_k_fill_buf_bytes), 0, 0, 1, 1}, + {&__pyx_n_s_first50MB, __pyx_k_first50MB, sizeof(__pyx_k_first50MB), 0, 0, 1, 1}, + {&__pyx_n_s_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 0, 0, 1, 1}, + {&__pyx_n_s_fname, __pyx_k_fname, sizeof(__pyx_k_fname), 0, 0, 1, 1}, + {&__pyx_n_s_fobj, __pyx_k_fobj, sizeof(__pyx_k_fobj), 0, 0, 1, 1}, + {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, + {&__pyx_n_s_frombuffer, __pyx_k_frombuffer, sizeof(__pyx_k_frombuffer), 0, 0, 1, 1}, + {&__pyx_n_s_fsize, __pyx_k_fsize, sizeof(__pyx_k_fsize), 0, 0, 1, 1}, + {&__pyx_n_s_ft, __pyx_k_ft, sizeof(__pyx_k_ft), 0, 0, 1, 1}, + {&__pyx_n_s_func, __pyx_k_func, sizeof(__pyx_k_func), 0, 0, 1, 1}, + {&__pyx_n_s_functools, __pyx_k_functools, sizeof(__pyx_k_functools), 0, 0, 1, 1}, + {&__pyx_n_s_gcd, __pyx_k_gcd, sizeof(__pyx_k_gcd), 0, 0, 1, 1}, + {&__pyx_n_s_gen_test_data, __pyx_k_gen_test_data, sizeof(__pyx_k_gen_test_data), 0, 0, 1, 1}, + {&__pyx_n_s_getsize, __pyx_k_getsize, sizeof(__pyx_k_getsize), 0, 0, 1, 1}, + {&__pyx_n_s_gf, __pyx_k_gf, sizeof(__pyx_k_gf), 0, 0, 1, 1}, + {&__pyx_n_s_gf1, __pyx_k_gf1, sizeof(__pyx_k_gf1), 0, 0, 1, 1}, + {&__pyx_n_s_gf2, __pyx_k_gf2, sizeof(__pyx_k_gf2), 0, 0, 1, 1}, + {&__pyx_n_s_gf3, __pyx_k_gf3, sizeof(__pyx_k_gf3), 0, 0, 1, 1}, + {&__pyx_n_s_gotl, __pyx_k_gotl, sizeof(__pyx_k_gotl), 0, 0, 1, 1}, + {&__pyx_n_s_gotline, __pyx_k_gotline, sizeof(__pyx_k_gotline), 0, 0, 1, 1}, + {&__pyx_n_s_gotlines, __pyx_k_gotlines, sizeof(__pyx_k_gotlines), 0, 0, 1, 1}, + {&__pyx_n_s_gzf, __pyx_k_gzf, sizeof(__pyx_k_gzf), 0, 0, 1, 1}, + {&__pyx_n_s_gzf1, __pyx_k_gzf1, sizeof(__pyx_k_gzf1), 0, 0, 1, 1}, + {&__pyx_n_s_gzf2, __pyx_k_gzf2, sizeof(__pyx_k_gzf2), 0, 0, 1, 1}, + {&__pyx_n_s_gzf3, __pyx_k_gzf3, sizeof(__pyx_k_gzf3), 0, 0, 1, 1}, + {&__pyx_n_s_gzf_copy, __pyx_k_gzf_copy, sizeof(__pyx_k_gzf_copy), 0, 0, 1, 1}, + {&__pyx_n_s_gzf_copy2, __pyx_k_gzf_copy2, sizeof(__pyx_k_gzf_copy2), 0, 0, 1, 1}, + {&__pyx_n_s_gzip, __pyx_k_gzip, sizeof(__pyx_k_gzip), 0, 0, 1, 1}, + {&__pyx_n_s_hashlib, __pyx_k_hashlib, sizeof(__pyx_k_hashlib), 0, 0, 1, 1}, + {&__pyx_kp_b_hello_world, __pyx_k_hello_world, sizeof(__pyx_k_hello_world), 0, 0, 0, 0}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_idx, __pyx_k_idx, sizeof(__pyx_k_idx), 0, 0, 1, 1}, + {&__pyx_n_s_idxf, __pyx_k_idxf, sizeof(__pyx_k_idxf), 0, 0, 1, 1}, + {&__pyx_n_s_idxfname, __pyx_k_idxfname, sizeof(__pyx_k_idxfname), 0, 0, 1, 1}, + {&__pyx_n_s_igzip, __pyx_k_igzip, sizeof(__pyx_k_igzip), 0, 0, 1, 1}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_import_index, __pyx_k_import_index, sizeof(__pyx_k_import_index), 0, 0, 1, 1}, + {&__pyx_n_s_index_file, __pyx_k_index_file, sizeof(__pyx_k_index_file), 0, 0, 1, 1}, + {&__pyx_n_s_indexed_gzip, __pyx_k_indexed_gzip, sizeof(__pyx_k_indexed_gzip), 0, 0, 1, 1}, + {&__pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_k_indexed_gzip_tests_ctest_indexed, sizeof(__pyx_k_indexed_gzip_tests_ctest_indexed), 0, 0, 1, 1}, + {&__pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_k_indexed_gzip_tests_ctest_indexed_2, sizeof(__pyx_k_indexed_gzip_tests_ctest_indexed_2), 0, 0, 1, 0}, + {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1}, + {&__pyx_n_u_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 1, 0, 1}, + {&__pyx_n_s_io, __pyx_k_io, sizeof(__pyx_k_io), 0, 0, 1, 1}, + {&__pyx_n_s_it, __pyx_k_it, sizeof(__pyx_k_it), 0, 0, 1, 1}, + {&__pyx_n_s_itertools, __pyx_k_itertools, sizeof(__pyx_k_itertools), 0, 0, 1, 1}, + {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1}, + {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, + {&__pyx_n_s_l, __pyx_k_l, sizeof(__pyx_k_l), 0, 0, 1, 1}, + {&__pyx_n_s_len, __pyx_k_len, sizeof(__pyx_k_len), 0, 0, 1, 1}, + {&__pyx_kp_u_length_of_buffer, __pyx_k_length_of_buffer, sizeof(__pyx_k_length_of_buffer), 0, 1, 0, 0}, + {&__pyx_n_s_lim, __pyx_k_lim, sizeof(__pyx_k_lim), 0, 0, 1, 1}, + {&__pyx_n_s_limits, __pyx_k_limits, sizeof(__pyx_k_limits), 0, 0, 1, 1}, + {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1}, + {&__pyx_kp_s_line_1_line_2_this_is_line_3_li, __pyx_k_line_1_line_2_this_is_line_3_li, sizeof(__pyx_k_line_1_line_2_this_is_line_3_li), 0, 0, 1, 0}, + {&__pyx_n_s_line_offset, __pyx_k_line_offset, sizeof(__pyx_k_line_offset), 0, 0, 1, 1}, + {&__pyx_kp_s_line_one, __pyx_k_line_one, sizeof(__pyx_k_line_one), 0, 0, 1, 0}, + {&__pyx_kp_s_line_two, __pyx_k_line_two, sizeof(__pyx_k_line_two), 0, 0, 1, 0}, + {&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1}, + {&__pyx_kp_b_lo_world, __pyx_k_lo_world, sizeof(__pyx_k_lo_world), 0, 0, 0, 0}, + {&__pyx_n_s_loads, __pyx_k_loads, sizeof(__pyx_k_loads), 0, 0, 1, 1}, + {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_map, __pyx_k_map, sizeof(__pyx_k_map), 0, 0, 1, 1}, + {&__pyx_n_s_memoryview, __pyx_k_memoryview, sizeof(__pyx_k_memoryview), 0, 0, 1, 1}, + {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, + {&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1}, + {&__pyx_n_s_modes, __pyx_k_modes, sizeof(__pyx_k_modes), 0, 0, 1, 1}, + {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, + {&__pyx_n_s_mp, __pyx_k_mp, sizeof(__pyx_k_mp), 0, 0, 1, 1}, + {&__pyx_n_s_mpfunc, __pyx_k_mpfunc, sizeof(__pyx_k_mpfunc), 0, 0, 1, 1}, + {&__pyx_n_s_multiprocessing, __pyx_k_multiprocessing, sizeof(__pyx_k_multiprocessing), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_n_s_nbytes, __pyx_k_nbytes, sizeof(__pyx_k_nbytes), 0, 0, 1, 1}, + {&__pyx_n_s_ndarray, __pyx_k_ndarray, sizeof(__pyx_k_ndarray), 0, 0, 1, 1}, + {&__pyx_n_s_nelems, __pyx_k_nelems, sizeof(__pyx_k_nelems), 0, 0, 1, 1}, + {&__pyx_n_s_niters, __pyx_k_niters, sizeof(__pyx_k_niters), 0, 0, 1, 1}, + {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, + {&__pyx_n_s_num, __pyx_k_num, sizeof(__pyx_k_num), 0, 0, 1, 1}, + {&__pyx_n_s_num_bytes, __pyx_k_num_bytes, sizeof(__pyx_k_num_bytes), 0, 0, 1, 1}, + {&__pyx_kp_u_num_bytes_was, __pyx_k_num_bytes_was, sizeof(__pyx_k_num_bytes_was), 0, 1, 0, 0}, + {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, + {&__pyx_n_s_off, __pyx_k_off, sizeof(__pyx_k_off), 0, 0, 1, 1}, + {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1}, + {&__pyx_n_s_offsets, __pyx_k_offsets, sizeof(__pyx_k_offsets), 0, 0, 1, 1}, + {&__pyx_n_s_ones, __pyx_k_ones, sizeof(__pyx_k_ones), 0, 0, 1, 1}, + {&__pyx_n_s_op, __pyx_k_op, sizeof(__pyx_k_op), 0, 0, 1, 1}, + {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1}, + {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, + {&__pyx_n_s_os_path, __pyx_k_os_path, sizeof(__pyx_k_os_path), 0, 0, 1, 1}, + {&__pyx_n_s_partial, __pyx_k_partial, sizeof(__pyx_k_partial), 0, 0, 1, 1}, + {&__pyx_n_s_peek, __pyx_k_peek, sizeof(__pyx_k_peek), 0, 0, 1, 1}, + {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, + {&__pyx_n_s_pickled, __pyx_k_pickled, sizeof(__pyx_k_pickled), 0, 0, 1, 1}, + {&__pyx_n_s_point, __pyx_k_point, sizeof(__pyx_k_point), 0, 0, 1, 1}, + {&__pyx_n_s_points, __pyx_k_points, sizeof(__pyx_k_points), 0, 0, 1, 1}, + {&__pyx_n_s_pool, __pyx_k_pool, sizeof(__pyx_k_pool), 0, 0, 1, 1}, + {&__pyx_n_s_popleft, __pyx_k_popleft, sizeof(__pyx_k_popleft), 0, 0, 1, 1}, + {&__pyx_n_s_pread, __pyx_k_pread, sizeof(__pyx_k_pread), 0, 0, 1, 1}, + {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, + {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1}, + {&__pyx_n_s_pytest, __pyx_k_pytest, sizeof(__pyx_k_pytest), 0, 0, 1, 1}, + {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, + {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1}, + {&__pyx_n_s_raises, __pyx_k_raises, sizeof(__pyx_k_raises), 0, 0, 1, 1}, + {&__pyx_n_s_randint, __pyx_k_randint, sizeof(__pyx_k_randint), 0, 0, 1, 1}, + {&__pyx_n_s_random, __pyx_k_random, sizeof(__pyx_k_random), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_rb, __pyx_k_rb, sizeof(__pyx_k_rb), 0, 0, 1, 1}, + {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1}, + {&__pyx_n_s_read_element, __pyx_k_read_element, sizeof(__pyx_k_read_element), 0, 0, 1, 1}, + {&__pyx_kp_u_read_in_length, __pyx_k_read_in_length, sizeof(__pyx_k_read_in_length), 0, 1, 0, 0}, + {&__pyx_kp_u_read_out, __pyx_k_read_out, sizeof(__pyx_k_read_out), 0, 1, 0, 0}, + {&__pyx_n_s_readable, __pyx_k_readable, sizeof(__pyx_k_readable), 0, 0, 1, 1}, + {&__pyx_n_s_readall_buf_size, __pyx_k_readall_buf_size, sizeof(__pyx_k_readall_buf_size), 0, 0, 1, 1}, + {&__pyx_n_s_readbuf_size, __pyx_k_readbuf_size, sizeof(__pyx_k_readbuf_size), 0, 0, 1, 1}, + {&__pyx_n_s_readinto, __pyx_k_readinto, sizeof(__pyx_k_readinto), 0, 0, 1, 1}, + {&__pyx_n_s_readline, __pyx_k_readline, sizeof(__pyx_k_readline), 0, 0, 1, 1}, + {&__pyx_n_s_readlines, __pyx_k_readlines, sizeof(__pyx_k_readlines), 0, 0, 1, 1}, + {&__pyx_n_s_readval, __pyx_k_readval, sizeof(__pyx_k_readval), 0, 0, 1, 1}, + {&__pyx_n_s_readval1, __pyx_k_readval1, sizeof(__pyx_k_readval1), 0, 0, 1, 1}, + {&__pyx_n_s_readval2, __pyx_k_readval2, sizeof(__pyx_k_readval2), 0, 0, 1, 1}, + {&__pyx_n_s_readval3, __pyx_k_readval3, sizeof(__pyx_k_readval3), 0, 0, 1, 1}, + {&__pyx_n_s_remainder, __pyx_k_remainder, sizeof(__pyx_k_remainder), 0, 0, 1, 1}, + {&__pyx_n_s_results, __pyx_k_results, sizeof(__pyx_k_results), 0, 0, 1, 1}, + {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1}, + {&__pyx_n_s_ret_list, __pyx_k_ret_list, sizeof(__pyx_k_ret_list), 0, 0, 1, 1}, + {&__pyx_n_s_rt, __pyx_k_rt, sizeof(__pyx_k_rt), 0, 0, 1, 1}, + {&__pyx_n_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 1}, + {&__pyx_n_s_second50MB, __pyx_k_second50MB, sizeof(__pyx_k_second50MB), 0, 0, 1, 1}, + {&__pyx_n_s_seed, __pyx_k_seed, sizeof(__pyx_k_seed), 0, 0, 1, 1}, + {&__pyx_n_s_seek, __pyx_k_seek, sizeof(__pyx_k_seek), 0, 0, 1, 1}, + {&__pyx_n_s_seek_points, __pyx_k_seek_points, sizeof(__pyx_k_seek_points), 0, 0, 1, 1}, + {&__pyx_n_s_seekable, __pyx_k_seekable, sizeof(__pyx_k_seekable), 0, 0, 1, 1}, + {&__pyx_n_s_seekelems, __pyx_k_seekelems, sizeof(__pyx_k_seekelems), 0, 0, 1, 1}, + {&__pyx_n_s_seekloc, __pyx_k_seekloc, sizeof(__pyx_k_seekloc), 0, 0, 1, 1}, + {&__pyx_n_s_seeklocs, __pyx_k_seeklocs, sizeof(__pyx_k_seeklocs), 0, 0, 1, 1}, + {&__pyx_n_s_seekpos, __pyx_k_seekpos, sizeof(__pyx_k_seekpos), 0, 0, 1, 1}, + {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1}, + {&__pyx_n_s_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 0, 0, 1, 1}, + {&__pyx_n_s_shutil, __pyx_k_shutil, sizeof(__pyx_k_shutil), 0, 0, 1, 1}, + {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, + {&__pyx_n_s_skip, __pyx_k_skip, sizeof(__pyx_k_skip), 0, 0, 1, 1}, + {&__pyx_kp_s_skipping_test_read_all_test_as_i, __pyx_k_skipping_test_read_all_test_as_i, sizeof(__pyx_k_skipping_test_read_all_test_as_i), 0, 0, 1, 0}, + {&__pyx_kp_s_skipping_test_read_with_null_pad, __pyx_k_skipping_test_read_with_null_pad, sizeof(__pyx_k_skipping_test_read_with_null_pad), 0, 0, 1, 0}, + {&__pyx_n_s_sp, __pyx_k_sp, sizeof(__pyx_k_sp), 0, 0, 1, 1}, + {&__pyx_n_s_spacing, __pyx_k_spacing, sizeof(__pyx_k_spacing), 0, 0, 1, 1}, + {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, + {&__pyx_n_s_sqrt, __pyx_k_sqrt, sizeof(__pyx_k_sqrt), 0, 0, 1, 1}, + {&__pyx_n_s_st, __pyx_k_st, sizeof(__pyx_k_st), 0, 0, 1, 1}, + {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1}, + {&__pyx_n_s_subprocess, __pyx_k_subprocess, sizeof(__pyx_k_subprocess), 0, 0, 1, 1}, + {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1}, + {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, + {&__pyx_n_s_td, __pyx_k_td, sizeof(__pyx_k_td), 0, 0, 1, 1}, + {&__pyx_n_s_tdir, __pyx_k_tdir, sizeof(__pyx_k_tdir), 0, 0, 1, 1}, + {&__pyx_n_s_tell, __pyx_k_tell, sizeof(__pyx_k_tell), 0, 0, 1, 1}, + {&__pyx_n_s_tempdir, __pyx_k_tempdir, sizeof(__pyx_k_tempdir), 0, 0, 1, 1}, + {&__pyx_n_s_tempfile, __pyx_k_tempfile, sizeof(__pyx_k_tempfile), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_test_32bit_overflow, __pyx_k_test_32bit_overflow, sizeof(__pyx_k_test_32bit_overflow), 0, 0, 1, 1}, + {&__pyx_n_s_test_accept_filename_or_fileobj, __pyx_k_test_accept_filename_or_fileobj, sizeof(__pyx_k_test_accept_filename_or_fileobj), 0, 0, 1, 1}, + {&__pyx_n_s_test_atts, __pyx_k_test_atts, sizeof(__pyx_k_test_atts), 0, 0, 1, 1}, + {&__pyx_n_s_test_build_index_from_unseekable, __pyx_k_test_build_index_from_unseekable, sizeof(__pyx_k_test_build_index_from_unseekable), 0, 0, 1, 1}, + {&__pyx_n_s_test_copyable, __pyx_k_test_copyable, sizeof(__pyx_k_test_copyable), 0, 0, 1, 1}, + {&__pyx_n_s_test_create_from_open_handle, __pyx_k_test_create_from_open_handle, sizeof(__pyx_k_test_create_from_open_handle), 0, 0, 1, 1}, + {&__pyx_n_s_test_get_index_seek_points, __pyx_k_test_get_index_seek_points, sizeof(__pyx_k_test_get_index_seek_points), 0, 0, 1, 1}, + {&__pyx_kp_s_test_gz, __pyx_k_test_gz, sizeof(__pyx_k_test_gz), 0, 0, 1, 0}, + {&__pyx_kp_s_test_gzidx, __pyx_k_test_gzidx, sizeof(__pyx_k_test_gzidx), 0, 0, 1, 0}, + {&__pyx_n_s_test_handles_not_dropped, __pyx_k_test_handles_not_dropped, sizeof(__pyx_k_test_handles_not_dropped), 0, 0, 1, 1}, + {&__pyx_n_s_test_import_export_index, __pyx_k_test_import_export_index, sizeof(__pyx_k_test_import_export_index), 0, 0, 1, 1}, + {&__pyx_n_s_test_import_export_index_open_fi, __pyx_k_test_import_export_index_open_fi, sizeof(__pyx_k_test_import_export_index_open_fi), 0, 0, 1, 1}, + {&__pyx_n_s_test_init_failure_cases, __pyx_k_test_init_failure_cases, sizeof(__pyx_k_test_init_failure_cases), 0, 0, 1, 1}, + {&__pyx_n_s_test_init_success_cases, __pyx_k_test_init_success_cases, sizeof(__pyx_k_test_init_success_cases), 0, 0, 1, 1}, + {&__pyx_n_s_test_iter, __pyx_k_test_iter, sizeof(__pyx_k_test_iter), 0, 0, 1, 1}, + {&__pyx_n_s_test_manual_build, __pyx_k_test_manual_build, sizeof(__pyx_k_test_manual_build), 0, 0, 1, 1}, + {&__pyx_n_s_test_multiproc_serialise, __pyx_k_test_multiproc_serialise, sizeof(__pyx_k_test_multiproc_serialise), 0, 0, 1, 1}, + {&__pyx_n_s_test_open_close, __pyx_k_test_open_close, sizeof(__pyx_k_test_open_close), 0, 0, 1, 1}, + {&__pyx_n_s_test_open_close_ctxmanager, __pyx_k_test_open_close_ctxmanager, sizeof(__pyx_k_test_open_close_ctxmanager), 0, 0, 1, 1}, + {&__pyx_n_s_test_open_function, __pyx_k_test_open_function, sizeof(__pyx_k_test_open_function), 0, 0, 1, 1}, + {&__pyx_n_s_test_open_mode, __pyx_k_test_open_mode, sizeof(__pyx_k_test_open_mode), 0, 0, 1, 1}, + {&__pyx_n_s_test_open_mode_locals_BytesIOWit, __pyx_k_test_open_mode_locals_BytesIOWit, sizeof(__pyx_k_test_open_mode_locals_BytesIOWit), 0, 0, 1, 1}, + {&__pyx_n_s_test_picklable, __pyx_k_test_picklable, sizeof(__pyx_k_test_picklable), 0, 0, 1, 1}, + {&__pyx_n_s_test_pread, __pyx_k_test_pread, sizeof(__pyx_k_test_pread), 0, 0, 1, 1}, + {&__pyx_n_s_test_prioritize_fd_over_f, __pyx_k_test_prioritize_fd_over_f, sizeof(__pyx_k_test_prioritize_fd_over_f), 0, 0, 1, 1}, + {&__pyx_n_s_test_read_all, __pyx_k_test_read_all, sizeof(__pyx_k_test_read_all), 0, 0, 1, 1}, + {&__pyx_n_s_test_read_beyond_end, __pyx_k_test_read_beyond_end, sizeof(__pyx_k_test_read_beyond_end), 0, 0, 1, 1}, + {&__pyx_n_s_test_read_with_null_padding, __pyx_k_test_read_with_null_padding, sizeof(__pyx_k_test_read_with_null_padding), 0, 0, 1, 1}, + {&__pyx_n_s_test_readinto, __pyx_k_test_readinto, sizeof(__pyx_k_test_readinto), 0, 0, 1, 1}, + {&__pyx_n_s_test_readinto_locals_line_offset, __pyx_k_test_readinto_locals_line_offset, sizeof(__pyx_k_test_readinto_locals_line_offset), 0, 0, 1, 1}, + {&__pyx_n_s_test_readline, __pyx_k_test_readline, sizeof(__pyx_k_test_readline), 0, 0, 1, 1}, + {&__pyx_n_s_test_readline_sizelimit, __pyx_k_test_readline_sizelimit, sizeof(__pyx_k_test_readline_sizelimit), 0, 0, 1, 1}, + {&__pyx_n_s_test_readlines, __pyx_k_test_readlines, sizeof(__pyx_k_test_readlines), 0, 0, 1, 1}, + {&__pyx_n_s_test_readlines_sizelimit, __pyx_k_test_readlines_sizelimit, sizeof(__pyx_k_test_readlines_sizelimit), 0, 0, 1, 1}, + {&__pyx_n_s_test_seek, __pyx_k_test_seek, sizeof(__pyx_k_test_seek), 0, 0, 1, 1}, + {&__pyx_n_s_test_seek_and_read, __pyx_k_test_seek_and_read, sizeof(__pyx_k_test_seek_and_read), 0, 0, 1, 1}, + {&__pyx_n_s_test_seek_and_tell, __pyx_k_test_seek_and_tell, sizeof(__pyx_k_test_seek_and_tell), 0, 0, 1, 1}, + {&__pyx_n_s_test_simple_read_with_null_paddi, __pyx_k_test_simple_read_with_null_paddi, sizeof(__pyx_k_test_simple_read_with_null_paddi), 0, 0, 1, 1}, + {&__pyx_n_s_test_size_multiple_of_readbuf, __pyx_k_test_size_multiple_of_readbuf, sizeof(__pyx_k_test_size_multiple_of_readbuf), 0, 0, 1, 1}, + {&__pyx_n_s_test_wrapper_class, __pyx_k_test_wrapper_class, sizeof(__pyx_k_test_wrapper_class), 0, 0, 1, 1}, + {&__pyx_n_s_testfile, __pyx_k_testfile, sizeof(__pyx_k_testfile), 0, 0, 1, 1}, + {&__pyx_n_s_testval, __pyx_k_testval, sizeof(__pyx_k_testval), 0, 0, 1, 1}, + {&__pyx_n_s_textwrap, __pyx_k_textwrap, sizeof(__pyx_k_textwrap), 0, 0, 1, 1}, + {&__pyx_kp_s_this_is_even_more_text_that_is, __pyx_k_this_is_even_more_text_that_is, sizeof(__pyx_k_this_is_even_more_text_that_is), 0, 0, 1, 0}, + {&__pyx_kp_s_this_is_some_more_text_split_ac, __pyx_k_this_is_some_more_text_split_ac, sizeof(__pyx_k_this_is_some_more_text_split_ac), 0, 0, 1, 0}, + {&__pyx_kp_s_this_is_some_text_split_across, __pyx_k_this_is_some_text_split_across, sizeof(__pyx_k_this_is_some_text_split_across), 0, 0, 1, 0}, + {&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1}, + {&__pyx_n_s_tobytes, __pyx_k_tobytes, sizeof(__pyx_k_tobytes), 0, 0, 1, 1}, + {&__pyx_n_s_tostring, __pyx_k_tostring, sizeof(__pyx_k_tostring), 0, 0, 1, 1}, + {&__pyx_n_s_touch, __pyx_k_touch, sizeof(__pyx_k_touch), 0, 0, 1, 1}, + {&__pyx_n_s_uint32, __pyx_k_uint32, sizeof(__pyx_k_uint32), 0, 0, 1, 1}, + {&__pyx_n_s_uint64, __pyx_k_uint64, sizeof(__pyx_k_uint64), 0, 0, 1, 1}, + {&__pyx_n_s_uncmp_offsets, __pyx_k_uncmp_offsets, sizeof(__pyx_k_uncmp_offsets), 0, 0, 1, 1}, + {&__pyx_n_s_use_mmap, __pyx_k_use_mmap, sizeof(__pyx_k_use_mmap), 0, 0, 1, 1}, + {&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1}, + {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1}, + {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1}, + {&__pyx_n_s_wb, __pyx_k_wb, sizeof(__pyx_k_wb), 0, 0, 1, 1}, + {&__pyx_n_s_writable, __pyx_k_writable, sizeof(__pyx_k_writable), 0, 0, 1, 1}, + {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1}, + {&__pyx_n_s_write_text_to_gzip_file, __pyx_k_write_text_to_gzip_file, sizeof(__pyx_k_write_text_to_gzip_file), 0, 0, 1, 1}, + {&__pyx_n_s_wt, __pyx_k_wt, sizeof(__pyx_k_wt), 0, 0, 1, 1}, + {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 87, __pyx_L1_error) + __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) __PYX_ERR(0, 182, __pyx_L1_error) + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 236, __pyx_L1_error) + __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 308, __pyx_L1_error) + __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 640, __pyx_L1_error) + __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 756, __pyx_L1_error) + __pyx_builtin_all = __Pyx_GetBuiltinName(__pyx_n_s_all); if (!__pyx_builtin_all) __PYX_ERR(0, 760, __pyx_L1_error) + __pyx_builtin_chr = __Pyx_GetBuiltinName(__pyx_n_s_chr); if (!__pyx_builtin_chr) __PYX_ERR(0, 760, __pyx_L1_error) + __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 841, __pyx_L1_error) + __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 897, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":111 + * self.__input = fileobj + * self.__buffer = BytesBuffer() + * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) # <<<<<<<<<<<<<< + * self.__size = 0 + * + */ + __pyx_tuple__12 = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 111, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__12); + __Pyx_GIVEREF(__pyx_tuple__12); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":140 + * + * def tell(self): + * print("In GzipStream, tell() is called") # <<<<<<<<<<<<<< + * return self.__size + * + */ + __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_In_GzipStream_tell_is_called); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 140, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__18); + __Pyx_GIVEREF(__pyx_tuple__18); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":147 + * + * def error_fn(*args, **kwargs): + * raise Exception("Error") # <<<<<<<<<<<<<< + * + * + */ + __pyx_tuple__21 = PyTuple_Pack(1, __pyx_n_s_Error); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__21); + __Pyx_GIVEREF(__pyx_tuple__21); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":162 + * + * def write_text_to_gzip_file(fname, lines): + * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< + * for line in lines: + * f.write('{}\n'.format(line).encode()) + */ + __pyx_tuple__25 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__25); + __Pyx_GIVEREF(__pyx_tuple__25); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":220 + * def test_open_mode(): + * + * modes = [('r', True), # <<<<<<<<<<<<<< + * ('rb', True), + * (None, True), + */ + __pyx_tuple__30 = PyTuple_Pack(2, __pyx_n_s_r, Py_True); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__30); + __Pyx_GIVEREF(__pyx_tuple__30); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":221 + * + * modes = [('r', True), + * ('rb', True), # <<<<<<<<<<<<<< + * (None, True), + * ('rt', False), + */ + __pyx_tuple__31 = PyTuple_Pack(2, __pyx_n_s_rb, Py_True); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 221, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__31); + __Pyx_GIVEREF(__pyx_tuple__31); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":222 + * modes = [('r', True), + * ('rb', True), + * (None, True), # <<<<<<<<<<<<<< + * ('rt', False), + * ('w', False), + */ + __pyx_tuple__32 = PyTuple_Pack(2, Py_None, Py_True); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 222, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__32); + __Pyx_GIVEREF(__pyx_tuple__32); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":223 + * ('rb', True), + * (None, True), + * ('rt', False), # <<<<<<<<<<<<<< + * ('w', False), + * ('wt', False)] + */ + __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_rt, Py_False); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 223, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__33); + __Pyx_GIVEREF(__pyx_tuple__33); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":224 + * (None, True), + * ('rt', False), + * ('w', False), # <<<<<<<<<<<<<< + * ('wt', False)] + * + */ + __pyx_tuple__34 = PyTuple_Pack(2, __pyx_n_s_w, Py_False); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 224, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__34); + __Pyx_GIVEREF(__pyx_tuple__34); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 + * ('rt', False), + * ('w', False), + * ('wt', False)] # <<<<<<<<<<<<<< + * + * # open from file + */ + __pyx_tuple__35 = PyTuple_Pack(2, __pyx_n_s_wt, Py_False); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 225, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__35); + __Pyx_GIVEREF(__pyx_tuple__35); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":229 + * # open from file + * with tempdir(): + * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(b'12345') + * for mode, expect in modes: + */ + __pyx_tuple__36 = PyTuple_Pack(2, __pyx_kp_s_f_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 229, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__36); + __Pyx_GIVEREF(__pyx_tuple__36); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":233 + * for mode, expect in modes: + * if expect: + * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< + * assert gzf.read() == b'12345' + * else: + */ + __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_f_gz); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 233, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__37); + __Pyx_GIVEREF(__pyx_tuple__37); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":244 + * + * # accept file-like without mode attribute + * modes.append(('del', True)) # <<<<<<<<<<<<<< + * + * for mode, expect in modes: + */ + __pyx_tuple__38 = PyTuple_Pack(2, __pyx_n_s_del, Py_True); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 244, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__38); + __Pyx_GIVEREF(__pyx_tuple__38); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":486 + * # anywhere else should fail + * f.seek(0) + * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< + * with pytest.raises(igzip.NotCoveredError): + * f.seek(off) + */ + __pyx_tuple__47 = PyTuple_Pack(4, __pyx_int_1, __pyx_int_2, __pyx_int_20, __pyx_int_200); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 486, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__47); + __Pyx_GIVEREF(__pyx_tuple__47); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":708 + * + * + * def line_offset(idx): # <<<<<<<<<<<<<< + * return sum([len(l) for l in lines[:idx]]) + idx + * + */ + __pyx_tuple__59 = PyTuple_Pack(2, __pyx_n_s_idx, __pyx_n_s_l); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 708, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__59); + __Pyx_GIVEREF(__pyx_tuple__59); + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_line_offset, 708, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 708, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":760 + * buf = bytearray([99 for i in range(len(buf))]) + * assert f.readinto(buf) == 0 + * assert all([b == chr(99) for b in buf.decode()]) # <<<<<<<<<<<<<< + * + * + */ + __pyx_tuple__62 = PyTuple_Pack(1, __pyx_int_99); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 760, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__62); + __Pyx_GIVEREF(__pyx_tuple__62); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":803 + * # limit to one character before the end of the first line + * l = f.readline(len(lines[0]) - 1) + * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< + * + * # limit to the last character of the first line + */ + __pyx_slice__65 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__65)) __PYX_ERR(0, 803, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__65); + __Pyx_GIVEREF(__pyx_slice__65); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 + * + * # make a test file + * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __pyx_tuple__71 = PyTuple_Pack(1, __pyx_int_524288); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 934, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__71); + __Pyx_GIVEREF(__pyx_tuple__71); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1023 + * + * # make a test file + * data = np.arange(5242, dtype=np.uint64) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tostring()) + */ + __pyx_tuple__74 = PyTuple_Pack(1, __pyx_int_5242); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 1023, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__74); + __Pyx_GIVEREF(__pyx_tuple__74); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1072 + * idxfname = op.join(td, 'test.gzidx') + * + * data = np.arange(65536, dtype=np.uint64) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tostring()) + */ + __pyx_tuple__76 = PyTuple_Pack(1, __pyx_int_65536); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 1072, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__76); + __Pyx_GIVEREF(__pyx_tuple__76); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1106 + * while True: + * + * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __pyx_tuple__79 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_int_100000); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 1106, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__79); + __Pyx_GIVEREF(__pyx_tuple__79); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1155 + * + * with tempdir(): + * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< + * with open(fname+'.bin', 'wb') as f: + * f.write(data.tobytes()) + */ + __pyx_tuple__81 = PyTuple_Pack(2, __pyx_int_10000, __pyx_int_10000); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 1155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__81); + __Pyx_GIVEREF(__pyx_tuple__81); + __pyx_tuple__82 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_tuple__81); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 1155, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__82); + __Pyx_GIVEREF(__pyx_tuple__82); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1181 + * # if drop_handles=False, no pickle + * with tempdir(): + * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __pyx_tuple__83 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_int_50000); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(0, 1181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__83); + __Pyx_GIVEREF(__pyx_tuple__83); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1263 + * with tempdir(): + * + * data = np.arange(10000000, dtype=np.uint32) # <<<<<<<<<<<<<< + * with gzip.open(fname, 'wb') as f: + * f.write(data.tobytes()) + */ + __pyx_tuple__87 = PyTuple_Pack(1, __pyx_int_10000000); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 1263, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__87); + __Pyx_GIVEREF(__pyx_tuple__87); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1295 + * data = np.ones(block, dtype=np.uint64).tobytes() + * + * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< + * for i in range(48): + * print('Generated to {}...'.format(block * i)) + */ + __pyx_tuple__89 = PyTuple_Pack(2, __pyx_kp_s_test_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 1295, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__89); + __Pyx_GIVEREF(__pyx_tuple__89); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 + * """ + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.__buf = deque() + * self.__size = 0 + */ + __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__91); + __Pyx_GIVEREF(__pyx_tuple__91); + __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_init, 52, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 52, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 + * self.__pos = 0 + * + * def __len__(self): # <<<<<<<<<<<<<< + * return self.__size + * + */ + __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__92); + __Pyx_GIVEREF(__pyx_tuple__92); + __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_len, 57, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 57, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 + * return self.__size + * + * def write(self, data): # <<<<<<<<<<<<<< + * self.__buf.append(data) + * self.__size += len(data) + */ + __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_data); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__93); + __Pyx_GIVEREF(__pyx_tuple__93); + __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_write, 60, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 60, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 + * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") + * + * def read(self, size = None): # <<<<<<<<<<<<<< + * if size is None: + * size = self.__size + */ + __pyx_tuple__94 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_ret_list, __pyx_n_s_s, __pyx_n_s_remainder, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__94); + __Pyx_GIVEREF(__pyx_tuple__94); + __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 65, __pyx_L1_error) + __pyx_tuple__95 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__95); + __Pyx_GIVEREF(__pyx_tuple__95); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 + * return ret + * + * def peek(self, size: int): # <<<<<<<<<<<<<< + * b = bytearray() + * for i in range(0, min(size, len(self.__buf))): + */ + __pyx_tuple__96 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_b, __pyx_n_s_i); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 85, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__96); + __Pyx_GIVEREF(__pyx_tuple__96); + __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_peek, 85, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 85, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":91 + * return bytes(b)[:size] + * + * def flush(self): # <<<<<<<<<<<<<< + * pass + * + */ + __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 91, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__97); + __Pyx_GIVEREF(__pyx_tuple__97); + __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_flush, 91, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 91, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":94 + * pass + * + * def close(self): # <<<<<<<<<<<<<< + * pass + * + */ + __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 94, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__98); + __Pyx_GIVEREF(__pyx_tuple__98); + __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_close, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 94, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 + * pass + * + * def tell(self): # <<<<<<<<<<<<<< + * return self.__pos + * + */ + __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__99); + __Pyx_GIVEREF(__pyx_tuple__99); + __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_tell, 97, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 97, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 + * return self.__pos + * + * def __bool__(self): # <<<<<<<<<<<<<< + * return True + * + */ + __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__100); + __Pyx_GIVEREF(__pyx_tuple__100); + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_bool, 100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 100, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 + * """ + * + * def __init__(self, fileobj): # <<<<<<<<<<<<<< + * self.__input = fileobj + * self.__buffer = BytesBuffer() + */ + __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_fileobj); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__101); + __Pyx_GIVEREF(__pyx_tuple__101); + __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_init, 108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 108, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 + * self.__size = 0 + * + * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) + */ + __pyx_tuple__102 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_num_bytes, __pyx_n_s_s); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 114, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__102); + __Pyx_GIVEREF(__pyx_tuple__102); + __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_fill_buf_bytes, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 114, __pyx_L1_error) + __pyx_tuple__103 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 114, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__103); + __Pyx_GIVEREF(__pyx_tuple__103); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 + * self.__gzip.write(s) # gzip the current file + * + * def read(self, num_bytes=None): # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + */ + __pyx_tuple__104 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_num_bytes, __pyx_n_s_data); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__104); + __Pyx_GIVEREF(__pyx_tuple__104); + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read, 123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_tuple__105 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__105); + __Pyx_GIVEREF(__pyx_tuple__105); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 + * return data + * + * def close(self): # <<<<<<<<<<<<<< + * self.__input.close() + * + */ + __pyx_tuple__106 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__106); + __Pyx_GIVEREF(__pyx_tuple__106); + __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_close, 132, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 132, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 + * self.__input.close() + * + * def peek(self, num_bytes): # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * return self.__buffer.peek(num_bytes) + */ + __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_num_bytes); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 135, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__107); + __Pyx_GIVEREF(__pyx_tuple__107); + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_peek, 135, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 135, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + * return self.__buffer.peek(num_bytes) + * + * def tell(self): # <<<<<<<<<<<<<< + * print("In GzipStream, tell() is called") + * return self.__size + */ + __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__108); + __Pyx_GIVEREF(__pyx_tuple__108); + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_tell, 139, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 139, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 + * return self.__size + * + * def seekable(self): # <<<<<<<<<<<<<< + * return False + * + */ + __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 143, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__109); + __Pyx_GIVEREF(__pyx_tuple__109); + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_seekable, 143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 143, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 + * return False + * + * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< + * raise Exception("Error") + * + */ + __pyx_tuple__110 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__110); + __Pyx_GIVEREF(__pyx_tuple__110); + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_error_fn, 146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 146, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 + * + * + * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< + * + * if seek: + */ + __pyx_tuple__111 = PyTuple_Pack(5, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_seek, __pyx_n_s_bytes, __pyx_n_s_val); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 150, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__111); + __Pyx_GIVEREF(__pyx_tuple__111); + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read_element, 150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 150, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":161 + * + * + * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< + * with gzip.open(fname, mode='wb') as f: + * for line in lines: + */ + __pyx_tuple__112 = PyTuple_Pack(4, __pyx_n_s_fname, __pyx_n_s_lines, __pyx_n_s_f, __pyx_n_s_line); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__112); + __Pyx_GIVEREF(__pyx_tuple__112); + __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_write_text_to_gzip_file, 161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 161, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":167 + * + * + * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< + * + * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) + */ + __pyx_tuple__113 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__113); + __Pyx_GIVEREF(__pyx_tuple__113); + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_close, 167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 167, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 + * f.close() + * + * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< + * + * f1 = None + */ + __pyx_tuple__114 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f1, __pyx_n_s_f2, __pyx_n_s_element, __pyx_n_s_readval1, __pyx_n_s_readval2); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 185, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__114); + __Pyx_GIVEREF(__pyx_tuple__114); + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_function, 185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 185, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 + * + * + * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + __pyx_tuple__115 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 207, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__115); + __Pyx_GIVEREF(__pyx_tuple__115); + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_close_ctxmanager, 207, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 207, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 + * + * + * def test_open_mode(): # <<<<<<<<<<<<<< + * + * modes = [('r', True), + */ + __pyx_tuple__116 = PyTuple_Pack(7, __pyx_n_s_modes, __pyx_n_s_f, __pyx_n_s_mode, __pyx_n_s_expect, __pyx_n_s_gzf, __pyx_n_s_BytesIOWithMode, __pyx_n_s_fileobj); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 218, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__116); + __Pyx_GIVEREF(__pyx_tuple__116); + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_mode, 218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 218, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 + * + * + * def test_atts(testfile, drop): # <<<<<<<<<<<<<< + * + * modes = [None, 'rb', 'r'] + */ + __pyx_tuple__117 = PyTuple_Pack(5, __pyx_n_s_testfile, __pyx_n_s_drop, __pyx_n_s_modes, __pyx_n_s_m, __pyx_n_s_f); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 266, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__117); + __Pyx_GIVEREF(__pyx_tuple__117); + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_atts, 266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 266, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":291 + * + * + * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __pyx_tuple__118 = PyTuple_Pack(6, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_gf, __pyx_n_s_f); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 291, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__118); + __Pyx_GIVEREF(__pyx_tuple__118); + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_init_failure_cases, 291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 291, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 + * + * + * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') + */ + __pyx_tuple__119 = PyTuple_Pack(7, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_gf1, __pyx_n_s_gf2, __pyx_n_s_gf3); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 331, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__119); + __Pyx_GIVEREF(__pyx_tuple__119); + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_init_success_cases, 331, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 331, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 + * + * + * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< + * + * f = open(testfile, 'rb') + */ + __pyx_tuple__120 = PyTuple_Pack(9, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_file_like_object, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(0, 352, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__120); + __Pyx_GIVEREF(__pyx_tuple__120); + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(5, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_create_from_open_handle, 352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 352, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":378 + * + * + * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< + * + * f = None + */ + __pyx_tuple__121 = PyTuple_Pack(10, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f, __pyx_n_s_gzf1, __pyx_n_s_gzf2, __pyx_n_s_gzf3, __pyx_n_s_element, __pyx_n_s_readval1, __pyx_n_s_readval2, __pyx_n_s_readval3); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__121); + __Pyx_GIVEREF(__pyx_tuple__121); + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_accept_filename_or_fileobj, 378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 378, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 + * + * + * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< + * """When a fileobj with an associated fileno is passed to IndexedGzipFile, + * the fileobj's file descriptor (fd) should be utilized by zran.c + */ + __pyx_tuple__122 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 411, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__122); + __Pyx_GIVEREF(__pyx_tuple__122); + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_prioritize_fd_over_f, 411, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 411, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":441 + * + * + * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< + * + * # When drop_handles is False + */ + __pyx_tuple__123 = PyTuple_Pack(9, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_f, __pyx_n_s_fid, __pyx_n_s_i, __pyx_n_s_element, __pyx_n_s_readval, __pyx_n_s_gzf); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__123); + __Pyx_GIVEREF(__pyx_tuple__123); + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_handles_not_dropped, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 441, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 + * + * + * def test_manual_build(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * nelems = 65536 + */ + __pyx_tuple__124 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_nelems, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_off, __pyx_n_s_readval, __pyx_n_s_i, __pyx_n_s_element); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 474, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__124); + __Pyx_GIVEREF(__pyx_tuple__124); + __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_manual_build, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(0, 474, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":518 + * + * + * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< + * + * if use_mmap: + */ + __pyx_tuple__125 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_use_mmap, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_data); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 518, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__125); + __Pyx_GIVEREF(__pyx_tuple__125); + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_all, 518, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 518, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":533 + * + * + * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< + * + * + */ + __pyx_tuple__126 = PyTuple_Pack(2, __pyx_n_s_fileobj, __pyx_n_s_f); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 533, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__126); + __Pyx_GIVEREF(__pyx_tuple__126); + __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_simple_read_with_null_paddi, 533, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 533, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 + * + * + * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< + * + * if use_mmap: + */ + __pyx_tuple__127 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_use_mmap, __pyx_n_s_fileobj, __pyx_n_s_f, __pyx_n_s_data); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(0, 551, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__127); + __Pyx_GIVEREF(__pyx_tuple__127); + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_with_null_padding, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 551, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":571 + * + * + * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< + * with tempdir() as tdir: + * nelems = 65536 + */ + __pyx_tuple__128 = PyTuple_Pack(8, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_tdir, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_data1, __pyx_n_s_data2); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 571, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__128); + __Pyx_GIVEREF(__pyx_tuple__128); + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_beyond_end, 571, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 571, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":594 + * + * + * def test_seek(concat): # <<<<<<<<<<<<<< + * with tempdir() as tdir: + * nelems = 262144 # == 2MB + */ + __pyx_tuple__129 = PyTuple_Pack(9, __pyx_n_s_concat, __pyx_n_s_tdir, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_results, __pyx_n_s_f, __pyx_n_s_data, __pyx_n_s_expected, __pyx_n_s_val); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(0, 594, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__129); + __Pyx_GIVEREF(__pyx_tuple__129); + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 594, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 + * + * + * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + __pyx_tuple__130 = PyTuple_Pack(11, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_seekelems, __pyx_n_s_i, __pyx_n_s_testval, __pyx_n_s_readval, __pyx_n_s_ft); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(0, 632, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__130); + __Pyx_GIVEREF(__pyx_tuple__130); + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(5, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek_and_read, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 632, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":650 + * + * + * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + __pyx_tuple__131 = PyTuple_Pack(13, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_filesize, __pyx_n_s_f, __pyx_n_s_seeklocs, __pyx_n_s_seekloc, __pyx_n_s_st, __pyx_n_s_ft, __pyx_n_s_eofseeks, __pyx_n_s_es); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__131); + __Pyx_GIVEREF(__pyx_tuple__131); + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(5, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek_and_tell, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 650, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 + * + * + * def test_pread(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * nelems = 1024 + */ + __pyx_tuple__132 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_off, __pyx_n_s_data, __pyx_n_s_val); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 684, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__132); + __Pyx_GIVEREF(__pyx_tuple__132); + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_pread, 684, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 684, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + * + * + * def test_readinto(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * line 1 + */ + __pyx_tuple__133 = PyTuple_Pack(13, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_line_offset, __pyx_n_s_line_offset, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_buf, __pyx_n_s_offset, __pyx_n_s_filelen, __pyx_n_s_l, __pyx_n_s_i, __pyx_n_s_b); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(0, 698, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__133); + __Pyx_GIVEREF(__pyx_tuple__133); + __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readinto, 698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 698, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 + * + * + * def test_readline(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * this is + */ + __pyx_tuple__134 = PyTuple_Pack(7, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_seekpos, __pyx_n_s_line); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 763, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__134); + __Pyx_GIVEREF(__pyx_tuple__134); + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readline, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 763, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":791 + * + * + * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< + * + * lines = ['line one', 'line two'] + */ + __pyx_tuple__135 = PyTuple_Pack(6, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_l); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(0, 791, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__135); + __Pyx_GIVEREF(__pyx_tuple__135); + __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readline_sizelimit, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 791, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":821 + * + * + * def test_readlines(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * this is + */ + __pyx_tuple__136 = PyTuple_Pack(8, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_gotlines, __pyx_n_s_expl, __pyx_n_s_gotl); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 821, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__136); + __Pyx_GIVEREF(__pyx_tuple__136); + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readlines, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 821, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":847 + * + * + * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< + * + * lines = ['line one', 'line two'] + */ + __pyx_tuple__137 = PyTuple_Pack(9, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_data, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_limits, __pyx_n_s_f, __pyx_n_s_lim, __pyx_n_s_gotlines); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(0, 847, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__137); + __Pyx_GIVEREF(__pyx_tuple__137); + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readlines_sizelimit, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 847, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":876 + * + * + * def test_iter(drop): # <<<<<<<<<<<<<< + * + * lines = textwrap.dedent(""" + */ + __pyx_tuple__138 = PyTuple_Pack(7, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_gotline); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__138); + __Pyx_GIVEREF(__pyx_tuple__138); + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_iter, 876, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 876, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 + * + * + * def test_get_index_seek_points(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __pyx_tuple__139 = PyTuple_Pack(9, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_spacing, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_expected_number_of_seek_points, __pyx_n_s_seek_points, __pyx_n_s_uncmp_offsets, __pyx_n_s_point); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(0, 901, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__139); + __Pyx_GIVEREF(__pyx_tuple__139); + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_get_index_seek_points, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 901, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 + * + * + * def test_import_export_index(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __pyx_tuple__140 = PyTuple_Pack(7, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_points, __pyx_n_s_val); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 927, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__140); + __Pyx_GIVEREF(__pyx_tuple__140); + __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_import_export_index, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 927, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 + * + * + * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __pyx_tuple__141 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_points, __pyx_n_s_idxf, __pyx_n_s_val); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(0, 960, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__141); + __Pyx_GIVEREF(__pyx_tuple__141); + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_import_export_index_open_fi, 960, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 960, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 + * + * + * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + */ + __pyx_tuple__142 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_b, __pyx_n_s_fileobj, __pyx_n_s_points); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(0, 1017, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__142); + __Pyx_GIVEREF(__pyx_tuple__142); + __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_build_index_from_unseekable, 1017, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(0, 1017, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1066 + * + * + * def test_wrapper_class(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __pyx_tuple__143 = PyTuple_Pack(5, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(0, 1066, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__143); + __Pyx_GIVEREF(__pyx_tuple__143); + __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_wrapper_class, 1066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) __PYX_ERR(0, 1066, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 + * + * + * def gcd(num): # <<<<<<<<<<<<<< + * if num <= 3: + * return 1 + */ + __pyx_tuple__144 = PyTuple_Pack(3, __pyx_n_s_num, __pyx_n_s_candidates, __pyx_n_s_divisor); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 1087, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__144); + __Pyx_GIVEREF(__pyx_tuple__144); + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_gcd, 1087, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(0, 1087, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 + * + * + * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< + * + * fname = 'test.gz' + */ + __pyx_tuple__145 = PyTuple_Pack(6, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_fsize, __pyx_n_s_bufsz, __pyx_n_s_read); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__145); + __Pyx_GIVEREF(__pyx_tuple__145); + __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_size_multiple_of_readbuf, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 1098, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 + * + * + * def test_picklable(): # <<<<<<<<<<<<<< + * + * # default behaviour is for drop_handles=True, + */ + __pyx_tuple__146 = PyTuple_Pack(7, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_first50MB, __pyx_n_s_pickled, __pyx_n_s_second50MB); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__146); + __Pyx_GIVEREF(__pyx_tuple__146); + __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_picklable, 1147, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 1147, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 + * + * + * def test_copyable(): # <<<<<<<<<<<<<< + * fname = 'test.gz' + * + */ + __pyx_tuple__147 = PyTuple_Pack(9, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_gzf_copy, __pyx_n_s_first50MB, __pyx_n_s_gzf_copy2, __pyx_n_s_second50MB, __pyx_n_s_fobj); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(0, 1194, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__147); + __Pyx_GIVEREF(__pyx_tuple__147); + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_copyable, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(0, 1194, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1250 + * + * + * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< + * gzf.seek(offset) + * bytes = gzf.read(size) + */ + __pyx_tuple__148 = PyTuple_Pack(5, __pyx_n_s_gzf, __pyx_n_s_size, __pyx_n_s_offset, __pyx_n_s_bytes, __pyx_n_s_val); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__148); + __Pyx_GIVEREF(__pyx_tuple__148); + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_mpfunc, 1250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(0, 1250, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1259 + * + * + * def test_multiproc_serialise(): # <<<<<<<<<<<<<< + * fname = 'test.gz' + * with tempdir(): + */ + __pyx_tuple__149 = PyTuple_Pack(11, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_size, __pyx_n_s_offsets, __pyx_n_s_func, __pyx_n_s_pool, __pyx_n_s_results, __pyx_n_s_expected, __pyx_n_s_off); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(0, 1259, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__149); + __Pyx_GIVEREF(__pyx_tuple__149); + __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_multiproc_serialise, 1259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(0, 1259, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 + * + * + * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< + * with tempdir(): + * + */ + __pyx_tuple__150 = PyTuple_Pack(11, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_block, __pyx_n_s_nelems, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_seekelems, __pyx_n_s_testval, __pyx_n_s_readval, __pyx_n_s_ft); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(0, 1287, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__150); + __Pyx_GIVEREF(__pyx_tuple__150); + __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_32bit_overflow, 1287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) __PYX_ERR(0, 1287, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + __pyx_umethod_PyByteArray_Type_extend.type = (PyObject*)&PyByteArray_Type; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_16 = PyInt_FromLong(16); if (unlikely(!__pyx_int_16)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_20 = PyInt_FromLong(20); if (unlikely(!__pyx_int_20)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_24 = PyInt_FromLong(24); if (unlikely(!__pyx_int_24)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_48 = PyInt_FromLong(48); if (unlikely(!__pyx_int_48)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_99 = PyInt_FromLong(99); if (unlikely(!__pyx_int_99)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_128 = PyInt_FromLong(128); if (unlikely(!__pyx_int_128)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_200 = PyInt_FromLong(200); if (unlikely(!__pyx_int_200)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1000 = PyInt_FromLong(1000); if (unlikely(!__pyx_int_1000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1024 = PyInt_FromLong(1024); if (unlikely(!__pyx_int_1024)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_5242 = PyInt_FromLong(5242); if (unlikely(!__pyx_int_5242)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_10000 = PyInt_FromLong(10000L); if (unlikely(!__pyx_int_10000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_50000 = PyInt_FromLong(50000L); if (unlikely(!__pyx_int_50000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_65535 = PyInt_FromLong(65535L); if (unlikely(!__pyx_int_65535)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_65536 = PyInt_FromLong(65536L); if (unlikely(!__pyx_int_65536)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_100000 = PyInt_FromLong(100000L); if (unlikely(!__pyx_int_100000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_131072 = PyInt_FromLong(131072L); if (unlikely(!__pyx_int_131072)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_261744 = PyInt_FromLong(261744L); if (unlikely(!__pyx_int_261744)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_262044 = PyInt_FromLong(262044L); if (unlikely(!__pyx_int_262044)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_524280 = PyInt_FromLong(524280L); if (unlikely(!__pyx_int_524280)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_524288 = PyInt_FromLong(524288L); if (unlikely(!__pyx_int_524288)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1048576 = PyInt_FromLong(1048576L); if (unlikely(!__pyx_int_1048576)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_10000000 = PyInt_FromLong(10000000L); if (unlikely(!__pyx_int_10000000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_16777216 = PyInt_FromLong(16777216L); if (unlikely(!__pyx_int_16777216)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_52428800 = PyInt_FromLong(52428800L); if (unlikely(!__pyx_int_52428800)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_2 = PyInt_FromLong(-2); if (unlikely(!__pyx_int_neg_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_16 = PyInt_FromLong(-16); if (unlikely(!__pyx_int_neg_16)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_100 = PyInt_FromLong(-100); if (unlikely(!__pyx_int_neg_100)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_800 = PyInt_FromLong(-800); if (unlikely(!__pyx_int_neg_800)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_neg_3200 = PyInt_FromLong(-3200); if (unlikely(!__pyx_int_neg_3200)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto) < 0) __PYX_ERR(0, 698, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto = &__pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#ifndef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#elif PY_MAJOR_VERSION < 3 +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" void +#else +#define __Pyx_PyMODINIT_FUNC void +#endif +#else +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyObject * +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initctest_indexed_gzip(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initctest_indexed_gzip(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_ctest_indexed_gzip(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_ctest_indexed_gzip(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_ctest_indexed_gzip(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + __Pyx_TraceDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'ctest_indexed_gzip' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_ctest_indexed_gzip(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + PyEval_InitThreads(); + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("ctest_indexed_gzip", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_indexed_gzip__tests__ctest_indexed_gzip) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "indexed_gzip.tests.ctest_indexed_gzip")) { + if (unlikely(PyDict_SetItemString(modules, "indexed_gzip.tests.ctest_indexed_gzip", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + (void)__Pyx_modinit_type_import_code(); + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit_ctest_indexed_gzip(void)", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":9 + * from __future__ import print_function + * + * import os # <<<<<<<<<<<<<< + * import os.path as op + * import itertools as it + */ + __Pyx_TraceLine(9,0,__PYX_ERR(0, 9, __pyx_L1_error)) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":10 + * + * import os + * import os.path as op # <<<<<<<<<<<<<< + * import itertools as it + * import functools as ft + */ + __Pyx_TraceLine(10,0,__PYX_ERR(0, 10, __pyx_L1_error)) + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s__90); + __Pyx_GIVEREF(__pyx_n_s__90); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__90); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_os_path, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_op, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":11 + * import os + * import os.path as op + * import itertools as it # <<<<<<<<<<<<<< + * import functools as ft + * import subprocess as sp + */ + __Pyx_TraceLine(11,0,__PYX_ERR(0, 11, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_itertools, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_it, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":12 + * import os.path as op + * import itertools as it + * import functools as ft # <<<<<<<<<<<<<< + * import subprocess as sp + * import multiprocessing as mp + */ + __Pyx_TraceLine(12,0,__PYX_ERR(0, 12, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_functools, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_ft, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":13 + * import itertools as it + * import functools as ft + * import subprocess as sp # <<<<<<<<<<<<<< + * import multiprocessing as mp + * import copy as cp + */ + __Pyx_TraceLine(13,0,__PYX_ERR(0, 13, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_subprocess, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_sp, __pyx_t_2) < 0) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":14 + * import functools as ft + * import subprocess as sp + * import multiprocessing as mp # <<<<<<<<<<<<<< + * import copy as cp + * import sys + */ + __Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_multiprocessing, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_mp, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":15 + * import subprocess as sp + * import multiprocessing as mp + * import copy as cp # <<<<<<<<<<<<<< + * import sys + * import time + */ + __Pyx_TraceLine(15,0,__PYX_ERR(0, 15, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_cp, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":16 + * import multiprocessing as mp + * import copy as cp + * import sys # <<<<<<<<<<<<<< + * import time + * import gzip + */ + __Pyx_TraceLine(16,0,__PYX_ERR(0, 16, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":17 + * import copy as cp + * import sys + * import time # <<<<<<<<<<<<<< + * import gzip + * import random + */ + __Pyx_TraceLine(17,0,__PYX_ERR(0, 17, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_time, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":18 + * import sys + * import time + * import gzip # <<<<<<<<<<<<<< + * import random + * import shutil + */ + __Pyx_TraceLine(18,0,__PYX_ERR(0, 18, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_gzip, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_gzip, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":19 + * import time + * import gzip + * import random # <<<<<<<<<<<<<< + * import shutil + * import pickle + */ + __Pyx_TraceLine(19,0,__PYX_ERR(0, 19, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_random, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_random, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":20 + * import gzip + * import random + * import shutil # <<<<<<<<<<<<<< + * import pickle + * import hashlib + */ + __Pyx_TraceLine(20,0,__PYX_ERR(0, 20, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_shutil, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_shutil, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":21 + * import random + * import shutil + * import pickle # <<<<<<<<<<<<<< + * import hashlib + * import textwrap + */ + __Pyx_TraceLine(21,0,__PYX_ERR(0, 21, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_pickle, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pickle, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":22 + * import shutil + * import pickle + * import hashlib # <<<<<<<<<<<<<< + * import textwrap + * import tempfile + */ + __Pyx_TraceLine(22,0,__PYX_ERR(0, 22, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_hashlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":23 + * import pickle + * import hashlib + * import textwrap # <<<<<<<<<<<<<< + * import tempfile + * import contextlib + */ + __Pyx_TraceLine(23,0,__PYX_ERR(0, 23, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_textwrap, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_textwrap, __pyx_t_2) < 0) __PYX_ERR(0, 23, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":24 + * import hashlib + * import textwrap + * import tempfile # <<<<<<<<<<<<<< + * import contextlib + * + */ + __Pyx_TraceLine(24,0,__PYX_ERR(0, 24, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_tempfile, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempfile, __pyx_t_2) < 0) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":25 + * import textwrap + * import tempfile + * import contextlib # <<<<<<<<<<<<<< + * + * import numpy as np + */ + __Pyx_TraceLine(25,0,__PYX_ERR(0, 25, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_contextlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_contextlib, __pyx_t_2) < 0) __PYX_ERR(0, 25, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":27 + * import contextlib + * + * import numpy as np # <<<<<<<<<<<<<< + * from io import BytesIO + * import pytest + */ + __Pyx_TraceLine(27,0,__PYX_ERR(0, 27, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_2) < 0) __PYX_ERR(0, 27, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":28 + * + * import numpy as np + * from io import BytesIO # <<<<<<<<<<<<<< + * import pytest + * + */ + __Pyx_TraceLine(28,0,__PYX_ERR(0, 28, __pyx_L1_error)) + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_BytesIO); + __Pyx_GIVEREF(__pyx_n_s_BytesIO); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_BytesIO); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_io, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_BytesIO, __pyx_t_2) < 0) __PYX_ERR(0, 28, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":29 + * import numpy as np + * from io import BytesIO + * import pytest # <<<<<<<<<<<<<< + * + * import indexed_gzip as igzip + */ + __Pyx_TraceLine(29,0,__PYX_ERR(0, 29, __pyx_L1_error)) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_pytest, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_pytest, __pyx_t_1) < 0) __PYX_ERR(0, 29, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":31 + * import pytest + * + * import indexed_gzip as igzip # <<<<<<<<<<<<<< + * + * from . import gen_test_data + */ + __Pyx_TraceLine(31,0,__PYX_ERR(0, 31, __pyx_L1_error)) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_indexed_gzip, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_igzip, __pyx_t_1) < 0) __PYX_ERR(0, 31, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":33 + * import indexed_gzip as igzip + * + * from . import gen_test_data # <<<<<<<<<<<<<< + * from . import check_data_valid + * from . import tempdir + */ + __Pyx_TraceLine(33,0,__PYX_ERR(0, 33, __pyx_L1_error)) + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_gen_test_data); + __Pyx_GIVEREF(__pyx_n_s_gen_test_data); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_gen_test_data); + __pyx_t_2 = __Pyx_Import(__pyx_n_s__5, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_gen_test_data, __pyx_t_1) < 0) __PYX_ERR(0, 33, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":34 + * + * from . import gen_test_data + * from . import check_data_valid # <<<<<<<<<<<<<< + * from . import tempdir + * from . import touch + */ + __Pyx_TraceLine(34,0,__PYX_ERR(0, 34, __pyx_L1_error)) + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_check_data_valid); + __Pyx_GIVEREF(__pyx_n_s_check_data_valid); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_check_data_valid); + __pyx_t_1 = __Pyx_Import(__pyx_n_s__5, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_data_valid, __pyx_t_2) < 0) __PYX_ERR(0, 34, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":35 + * from . import gen_test_data + * from . import check_data_valid + * from . import tempdir # <<<<<<<<<<<<<< + * from . import touch + * from . import compress + */ + __Pyx_TraceLine(35,0,__PYX_ERR(0, 35, __pyx_L1_error)) + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_tempdir); + __Pyx_GIVEREF(__pyx_n_s_tempdir); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_tempdir); + __pyx_t_2 = __Pyx_Import(__pyx_n_s__5, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempdir, __pyx_t_1) < 0) __PYX_ERR(0, 35, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":36 + * from . import check_data_valid + * from . import tempdir + * from . import touch # <<<<<<<<<<<<<< + * from . import compress + * + */ + __Pyx_TraceLine(36,0,__PYX_ERR(0, 36, __pyx_L1_error)) + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_touch); + __Pyx_GIVEREF(__pyx_n_s_touch); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_touch); + __pyx_t_1 = __Pyx_Import(__pyx_n_s__5, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_touch); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_touch, __pyx_t_2) < 0) __PYX_ERR(0, 36, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":37 + * from . import tempdir + * from . import touch + * from . import compress # <<<<<<<<<<<<<< + * + * from collections import deque + */ + __Pyx_TraceLine(37,0,__PYX_ERR(0, 37, __pyx_L1_error)) + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_compress); + __Pyx_GIVEREF(__pyx_n_s_compress); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_compress); + __pyx_t_2 = __Pyx_Import(__pyx_n_s__5, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_compress); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_compress, __pyx_t_1) < 0) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":39 + * from . import compress + * + * from collections import deque # <<<<<<<<<<<<<< + * + * from libc.stdio cimport (SEEK_SET, + */ + __Pyx_TraceLine(39,0,__PYX_ERR(0, 39, __pyx_L1_error)) + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_n_s_deque); + __Pyx_GIVEREF(__pyx_n_s_deque); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_deque); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_collections, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_deque); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_deque, __pyx_t_2) < 0) __PYX_ERR(0, 39, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":46 + * + * + * class BytesBuffer(BytesIO): # <<<<<<<<<<<<<< + * """ + * A class for a buffer of bytes. Unlike io.BytesIO(), this class + */ + __Pyx_TraceLine(46,0,__PYX_ERR(0, 46, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_BytesBuffer, __pyx_n_s_BytesBuffer, (PyObject *) NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_kp_s_A_class_for_a_buffer_of_bytes_U); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 + * """ + * + * def __init__(self): # <<<<<<<<<<<<<< + * self.__buf = deque() + * self.__size = 0 + */ + __Pyx_TraceLine(52,0,__PYX_ERR(0, 52, __pyx_L1_error)) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__, 0, __pyx_n_s_BytesBuffer___init, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 + * self.__pos = 0 + * + * def __len__(self): # <<<<<<<<<<<<<< + * return self.__size + * + */ + __Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error)) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__, 0, __pyx_n_s_BytesBuffer___len, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_len, __pyx_t_4) < 0) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 + * return self.__size + * + * def write(self, data): # <<<<<<<<<<<<<< + * self.__buf.append(data) + * self.__size += len(data) + */ + __Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error)) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write, 0, __pyx_n_s_BytesBuffer_write, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_write, __pyx_t_4) < 0) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 + * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") + * + * def read(self, size = None): # <<<<<<<<<<<<<< + * if size is None: + * size = self.__size + */ + __Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L1_error)) + __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read, 0, __pyx_n_s_BytesBuffer_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__95); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_read, __pyx_t_4) < 0) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 + * return ret + * + * def peek(self, size: int): # <<<<<<<<<<<<<< + * b = bytearray() + * for i in range(0, min(size, len(self.__buf))): + */ + __Pyx_TraceLine(85,0,__PYX_ERR(0, 85, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_size, __pyx_n_u_int) < 0) __PYX_ERR(0, 85, __pyx_L1_error) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek, 0, __pyx_n_s_BytesBuffer_peek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 85, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_peek, __pyx_t_5) < 0) __PYX_ERR(0, 85, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":91 + * return bytes(b)[:size] + * + * def flush(self): # <<<<<<<<<<<<<< + * pass + * + */ + __Pyx_TraceLine(91,0,__PYX_ERR(0, 91, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush, 0, __pyx_n_s_BytesBuffer_flush, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 91, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_flush, __pyx_t_5) < 0) __PYX_ERR(0, 91, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":94 + * pass + * + * def close(self): # <<<<<<<<<<<<<< + * pass + * + */ + __Pyx_TraceLine(94,0,__PYX_ERR(0, 94, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close, 0, __pyx_n_s_BytesBuffer_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 94, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_close, __pyx_t_5) < 0) __PYX_ERR(0, 94, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 + * pass + * + * def tell(self): # <<<<<<<<<<<<<< + * return self.__pos + * + */ + __Pyx_TraceLine(97,0,__PYX_ERR(0, 97, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell, 0, __pyx_n_s_BytesBuffer_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_tell, __pyx_t_5) < 0) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 + * return self.__pos + * + * def __bool__(self): # <<<<<<<<<<<<<< + * return True + * + */ + __Pyx_TraceLine(100,0,__PYX_ERR(0, 100, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__, 0, __pyx_n_s_BytesBuffer___bool, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_bool, __pyx_t_5) < 0) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":46 + * + * + * class BytesBuffer(BytesIO): # <<<<<<<<<<<<<< + * """ + * A class for a buffer of bytes. Unlike io.BytesIO(), this class + */ + __Pyx_TraceLine(46,0,__PYX_ERR(0, 46, __pyx_L1_error)) + __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_BytesBuffer, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_BytesBuffer, __pyx_t_5) < 0) __PYX_ERR(0, 46, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":104 + * + * + * class GzipStream(BytesIO): # <<<<<<<<<<<<<< + * """A stream that gzips a file in chunks. + * """ + */ + __Pyx_TraceLine(104,0,__PYX_ERR(0, 104, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_GzipStream, __pyx_n_s_GzipStream, (PyObject *) NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_kp_s_A_stream_that_gzips_a_file_in_ch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 + * """ + * + * def __init__(self, fileobj): # <<<<<<<<<<<<<< + * self.__input = fileobj + * self.__buffer = BytesBuffer() + */ + __Pyx_TraceLine(108,0,__PYX_ERR(0, 108, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__, 0, __pyx_n_s_GzipStream___init, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_5) < 0) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 + * self.__size = 0 + * + * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) + */ + __Pyx_TraceLine(114,0,__PYX_ERR(0, 114, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes, 0, __pyx_n_s_GzipStream__fill_buf_bytes, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 114, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__103); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_fill_buf_bytes, __pyx_t_5) < 0) __PYX_ERR(0, 114, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 + * self.__gzip.write(s) # gzip the current file + * + * def read(self, num_bytes=None): # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + */ + __Pyx_TraceLine(123,0,__PYX_ERR(0, 123, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read, 0, __pyx_n_s_GzipStream_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__105); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_read, __pyx_t_5) < 0) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 + * return data + * + * def close(self): # <<<<<<<<<<<<<< + * self.__input.close() + * + */ + __Pyx_TraceLine(132,0,__PYX_ERR(0, 132, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close, 0, __pyx_n_s_GzipStream_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_close, __pyx_t_5) < 0) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 + * self.__input.close() + * + * def peek(self, num_bytes): # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * return self.__buffer.peek(num_bytes) + */ + __Pyx_TraceLine(135,0,__PYX_ERR(0, 135, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek, 0, __pyx_n_s_GzipStream_peek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 135, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_peek, __pyx_t_5) < 0) __PYX_ERR(0, 135, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + * return self.__buffer.peek(num_bytes) + * + * def tell(self): # <<<<<<<<<<<<<< + * print("In GzipStream, tell() is called") + * return self.__size + */ + __Pyx_TraceLine(139,0,__PYX_ERR(0, 139, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell, 0, __pyx_n_s_GzipStream_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_tell, __pyx_t_5) < 0) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 + * return self.__size + * + * def seekable(self): # <<<<<<<<<<<<<< + * return False + * + */ + __Pyx_TraceLine(143,0,__PYX_ERR(0, 143, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable, 0, __pyx_n_s_GzipStream_seekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_seekable, __pyx_t_5) < 0) __PYX_ERR(0, 143, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":104 + * + * + * class GzipStream(BytesIO): # <<<<<<<<<<<<<< + * """A stream that gzips a file in chunks. + * """ + */ + __Pyx_TraceLine(104,0,__PYX_ERR(0, 104, __pyx_L1_error)) + __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_GzipStream, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_GzipStream, __pyx_t_5) < 0) __PYX_ERR(0, 104, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 + * return False + * + * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< + * raise Exception("Error") + * + */ + __Pyx_TraceLine(146,0,__PYX_ERR(0, 146, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_error_fn, __pyx_t_1) < 0) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 + * + * + * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< + * + * if seek: + */ + __Pyx_TraceLine(150,0,__PYX_ERR(0, 150, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_read_element, __pyx_t_1) < 0) __PYX_ERR(0, 150, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":161 + * + * + * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< + * with gzip.open(fname, mode='wb') as f: + * for line in lines: + */ + __Pyx_TraceLine(161,0,__PYX_ERR(0, 161, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_write_text_to_gzip_file, __pyx_t_1) < 0) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":167 + * + * + * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< + * + * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) + */ + __Pyx_TraceLine(167,0,__PYX_ERR(0, 167, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_close, __pyx_t_1) < 0) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 + * f.close() + * + * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< + * + * f1 = None + */ + __Pyx_TraceLine(185,0,__PYX_ERR(0, 185, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_function, __pyx_t_1) < 0) __PYX_ERR(0, 185, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 + * + * + * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + __Pyx_TraceLine(207,0,__PYX_ERR(0, 207, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_close_ctxmanager, __pyx_t_1) < 0) __PYX_ERR(0, 207, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 + * + * + * def test_open_mode(): # <<<<<<<<<<<<<< + * + * modes = [('r', True), + */ + __Pyx_TraceLine(218,0,__PYX_ERR(0, 218, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_mode, __pyx_t_1) < 0) __PYX_ERR(0, 218, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 + * + * + * def test_atts(testfile, drop): # <<<<<<<<<<<<<< + * + * modes = [None, 'rb', 'r'] + */ + __Pyx_TraceLine(266,0,__PYX_ERR(0, 266, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_atts, __pyx_t_1) < 0) __PYX_ERR(0, 266, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":291 + * + * + * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(291,0,__PYX_ERR(0, 291, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_failure_cases, __pyx_t_1) < 0) __PYX_ERR(0, 291, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 + * + * + * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< + * with tempdir() as td: + * testfile = op.join(td, 'test.gz') + */ + __Pyx_TraceLine(331,0,__PYX_ERR(0, 331, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_success_cases, __pyx_t_1) < 0) __PYX_ERR(0, 331, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 + * + * + * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< + * + * f = open(testfile, 'rb') + */ + __Pyx_TraceLine(352,0,__PYX_ERR(0, 352, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 352, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_create_from_open_handle, __pyx_t_1) < 0) __PYX_ERR(0, 352, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":378 + * + * + * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< + * + * f = None + */ + __Pyx_TraceLine(378,0,__PYX_ERR(0, 378, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_accept_filename_or_fileobj, __pyx_t_1) < 0) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 + * + * + * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< + * """When a fileobj with an associated fileno is passed to IndexedGzipFile, + * the fileobj's file descriptor (fd) should be utilized by zran.c + */ + __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_prioritize_fd_over_f, __pyx_t_1) < 0) __PYX_ERR(0, 411, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":441 + * + * + * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< + * + * # When drop_handles is False + */ + __Pyx_TraceLine(441,0,__PYX_ERR(0, 441, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_handles_not_dropped, __pyx_t_1) < 0) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 + * + * + * def test_manual_build(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * nelems = 65536 + */ + __Pyx_TraceLine(474,0,__PYX_ERR(0, 474, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_manual_build, __pyx_t_1) < 0) __PYX_ERR(0, 474, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":518 + * + * + * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< + * + * if use_mmap: + */ + __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 518, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_all, __pyx_t_1) < 0) __PYX_ERR(0, 518, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":533 + * + * + * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(533,0,__PYX_ERR(0, 533, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 533, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_simple_read_with_null_paddi, __pyx_t_1) < 0) __PYX_ERR(0, 533, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 + * + * + * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< + * + * if use_mmap: + */ + __Pyx_TraceLine(551,0,__PYX_ERR(0, 551, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_with_null_padding, __pyx_t_1) < 0) __PYX_ERR(0, 551, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":571 + * + * + * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< + * with tempdir() as tdir: + * nelems = 65536 + */ + __Pyx_TraceLine(571,0,__PYX_ERR(0, 571, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_beyond_end, __pyx_t_1) < 0) __PYX_ERR(0, 571, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":594 + * + * + * def test_seek(concat): # <<<<<<<<<<<<<< + * with tempdir() as tdir: + * nelems = 262144 # == 2MB + */ + __Pyx_TraceLine(594,0,__PYX_ERR(0, 594, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 594, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek, __pyx_t_1) < 0) __PYX_ERR(0, 594, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 + * + * + * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< + * + * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: + */ + __Pyx_TraceLine(632,0,__PYX_ERR(0, 632, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_and_read, __pyx_t_1) < 0) __PYX_ERR(0, 632, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":650 + * + * + * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + __Pyx_TraceLine(650,0,__PYX_ERR(0, 650, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_and_tell, __pyx_t_1) < 0) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 + * + * + * def test_pread(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * nelems = 1024 + */ + __Pyx_TraceLine(684,0,__PYX_ERR(0, 684, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_pread, __pyx_t_1) < 0) __PYX_ERR(0, 684, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + * + * + * def test_readinto(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * line 1 + */ + __Pyx_TraceLine(698,0,__PYX_ERR(0, 698, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 698, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readinto, __pyx_t_1) < 0) __PYX_ERR(0, 698, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 + * + * + * def test_readline(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * this is + */ + __Pyx_TraceLine(763,0,__PYX_ERR(0, 763, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readline, __pyx_t_1) < 0) __PYX_ERR(0, 763, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":791 + * + * + * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< + * + * lines = ['line one', 'line two'] + */ + __Pyx_TraceLine(791,0,__PYX_ERR(0, 791, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 791, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readline_sizelimit, __pyx_t_1) < 0) __PYX_ERR(0, 791, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":821 + * + * + * def test_readlines(drop): # <<<<<<<<<<<<<< + * lines = textwrap.dedent(""" + * this is + */ + __Pyx_TraceLine(821,0,__PYX_ERR(0, 821, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 821, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readlines, __pyx_t_1) < 0) __PYX_ERR(0, 821, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":847 + * + * + * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< + * + * lines = ['line one', 'line two'] + */ + __Pyx_TraceLine(847,0,__PYX_ERR(0, 847, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 847, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readlines_sizelimit, __pyx_t_1) < 0) __PYX_ERR(0, 847, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":876 + * + * + * def test_iter(drop): # <<<<<<<<<<<<<< + * + * lines = textwrap.dedent(""" + */ + __Pyx_TraceLine(876,0,__PYX_ERR(0, 876, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_iter, __pyx_t_1) < 0) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 + * + * + * def test_get_index_seek_points(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_get_index_seek_points, __pyx_t_1) < 0) __PYX_ERR(0, 901, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 + * + * + * def test_import_export_index(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(927,0,__PYX_ERR(0, 927, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 927, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_import_export_index, __pyx_t_1) < 0) __PYX_ERR(0, 927, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 + * + * + * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(960,0,__PYX_ERR(0, 960, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 960, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_import_export_index_open_fi, __pyx_t_1) < 0) __PYX_ERR(0, 960, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 + * + * + * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< + * with tempdir() as td: + * fname = op.join(td, 'test.gz') + */ + __Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1017, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_build_index_from_unseekable, __pyx_t_1) < 0) __PYX_ERR(0, 1017, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1066 + * + * + * def test_wrapper_class(): # <<<<<<<<<<<<<< + * + * with tempdir() as td: + */ + __Pyx_TraceLine(1066,0,__PYX_ERR(0, 1066, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1066, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_wrapper_class, __pyx_t_1) < 0) __PYX_ERR(0, 1066, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 + * + * + * def gcd(num): # <<<<<<<<<<<<<< + * if num <= 3: + * return 1 + */ + __Pyx_TraceLine(1087,0,__PYX_ERR(0, 1087, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_gcd, __pyx_t_1) < 0) __PYX_ERR(0, 1087, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 + * + * + * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< + * + * fname = 'test.gz' + */ + __Pyx_TraceLine(1098,0,__PYX_ERR(0, 1098, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_size_multiple_of_readbuf, __pyx_t_1) < 0) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 + * + * + * def test_picklable(): # <<<<<<<<<<<<<< + * + * # default behaviour is for drop_handles=True, + */ + __Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_picklable, __pyx_t_1) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 + * + * + * def test_copyable(): # <<<<<<<<<<<<<< + * fname = 'test.gz' + * + */ + __Pyx_TraceLine(1194,0,__PYX_ERR(0, 1194, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1194, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_copyable, __pyx_t_1) < 0) __PYX_ERR(0, 1194, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1250 + * + * + * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< + * gzf.seek(offset) + * bytes = gzf.read(size) + */ + __Pyx_TraceLine(1250,0,__PYX_ERR(0, 1250, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_mpfunc, __pyx_t_1) < 0) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1259 + * + * + * def test_multiproc_serialise(): # <<<<<<<<<<<<<< + * fname = 'test.gz' + * with tempdir(): + */ + __Pyx_TraceLine(1259,0,__PYX_ERR(0, 1259, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1259, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_multiproc_serialise, __pyx_t_1) < 0) __PYX_ERR(0, 1259, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 + * + * + * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< + * with tempdir(): + * + */ + __Pyx_TraceLine(1287,0,__PYX_ERR(0, 1287, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1287, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_32bit_overflow, __pyx_t_1) < 0) __PYX_ERR(0, 1287, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1 + * # # <<<<<<<<<<<<<< + * # Tests for the indexed_gzip module. + * # + */ + __Pyx_TraceLine(1,0,__PYX_ERR(0, 1, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_TraceReturn(Py_None, 0); + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init indexed_gzip.tests.ctest_indexed_gzip", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init indexed_gzip.tests.ctest_indexed_gzip"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* Profile */ +#if CYTHON_PROFILE +static int __Pyx_TraceSetupAndCall(PyCodeObject** code, + PyFrameObject** frame, + PyThreadState* tstate, + const char *funcname, + const char *srcfile, + int firstlineno) { + PyObject *type, *value, *traceback; + int retval; + if (*frame == NULL || !CYTHON_PROFILE_REUSE_FRAME) { + if (*code == NULL) { + *code = __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno); + if (*code == NULL) return 0; + } + *frame = PyFrame_New( + tstate, /*PyThreadState *tstate*/ + *code, /*PyCodeObject *code*/ + __pyx_d, /*PyObject *globals*/ + 0 /*PyObject *locals*/ + ); + if (*frame == NULL) return 0; + if (CYTHON_TRACE && (*frame)->f_trace == NULL) { + Py_INCREF(Py_None); + (*frame)->f_trace = Py_None; + } +#if PY_VERSION_HEX < 0x030400B1 + } else { + (*frame)->f_tstate = tstate; +#endif + } + __Pyx_PyFrame_SetLineNumber(*frame, firstlineno); + retval = 1; + __Pyx_EnterTracing(tstate); + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + #if CYTHON_TRACE + if (tstate->c_tracefunc) + retval = tstate->c_tracefunc(tstate->c_traceobj, *frame, PyTrace_CALL, NULL) == 0; + if (retval && tstate->c_profilefunc) + #endif + retval = tstate->c_profilefunc(tstate->c_profileobj, *frame, PyTrace_CALL, NULL) == 0; + __Pyx_LeaveTracing(tstate); + if (retval) { + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + return __Pyx_IsTracing(tstate, 0, 0) && retval; + } else { + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(traceback); + return -1; + } +} +static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno) { + PyCodeObject *py_code = 0; +#if PY_MAJOR_VERSION >= 3 + py_code = PyCode_NewEmpty(srcfile, funcname, firstlineno); + if (likely(py_code)) { + py_code->co_flags |= CO_OPTIMIZED | CO_NEWLOCALS; + } +#else + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + py_funcname = PyString_FromString(funcname); + if (unlikely(!py_funcname)) goto bad; + py_srcfile = PyString_FromString(srcfile); + if (unlikely(!py_srcfile)) goto bad; + py_code = PyCode_New( + 0, + 0, + 0, + CO_OPTIMIZED | CO_NEWLOCALS, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + firstlineno, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); +#endif + return py_code; +} +#endif + +/* PyDictVersioning */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = Py_TYPE(func)->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG) + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (__Pyx_PyFastCFunction_Check(func)) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyObjectSetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_setattro)) + return tp->tp_setattro(obj, attr_name, value); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_setattr)) + return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); +#endif + return PyObject_SetAttr(obj, attr_name, value); +} +#endif + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyObjectGetMethod */ +static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { + PyObject *attr; +#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP + PyTypeObject *tp = Py_TYPE(obj); + PyObject *descr; + descrgetfunc f = NULL; + PyObject **dictptr, *dict; + int meth_found = 0; + assert (*method == NULL); + if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; + } + if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { + return 0; + } + descr = _PyType_Lookup(tp, name); + if (likely(descr != NULL)) { + Py_INCREF(descr); +#if PY_MAJOR_VERSION >= 3 + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) + #endif +#else + #ifdef __Pyx_CyFunction_USED + if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) + #else + if (likely(PyFunction_Check(descr))) + #endif +#endif + { + meth_found = 1; + } else { + f = Py_TYPE(descr)->tp_descr_get; + if (f != NULL && PyDescr_IsData(descr)) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + } + } + dictptr = _PyObject_GetDictPtr(obj); + if (dictptr != NULL && (dict = *dictptr) != NULL) { + Py_INCREF(dict); + attr = __Pyx_PyDict_GetItemStr(dict, name); + if (attr != NULL) { + Py_INCREF(attr); + Py_DECREF(dict); + Py_XDECREF(descr); + goto try_unpack; + } + Py_DECREF(dict); + } + if (meth_found) { + *method = descr; + return 1; + } + if (f != NULL) { + attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); + Py_DECREF(descr); + goto try_unpack; + } + if (descr != NULL) { + *method = descr; + return 0; + } + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(name)); +#endif + return 0; +#else + attr = __Pyx_PyObject_GetAttrStr(obj, name); + goto try_unpack; +#endif +try_unpack: +#if CYTHON_UNPACK_METHODS + if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { + PyObject *function = PyMethod_GET_FUNCTION(attr); + Py_INCREF(function); + Py_DECREF(attr); + *method = function; + return 1; + } +#endif + *method = attr; + return 0; +} + +/* PyObjectCallMethod1 */ +static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { + PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); + Py_DECREF(method); + return result; +} +static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { + PyObject *method = NULL, *result; + int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); + if (likely(is_method)) { + result = __Pyx_PyObject_Call2Args(method, obj, arg); + Py_DECREF(method); + return result; + } + if (unlikely(!method)) return NULL; + return __Pyx__PyObject_CallMethod1(method, arg); +} + +/* append */ +static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) { + if (likely(PyList_CheckExact(L))) { + if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1; + } else { + PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x); + if (unlikely(!retval)) + return -1; + Py_DECREF(retval); + } + return 0; +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* SliceObject */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* SetItemInt */ +static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { + int r; + if (!j) return -1; + r = PyObject_SetItem(o, j, v); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list, + CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o)); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) { + PyObject* old = PyList_GET_ITEM(o, n); + Py_INCREF(v); + PyList_SET_ITEM(o, n, v); + Py_DECREF(old); + return 1; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_ass_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return -1; + PyErr_Clear(); + } + } + return m->sq_ass_item(o, i, v); + } + } +#else +#if CYTHON_COMPILING_IN_PYPY + if (is_list || (PySequence_Check(o) && !PyDict_Check(o))) +#else + if (is_list || PySequence_Check(o)) +#endif + { + return PySequence_SetItem(o, i, v); + } +#endif + return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v); +} + +/* StringJoin */ +#if !CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) { + return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL); +} +#endif + +/* ObjectGetItem */ +#if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr = NULL; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* UnpackUnboundCMethod */ +static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { + PyObject *method; + method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); + if (unlikely(!method)) + return -1; + target->method = method; +#if CYTHON_COMPILING_IN_CPYTHON + #if PY_MAJOR_VERSION >= 3 + if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) + #endif + { + PyMethodDescrObject *descr = (PyMethodDescrObject*) method; + target->func = descr->d_method->ml_meth; + target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); + } +#endif + return 0; +} + +/* CallUnboundCMethod1 */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) { + if (likely(cfunc->func)) { + int flag = cfunc->flag; + if (flag == METH_O) { + return (*(cfunc->func))(self, arg); + } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) { + #if PY_VERSION_HEX >= 0x030700A0 + return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1); + #else + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); + #endif + } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) { + return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); + } + } + return __Pyx__CallUnboundCMethod1(cfunc, self, arg); +} +#endif +static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){ + PyObject *args, *result = NULL; + if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; +#if CYTHON_COMPILING_IN_CPYTHON + if (cfunc->func && (cfunc->flag & METH_VARARGS)) { + args = PyTuple_New(1); + if (unlikely(!args)) goto bad; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + if (cfunc->flag & METH_KEYWORDS) + result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); + else + result = (*cfunc->func)(self, args); + } else { + args = PyTuple_New(2); + if (unlikely(!args)) goto bad; + Py_INCREF(self); + PyTuple_SET_ITEM(args, 0, self); + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 1, arg); + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); + } +#else + args = PyTuple_Pack(2, self, arg); + if (unlikely(!args)) goto bad; + result = __Pyx_PyObject_Call(cfunc->method, args, NULL); +#endif +bad: + Py_XDECREF(args); + return result; +} + +/* CIntToDigits */ +static const char DIGIT_PAIRS_10[2*10*10+1] = { + "00010203040506070809" + "10111213141516171819" + "20212223242526272829" + "30313233343536373839" + "40414243444546474849" + "50515253545556575859" + "60616263646566676869" + "70717273747576777879" + "80818283848586878889" + "90919293949596979899" +}; +static const char DIGIT_PAIRS_8[2*8*8+1] = { + "0001020304050607" + "1011121314151617" + "2021222324252627" + "3031323334353637" + "4041424344454647" + "5051525354555657" + "6061626364656667" + "7071727374757677" +}; +static const char DIGITS_HEX[2*16+1] = { + "0123456789abcdef" + "0123456789ABCDEF" +}; + +/* BuildPyUnicode */ +static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, char* chars, int clength, + int prepend_sign, char padding_char) { + PyObject *uval; + Py_ssize_t uoffset = ulength - clength; +#if CYTHON_USE_UNICODE_INTERNALS + Py_ssize_t i; +#if CYTHON_PEP393_ENABLED + void *udata; + uval = PyUnicode_New(ulength, 127); + if (unlikely(!uval)) return NULL; + udata = PyUnicode_DATA(uval); +#else + Py_UNICODE *udata; + uval = PyUnicode_FromUnicode(NULL, ulength); + if (unlikely(!uval)) return NULL; + udata = PyUnicode_AS_UNICODE(uval); +#endif + if (uoffset > 0) { + i = 0; + if (prepend_sign) { + __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, 0, '-'); + i++; + } + for (; i < uoffset; i++) { + __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, i, padding_char); + } + } + for (i=0; i < clength; i++) { + __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, uoffset+i, chars[i]); + } +#else + { + PyObject *sign = NULL, *padding = NULL; + uval = NULL; + if (uoffset > 0) { + prepend_sign = !!prepend_sign; + if (uoffset > prepend_sign) { + padding = PyUnicode_FromOrdinal(padding_char); + if (likely(padding) && uoffset > prepend_sign + 1) { + PyObject *tmp; + PyObject *repeat = PyInt_FromSsize_t(uoffset - prepend_sign); + if (unlikely(!repeat)) goto done_or_error; + tmp = PyNumber_Multiply(padding, repeat); + Py_DECREF(repeat); + Py_DECREF(padding); + padding = tmp; + } + if (unlikely(!padding)) goto done_or_error; + } + if (prepend_sign) { + sign = PyUnicode_FromOrdinal('-'); + if (unlikely(!sign)) goto done_or_error; + } + } + uval = PyUnicode_DecodeASCII(chars, clength, NULL); + if (likely(uval) && padding) { + PyObject *tmp = PyNumber_Add(padding, uval); + Py_DECREF(uval); + uval = tmp; + } + if (likely(uval) && sign) { + PyObject *tmp = PyNumber_Add(sign, uval); + Py_DECREF(uval); + uval = tmp; + } +done_or_error: + Py_XDECREF(padding); + Py_XDECREF(sign); + } +#endif + return uval; +} + +/* CIntToPyUnicode */ +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char) { + char digits[sizeof(Py_ssize_t)*3+2]; + char *dpos, *end = digits + sizeof(Py_ssize_t)*3+2; + const char *hex_digits = DIGITS_HEX; + Py_ssize_t length, ulength; + int prepend_sign, last_one_off; + Py_ssize_t remaining; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (format_char == 'X') { + hex_digits += 16; + format_char = 'x'; + } + remaining = value; + last_one_off = 0; + dpos = end; + do { + int digit_pos; + switch (format_char) { + case 'o': + digit_pos = abs((int)(remaining % (8*8))); + remaining = (Py_ssize_t) (remaining / (8*8)); + dpos -= 2; + memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2); + last_one_off = (digit_pos < 8); + break; + case 'd': + digit_pos = abs((int)(remaining % (10*10))); + remaining = (Py_ssize_t) (remaining / (10*10)); + dpos -= 2; + memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2); + last_one_off = (digit_pos < 10); + break; + case 'x': + *(--dpos) = hex_digits[abs((int)(remaining % 16))]; + remaining = (Py_ssize_t) (remaining / 16); + break; + default: + assert(0); + break; + } + } while (unlikely(remaining != 0)); + if (last_one_off) { + assert(*dpos == '0'); + dpos++; + } + length = end - dpos; + ulength = length; + prepend_sign = 0; + if (!is_unsigned && value <= neg_one) { + if (padding_char == ' ' || width <= length + 1) { + *(--dpos) = '-'; + ++length; + } else { + prepend_sign = 1; + } + ++ulength; + } + if (width > ulength) { + ulength = width; + } + if (ulength == 1) { + return PyUnicode_FromOrdinal(*dpos); + } + return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char); +} + +/* JoinPyUnicode */ +static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, + CYTHON_UNUSED Py_UCS4 max_char) { +#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + PyObject *result_uval; + int result_ukind; + Py_ssize_t i, char_pos; + void *result_udata; +#if CYTHON_PEP393_ENABLED + result_uval = PyUnicode_New(result_ulength, max_char); + if (unlikely(!result_uval)) return NULL; + result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; + result_udata = PyUnicode_DATA(result_uval); +#else + result_uval = PyUnicode_FromUnicode(NULL, result_ulength); + if (unlikely(!result_uval)) return NULL; + result_ukind = sizeof(Py_UNICODE); + result_udata = PyUnicode_AS_UNICODE(result_uval); +#endif + char_pos = 0; + for (i=0; i < value_count; i++) { + int ukind; + Py_ssize_t ulength; + void *udata; + PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); + if (unlikely(__Pyx_PyUnicode_READY(uval))) + goto bad; + ulength = __Pyx_PyUnicode_GET_LENGTH(uval); + if (unlikely(!ulength)) + continue; + if (unlikely(char_pos + ulength < 0)) + goto overflow; + ukind = __Pyx_PyUnicode_KIND(uval); + udata = __Pyx_PyUnicode_DATA(uval); + if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { + memcpy((char *)result_udata + char_pos * result_ukind, udata, (size_t) (ulength * result_ukind)); + } else { + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters) + _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); + #else + Py_ssize_t j; + for (j=0; j < ulength; j++) { + Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); + __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); + } + #endif + } + char_pos += ulength; + } + return result_uval; +overflow: + PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); +bad: + Py_DECREF(result_uval); + return NULL; +#else + result_ulength++; + value_count++; + return PyUnicode_Join(__pyx_empty_unicode, value_tuple); +#endif +} + +/* KeywordStringCheck */ +static int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) +{ + PyObject* key = 0; + Py_ssize_t pos = 0; +#if CYTHON_COMPILING_IN_PYPY + if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) + goto invalid_keyword; + return 1; +#else + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_Check(key))) + #endif + if (unlikely(!PyUnicode_Check(key))) + goto invalid_keyword_type; + } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + return 0; +#endif +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif + return 0; +} + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* SwapException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = *type; + exc_info->exc_value = *value; + exc_info->exc_traceback = *tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = *type; + tstate->exc_value = *value; + tstate->exc_traceback = *tb; + #endif + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#else +static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); + PyErr_SetExcInfo(*type, *value, *tb); + *type = tmp_type; + *value = tmp_value; + *tb = tmp_tb; +} +#endif + +/* None */ +static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) { + PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname); +} + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* IterFinish */ +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; + Py_DECREF(exc_type); + Py_XDECREF(exc_value); + Py_XDECREF(exc_tb); + return 0; + } else { + return -1; + } + } + return 0; +#else + if (unlikely(PyErr_Occurred())) { + if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { + PyErr_Clear(); + return 0; + } else { + return -1; + } + } + return 0; +#endif +} + +/* UnpackItemEndCheck */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { + if (unlikely(retval)) { + Py_DECREF(retval); + __Pyx_RaiseTooManyValuesError(expected); + return -1; + } + return __Pyx_IterFinish(); +} + +/* BytesEquals */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else + if (s1 == s2) { + return (equals == Py_EQ); + } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { + const char *ps1, *ps2; + Py_ssize_t length = PyBytes_GET_SIZE(s1); + if (length != PyBytes_GET_SIZE(s2)) + return (equals == Py_NE); + ps1 = PyBytes_AS_STRING(s1); + ps2 = PyBytes_AS_STRING(s2); + if (ps1[0] != ps2[0]) { + return (equals == Py_NE); + } else if (length == 1) { + return (equals == Py_EQ); + } else { + int result; +#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) + Py_hash_t hash1, hash2; + hash1 = ((PyBytesObject*)s1)->ob_shash; + hash2 = ((PyBytesObject*)s2)->ob_shash; + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + return (equals == Py_NE); + } +#endif + result = memcmp(ps1, ps2, (size_t)length); + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { + return (equals == Py_NE); + } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { + return (equals == Py_NE); + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +#endif +} + +/* CalculateMetaclass */ +static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { + Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases); + for (i=0; i < nbases; i++) { + PyTypeObject *tmptype; + PyObject *tmp = PyTuple_GET_ITEM(bases, i); + tmptype = Py_TYPE(tmp); +#if PY_MAJOR_VERSION < 3 + if (tmptype == &PyClass_Type) + continue; +#endif + if (!metaclass) { + metaclass = tmptype; + continue; + } + if (PyType_IsSubtype(metaclass, tmptype)) + continue; + if (PyType_IsSubtype(tmptype, metaclass)) { + metaclass = tmptype; + continue; + } + PyErr_SetString(PyExc_TypeError, + "metaclass conflict: " + "the metaclass of a derived class " + "must be a (non-strict) subclass " + "of the metaclasses of all its bases"); + return NULL; + } + if (!metaclass) { +#if PY_MAJOR_VERSION < 3 + metaclass = &PyClass_Type; +#else + metaclass = &PyType_Type; +#endif + } + Py_INCREF((PyObject*) metaclass); + return (PyObject*) metaclass; +} + +/* Py3ClassCreate */ +static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, + PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { + PyObject *ns; + if (metaclass) { + PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare); + if (prep) { + PyObject *pargs = PyTuple_Pack(2, name, bases); + if (unlikely(!pargs)) { + Py_DECREF(prep); + return NULL; + } + ns = PyObject_Call(prep, pargs, mkw); + Py_DECREF(prep); + Py_DECREF(pargs); + } else { + if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError))) + return NULL; + PyErr_Clear(); + ns = PyDict_New(); + } + } else { + ns = PyDict_New(); + } + if (unlikely(!ns)) + return NULL; + if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad; + if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad; + if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad; + return ns; +bad: + Py_DECREF(ns); + return NULL; +} +static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, + PyObject *dict, PyObject *mkw, + int calculate_metaclass, int allow_py2_metaclass) { + PyObject *result, *margs; + PyObject *owned_metaclass = NULL; + if (allow_py2_metaclass) { + owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass); + if (owned_metaclass) { + metaclass = owned_metaclass; + } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { + PyErr_Clear(); + } else { + return NULL; + } + } + if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { + metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); + Py_XDECREF(owned_metaclass); + if (unlikely(!metaclass)) + return NULL; + owned_metaclass = metaclass; + } + margs = PyTuple_Pack(3, name, bases, dict); + if (unlikely(!margs)) { + result = NULL; + } else { + result = PyObject_Call(metaclass, margs, mkw); + Py_DECREF(margs); + } + Py_XDECREF(owned_metaclass); + return result; +} + +/* UnicodeEquals */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else +#if PY_MAJOR_VERSION < 3 + PyObject* owned_ref = NULL; +#endif + int s1_is_unicode, s2_is_unicode; + if (s1 == s2) { + goto return_eq; + } + s1_is_unicode = PyUnicode_CheckExact(s1); + s2_is_unicode = PyUnicode_CheckExact(s2); +#if PY_MAJOR_VERSION < 3 + if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { + owned_ref = PyUnicode_FromObject(s2); + if (unlikely(!owned_ref)) + return -1; + s2 = owned_ref; + s2_is_unicode = 1; + } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { + owned_ref = PyUnicode_FromObject(s1); + if (unlikely(!owned_ref)) + return -1; + s1 = owned_ref; + s1_is_unicode = 1; + } else if (((!s2_is_unicode) & (!s1_is_unicode))) { + return __Pyx_PyBytes_Equals(s1, s2, equals); + } +#endif + if (s1_is_unicode & s2_is_unicode) { + Py_ssize_t length; + int kind; + void *data1, *data2; + if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) + return -1; + length = __Pyx_PyUnicode_GET_LENGTH(s1); + if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { + goto return_ne; + } +#if CYTHON_USE_UNICODE_INTERNALS + { + Py_hash_t hash1, hash2; + #if CYTHON_PEP393_ENABLED + hash1 = ((PyASCIIObject*)s1)->hash; + hash2 = ((PyASCIIObject*)s2)->hash; + #else + hash1 = ((PyUnicodeObject*)s1)->hash; + hash2 = ((PyUnicodeObject*)s2)->hash; + #endif + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + goto return_ne; + } + } +#endif + kind = __Pyx_PyUnicode_KIND(s1); + if (kind != __Pyx_PyUnicode_KIND(s2)) { + goto return_ne; + } + data1 = __Pyx_PyUnicode_DATA(s1); + data2 = __Pyx_PyUnicode_DATA(s2); + if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { + goto return_ne; + } else if (length == 1) { + goto return_eq; + } else { + int result = memcmp(data1, data2, (size_t)(length * kind)); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & s2_is_unicode) { + goto return_ne; + } else if ((s2 == Py_None) & s1_is_unicode) { + goto return_ne; + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +return_eq: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ); +return_ne: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_NE); +#endif +} + +/* GetAttr */ +static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { +#if CYTHON_USE_TYPE_SLOTS +#if PY_MAJOR_VERSION >= 3 + if (likely(PyUnicode_Check(n))) +#else + if (likely(PyString_Check(n))) +#endif + return __Pyx_PyObject_GetAttrStr(o, n); +#endif + return PyObject_GetAttr(o, n); +} + +/* HasAttr */ +static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { + PyObject *r; + if (unlikely(!__Pyx_PyBaseString_Check(n))) { + PyErr_SetString(PyExc_TypeError, + "hasattr(): attribute name must be string"); + return -1; + } + r = __Pyx_GetAttr(o, n); + if (unlikely(!r)) { + PyErr_Clear(); + return 0; + } else { + Py_DECREF(r); + return 1; + } +} + +/* PyIntCompare */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { + if (op1 == op2) { + Py_RETURN_TRUE; + } + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long a = PyInt_AS_LONG(op1); + if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + int unequal; + unsigned long uintval; + Py_ssize_t size = Py_SIZE(op1); + const digit* digits = ((PyLongObject*)op1)->ob_digit; + if (intval == 0) { + if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } else if (intval < 0) { + if (size >= 0) + Py_RETURN_FALSE; + intval = -intval; + size = -size; + } else { + if (size <= 0) + Py_RETURN_FALSE; + } + uintval = (unsigned long) intval; +#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 4)) { + unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 3)) { + unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 2)) { + unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 1)) { + unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif + unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); + if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + return ( + PyObject_RichCompare(op1, op2, Py_EQ)); +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* None */ +static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) { + PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname); +} + +/* FetchCommonType */ +static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { + PyObject* fake_module; + PyTypeObject* cached_type = NULL; + fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); + if (!fake_module) return NULL; + Py_INCREF(fake_module); + cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); + if (cached_type) { + if (!PyType_Check((PyObject*)cached_type)) { + PyErr_Format(PyExc_TypeError, + "Shared Cython type %.200s is not a type object", + type->tp_name); + goto bad; + } + if (cached_type->tp_basicsize != type->tp_basicsize) { + PyErr_Format(PyExc_TypeError, + "Shared Cython type %.200s has the wrong size, try recompiling", + type->tp_name); + goto bad; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; + PyErr_Clear(); + if (PyType_Ready(type) < 0) goto bad; + if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) + goto bad; + Py_INCREF(type); + cached_type = type; + } +done: + Py_DECREF(fake_module); + return cached_type; +bad: + Py_XDECREF(cached_type); + cached_type = NULL; + goto done; +} + +/* CythonFunctionShared */ +#include +static PyObject * +__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure) +{ + if (unlikely(op->func_doc == NULL)) { + if (op->func.m_ml->ml_doc) { +#if PY_MAJOR_VERSION >= 3 + op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc); +#else + op->func_doc = PyString_FromString(op->func.m_ml->ml_doc); +#endif + if (unlikely(op->func_doc == NULL)) + return NULL; + } else { + Py_INCREF(Py_None); + return Py_None; + } + } + Py_INCREF(op->func_doc); + return op->func_doc; +} +static int +__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp = op->func_doc; + if (value == NULL) { + value = Py_None; + } + Py_INCREF(value); + op->func_doc = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + if (unlikely(op->func_name == NULL)) { +#if PY_MAJOR_VERSION >= 3 + op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name); +#else + op->func_name = PyString_InternFromString(op->func.m_ml->ml_name); +#endif + if (unlikely(op->func_name == NULL)) + return NULL; + } + Py_INCREF(op->func_name); + return op->func_name; +} +static int +__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__name__ must be set to a string object"); + return -1; + } + tmp = op->func_name; + Py_INCREF(value); + op->func_name = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(op->func_qualname); + return op->func_qualname; +} +static int +__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__qualname__ must be set to a string object"); + return -1; + } + tmp = op->func_qualname; + Py_INCREF(value); + op->func_qualname = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure) +{ + PyObject *self; + self = m->func_closure; + if (self == NULL) + self = Py_None; + Py_INCREF(self); + return self; +} +static PyObject * +__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + if (unlikely(op->func_dict == NULL)) { + op->func_dict = PyDict_New(); + if (unlikely(op->func_dict == NULL)) + return NULL; + } + Py_INCREF(op->func_dict); + return op->func_dict; +} +static int +__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; + if (unlikely(value == NULL)) { + PyErr_SetString(PyExc_TypeError, + "function's dictionary may not be deleted"); + return -1; + } + if (unlikely(!PyDict_Check(value))) { + PyErr_SetString(PyExc_TypeError, + "setting function's dictionary to a non-dict"); + return -1; + } + tmp = op->func_dict; + Py_INCREF(value); + op->func_dict = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(op->func_globals); + return op->func_globals; +} +static PyObject * +__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(Py_None); + return Py_None; +} +static PyObject * +__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + PyObject* result = (op->func_code) ? op->func_code : Py_None; + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { + int result = 0; + PyObject *res = op->defaults_getter((PyObject *) op); + if (unlikely(!res)) + return -1; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + op->defaults_tuple = PyTuple_GET_ITEM(res, 0); + Py_INCREF(op->defaults_tuple); + op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); + Py_INCREF(op->defaults_kwdict); + #else + op->defaults_tuple = PySequence_ITEM(res, 0); + if (unlikely(!op->defaults_tuple)) result = -1; + else { + op->defaults_kwdict = PySequence_ITEM(res, 1); + if (unlikely(!op->defaults_kwdict)) result = -1; + } + #endif + Py_DECREF(res); + return result; +} +static int +__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value) { + value = Py_None; + } else if (value != Py_None && !PyTuple_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__defaults__ must be set to a tuple object"); + return -1; + } + Py_INCREF(value); + tmp = op->defaults_tuple; + op->defaults_tuple = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->defaults_tuple; + if (unlikely(!result)) { + if (op->defaults_getter) { + if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; + result = op->defaults_tuple; + } else { + result = Py_None; + } + } + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value) { + value = Py_None; + } else if (value != Py_None && !PyDict_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__kwdefaults__ must be set to a dict object"); + return -1; + } + Py_INCREF(value); + tmp = op->defaults_kwdict; + op->defaults_kwdict = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->defaults_kwdict; + if (unlikely(!result)) { + if (op->defaults_getter) { + if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; + result = op->defaults_kwdict; + } else { + result = Py_None; + } + } + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value || value == Py_None) { + value = NULL; + } else if (!PyDict_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__annotations__ must be set to a dict object"); + return -1; + } + Py_XINCREF(value); + tmp = op->func_annotations; + op->func_annotations = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->func_annotations; + if (unlikely(!result)) { + result = PyDict_New(); + if (unlikely(!result)) return NULL; + op->func_annotations = result; + } + Py_INCREF(result); + return result; +} +static PyGetSetDef __pyx_CyFunction_getsets[] = { + {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, + {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, + {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, + {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, + {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, + {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0}, + {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, + {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, + {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, + {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, + {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, + {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, + {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, + {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, + {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, + {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, + {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, + {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, + {0, 0, 0, 0, 0} +}; +static PyMemberDef __pyx_CyFunction_members[] = { + {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0}, + {0, 0, 0, 0, 0} +}; +static PyObject * +__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) +{ +#if PY_MAJOR_VERSION >= 3 + Py_INCREF(m->func_qualname); + return m->func_qualname; +#else + return PyString_FromString(m->func.m_ml->ml_name); +#endif +} +static PyMethodDef __pyx_CyFunction_methods[] = { + {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, + {0, 0, 0, 0} +}; +#if PY_VERSION_HEX < 0x030500A0 +#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) +#else +#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) +#endif +static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, + PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { + if (unlikely(op == NULL)) + return NULL; + op->flags = flags; + __Pyx_CyFunction_weakreflist(op) = NULL; + op->func.m_ml = ml; + op->func.m_self = (PyObject *) op; + Py_XINCREF(closure); + op->func_closure = closure; + Py_XINCREF(module); + op->func.m_module = module; + op->func_dict = NULL; + op->func_name = NULL; + Py_INCREF(qualname); + op->func_qualname = qualname; + op->func_doc = NULL; + op->func_classobj = NULL; + op->func_globals = globals; + Py_INCREF(op->func_globals); + Py_XINCREF(code); + op->func_code = code; + op->defaults_pyobjects = 0; + op->defaults_size = 0; + op->defaults = NULL; + op->defaults_tuple = NULL; + op->defaults_kwdict = NULL; + op->defaults_getter = NULL; + op->func_annotations = NULL; + return (PyObject *) op; +} +static int +__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) +{ + Py_CLEAR(m->func_closure); + Py_CLEAR(m->func.m_module); + Py_CLEAR(m->func_dict); + Py_CLEAR(m->func_name); + Py_CLEAR(m->func_qualname); + Py_CLEAR(m->func_doc); + Py_CLEAR(m->func_globals); + Py_CLEAR(m->func_code); + Py_CLEAR(m->func_classobj); + Py_CLEAR(m->defaults_tuple); + Py_CLEAR(m->defaults_kwdict); + Py_CLEAR(m->func_annotations); + if (m->defaults) { + PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); + int i; + for (i = 0; i < m->defaults_pyobjects; i++) + Py_XDECREF(pydefaults[i]); + PyObject_Free(m->defaults); + m->defaults = NULL; + } + return 0; +} +static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) +{ + if (__Pyx_CyFunction_weakreflist(m) != NULL) + PyObject_ClearWeakRefs((PyObject *) m); + __Pyx_CyFunction_clear(m); + PyObject_GC_Del(m); +} +static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) +{ + PyObject_GC_UnTrack(m); + __Pyx__CyFunction_dealloc(m); +} +static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) +{ + Py_VISIT(m->func_closure); + Py_VISIT(m->func.m_module); + Py_VISIT(m->func_dict); + Py_VISIT(m->func_name); + Py_VISIT(m->func_qualname); + Py_VISIT(m->func_doc); + Py_VISIT(m->func_globals); + Py_VISIT(m->func_code); + Py_VISIT(m->func_classobj); + Py_VISIT(m->defaults_tuple); + Py_VISIT(m->defaults_kwdict); + if (m->defaults) { + PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); + int i; + for (i = 0; i < m->defaults_pyobjects; i++) + Py_VISIT(pydefaults[i]); + } + return 0; +} +static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) +{ +#if PY_MAJOR_VERSION < 3 + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { + Py_INCREF(func); + return func; + } + if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { + if (type == NULL) + type = (PyObject *)(Py_TYPE(obj)); + return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); + } + if (obj == Py_None) + obj = NULL; +#endif + return __Pyx_PyMethod_New(func, obj, type); +} +static PyObject* +__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) +{ +#if PY_MAJOR_VERSION >= 3 + return PyUnicode_FromFormat("", + op->func_qualname, (void *)op); +#else + return PyString_FromFormat("", + PyString_AsString(op->func_qualname), (void *)op); +#endif +} +static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { + PyCFunctionObject* f = (PyCFunctionObject*)func; + PyCFunction meth = f->m_ml->ml_meth; + Py_ssize_t size; + switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { + case METH_VARARGS: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) + return (*meth)(self, arg); + break; + case METH_VARARGS | METH_KEYWORDS: + return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); + case METH_NOARGS: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) { + size = PyTuple_GET_SIZE(arg); + if (likely(size == 0)) + return (*meth)(self, NULL); + PyErr_Format(PyExc_TypeError, + "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", + f->m_ml->ml_name, size); + return NULL; + } + break; + case METH_O: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) { + size = PyTuple_GET_SIZE(arg); + if (likely(size == 1)) { + PyObject *result, *arg0; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + arg0 = PyTuple_GET_ITEM(arg, 0); + #else + arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; + #endif + result = (*meth)(self, arg0); + #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) + Py_DECREF(arg0); + #endif + return result; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", + f->m_ml->ml_name, size); + return NULL; + } + break; + default: + PyErr_SetString(PyExc_SystemError, "Bad call flags in " + "__Pyx_CyFunction_Call. METH_OLDARGS is no " + "longer supported!"); + return NULL; + } + PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", + f->m_ml->ml_name); + return NULL; +} +static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { + return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); +} +static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { + PyObject *result; + __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; + if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { + Py_ssize_t argc; + PyObject *new_args; + PyObject *self; + argc = PyTuple_GET_SIZE(args); + new_args = PyTuple_GetSlice(args, 1, argc); + if (unlikely(!new_args)) + return NULL; + self = PyTuple_GetItem(args, 0); + if (unlikely(!self)) { + Py_DECREF(new_args); +#if PY_MAJOR_VERSION > 2 + PyErr_Format(PyExc_TypeError, + "unbound method %.200S() needs an argument", + cyfunc->func_qualname); +#else + PyErr_SetString(PyExc_TypeError, + "unbound method needs an argument"); +#endif + return NULL; + } + result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); + Py_DECREF(new_args); + } else { + result = __Pyx_CyFunction_Call(func, args, kw); + } + return result; +} +static PyTypeObject __pyx_CyFunctionType_type = { + PyVarObject_HEAD_INIT(0, 0) + "cython_function_or_method", + sizeof(__pyx_CyFunctionObject), + 0, + (destructor) __Pyx_CyFunction_dealloc, + 0, + 0, + 0, +#if PY_MAJOR_VERSION < 3 + 0, +#else + 0, +#endif + (reprfunc) __Pyx_CyFunction_repr, + 0, + 0, + 0, + 0, + __Pyx_CyFunction_CallAsMethod, + 0, + 0, + 0, + 0, + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, + 0, + (traverseproc) __Pyx_CyFunction_traverse, + (inquiry) __Pyx_CyFunction_clear, + 0, +#if PY_VERSION_HEX < 0x030500A0 + offsetof(__pyx_CyFunctionObject, func_weakreflist), +#else + offsetof(PyCFunctionObject, m_weakreflist), +#endif + 0, + 0, + __pyx_CyFunction_methods, + __pyx_CyFunction_members, + __pyx_CyFunction_getsets, + 0, + 0, + __Pyx_CyFunction_descr_get, + 0, + offsetof(__pyx_CyFunctionObject, func_dict), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, +#if PY_VERSION_HEX >= 0x030400a1 + 0, +#endif +#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, +#endif +#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, +#endif +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, +#endif +}; +static int __pyx_CyFunction_init(void) { + __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); + if (unlikely(__pyx_CyFunctionType == NULL)) { + return -1; + } + return 0; +} +static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults = PyObject_Malloc(size); + if (unlikely(!m->defaults)) + return PyErr_NoMemory(); + memset(m->defaults, 0, size); + m->defaults_pyobjects = pyobjects; + m->defaults_size = size; + return m->defaults; +} +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults_tuple = tuple; + Py_INCREF(tuple); +} +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults_kwdict = dict; + Py_INCREF(dict); +} +static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->func_annotations = dict; + Py_INCREF(dict); +} + +/* CythonFunction */ +static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, + PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { + PyObject *op = __Pyx_CyFunction_Init( + PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), + ml, flags, qualname, closure, module, globals, code + ); + if (likely(op)) { + PyObject_GC_Track(op); + } + return op; +} + +/* decode_c_bytes */ +static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes( + const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop, + const char* encoding, const char* errors, + PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { + if (unlikely((start < 0) | (stop < 0))) { + if (start < 0) { + start += length; + if (start < 0) + start = 0; + } + if (stop < 0) + stop += length; + } + if (stop > length) + stop = length; + if (unlikely(stop <= start)) + return __Pyx_NewRef(__pyx_empty_unicode); + length = stop - start; + cstring += start; + if (decode_func) { + return decode_func(cstring, length, errors); + } else { + return PyUnicode_Decode(cstring, length, encoding, errors); + } +} + +/* IterNext */ +static PyObject *__Pyx_PyIter_Next2Default(PyObject* defval) { + PyObject* exc_type; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + exc_type = __Pyx_PyErr_Occurred(); + if (unlikely(exc_type)) { + if (!defval || unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) + return NULL; + __Pyx_PyErr_Clear(); + Py_INCREF(defval); + return defval; + } + if (defval) { + Py_INCREF(defval); + return defval; + } + __Pyx_PyErr_SetNone(PyExc_StopIteration); + return NULL; +} +static void __Pyx_PyIter_Next_ErrorNoIterator(PyObject *iterator) { + PyErr_Format(PyExc_TypeError, + "%.200s object is not an iterator", Py_TYPE(iterator)->tp_name); +} +static CYTHON_INLINE PyObject *__Pyx_PyIter_Next2(PyObject* iterator, PyObject* defval) { + PyObject* next; + iternextfunc iternext = Py_TYPE(iterator)->tp_iternext; + if (likely(iternext)) { +#if CYTHON_USE_TYPE_SLOTS + next = iternext(iterator); + if (likely(next)) + return next; + #if PY_VERSION_HEX >= 0x02070000 + if (unlikely(iternext == &_PyObject_NextNotImplemented)) + return NULL; + #endif +#else + next = PyIter_Next(iterator); + if (likely(next)) + return next; +#endif + } else if (CYTHON_USE_TYPE_SLOTS || unlikely(!PyIter_Check(iterator))) { + __Pyx_PyIter_Next_ErrorNoIterator(iterator); + return NULL; + } +#if !CYTHON_USE_TYPE_SLOTS + else { + next = PyIter_Next(iterator); + if (likely(next)) + return next; + } +#endif + return __Pyx_PyIter_Next2Default(defval); +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op2))) { + const long a = intval; + long x; + long b = PyInt_AS_LONG(op2); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op2))) { + const long a = intval; + long b, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG lla = intval; + PY_LONG_LONG llb, llx; +#endif + const digit* digits = ((PyLongObject*)op2)->ob_digit; + const Py_ssize_t size = Py_SIZE(op2); + if (likely(__Pyx_sst_abs(size) <= 1)) { + b = likely(size) ? digits[0] : 0; + if (size == -1) b = -b; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op2)) { + const long a = intval; + double b = PyFloat_AS_DOUBLE(op2); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* DivInt[Py_ssize_t] */ +static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) { + Py_ssize_t q = a / b; + Py_ssize_t r = a - q*b; + q -= ((r != 0) & ((r ^ b) < 0)); + return q; +} + +/* PyObject_GenericGetAttrNoDict */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* Import */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* CLineInTraceback */ +#ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ +#include "compile.h" +#include "frameobject.h" +#include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = NULL; + PyObject *py_funcname = NULL; + #if PY_MAJOR_VERSION < 3 + PyObject *py_srcfile = NULL; + py_srcfile = PyString_FromString(filename); + if (!py_srcfile) goto bad; + #endif + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + funcname = PyUnicode_AsUTF8(py_funcname); + if (!funcname) goto bad; + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + if (!py_funcname) goto bad; + #endif + } + #if PY_MAJOR_VERSION < 3 + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + #else + py_code = PyCode_NewEmpty(filename, funcname, py_line); + #endif + Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline + return py_code; +bad: + Py_XDECREF(py_funcname); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_srcfile); + #endif + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject *ptype, *pvalue, *ptraceback; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) { + /* If the code object creation fails, then we should clear the + fetched exception references and propagate the new exception */ + Py_XDECREF(ptype); + Py_XDECREF(pvalue); + Py_XDECREF(ptraceback); + goto bad; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntFromPyVerify */ +#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* CIntToPy */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntFromPy */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* FastTypeChecks */ +#if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i '9'); + break; + } + if (rt_from_call[i] != ctversion[i]) { + same = 0; + break; + } + } + if (!same) { + char rtversion[5] = {'\0'}; + char message[200]; + for (i=0; i<4; ++i) { + if (rt_from_call[i] == '.') { + if (found_dot) break; + found_dot = 1; + } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { + break; + } + rtversion[i] = rt_from_call[i]; + } + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { + if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { + return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); +#if PY_MAJOR_VERSION < 3 + } else if (likely(PyInt_CheckExact(o))) { + return PyInt_AS_LONG(o); +#endif + } else { + Py_ssize_t ival; + PyObject *x; + x = PyNumber_Index(o); + if (!x) return -1; + ival = PyInt_AsLong(x); + Py_DECREF(x); + return ival; + } +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/indexed_gzip/tests/ctest_indexed_gzip.cpython-36m-darwin.so b/indexed_gzip/tests/ctest_indexed_gzip.cpython-36m-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..365c16c6fa8edf8b136616048cd55aa4a91b2311 GIT binary patch literal 861064 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 z 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

#L@qwcor3~k_mInBqWbuwv%nG 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ⅈ^9>4eMCse;kDxn4zJaRhu79esV+aS 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 KQa1ZZ|MUMuiDo_k literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/ctest_indexed_gzip.cpython-37m-darwin.so b/indexed_gzip/tests/ctest_indexed_gzip.cpython-37m-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..1724b16ec626e62bcc9b9175105e0ae44ea28135 GIT binary patch literal 1166144 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∋$wd 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򊂂+f&(e*)f+x$w`It$Lnkrh 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%0D?jHGF3$2`d674-M}A;z&lZe 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 L>TS`l|J(lo%A^>e literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/ctest_zran.c b/indexed_gzip/tests/ctest_zran.c new file mode 100644 index 00000000..a6fb9ec3 --- /dev/null +++ b/indexed_gzip/tests/ctest_zran.c @@ -0,0 +1,40508 @@ +/* Generated by Cython 0.29.33 */ + +/* BEGIN: Cython Metadata +{ + "distutils": { + "define_macros": [ + [ + "CYTHON_TRACE_NOGIL", + "1" + ] + ], + "depends": [ + "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h", + "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/arrayscalars.h", + "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h", + "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h", + "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/ufuncobject.h", + "indexed_gzip/zran.h", + "indexed_gzip/zran_file_util.h" + ], + "extra_compile_args": [ + "-Wall", + "-Wno-unused-function" + ], + "include_dirs": [ + "./indexed_gzip", + "indexed_gzip", + "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include" + ], + "libraries": [ + "z" + ], + "name": "indexed_gzip.tests.ctest_zran", + "sources": [ + "indexed_gzip/tests/ctest_zran.pyx", + "indexed_gzip/zran.c", + "indexed_gzip/zran_file_util.c" + ] + }, + "module_name": "indexed_gzip.tests.ctest_zran" +} +END: Cython Metadata */ + +#ifndef PY_SSIZE_T_CLEAN +#define PY_SSIZE_T_CLEAN +#endif /* PY_SSIZE_T_CLEAN */ +#include "Python.h" +#ifndef Py_PYTHON_H + #error Python headers needed to compile C extensions, please install development version of Python. +#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) + #error Cython requires Python 2.6+ or Python 3.3+. +#else +#define CYTHON_ABI "0_29_33" +#define CYTHON_HEX_VERSION 0x001D21F0 +#define CYTHON_FUTURE_DIVISION 1 +#include +#ifndef offsetof + #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) +#endif +#if !defined(WIN32) && !defined(MS_WINDOWS) + #ifndef __stdcall + #define __stdcall + #endif + #ifndef __cdecl + #define __cdecl + #endif + #ifndef __fastcall + #define __fastcall + #endif +#endif +#ifndef DL_IMPORT + #define DL_IMPORT(t) t +#endif +#ifndef DL_EXPORT + #define DL_EXPORT(t) t +#endif +#define __PYX_COMMA , +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x02070000 + #define HAVE_LONG_LONG + #endif +#endif +#ifndef PY_LONG_LONG + #define PY_LONG_LONG LONG_LONG +#endif +#ifndef Py_HUGE_VAL + #define Py_HUGE_VAL HUGE_VAL +#endif +#ifdef PYPY_VERSION + #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #if PY_VERSION_HEX < 0x03050000 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #undef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 0 + #undef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 0 + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 + #endif +#elif defined(PY_NOGIL) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #define CYTHON_COMPILING_IN_NOGIL 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #ifndef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT 1 + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE 1 + #endif + #undef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS 0 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 +#else + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 1 + #define CYTHON_COMPILING_IN_NOGIL 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYTYPE_LOOKUP + #define CYTHON_USE_PYTYPE_LOOKUP 0 + #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) + #define CYTHON_USE_PYTYPE_LOOKUP 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #elif !defined(CYTHON_FAST_THREAD_STATE) + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) + #endif + #ifndef CYTHON_PEP489_MULTI_PHASE_INIT + #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) + #endif + #ifndef CYTHON_USE_TP_FINALIZE + #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) + #endif + #ifndef CYTHON_USE_DICT_VERSIONS + #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) + #endif + #if PY_VERSION_HEX >= 0x030B00A4 + #undef CYTHON_USE_EXC_INFO_STACK + #define CYTHON_USE_EXC_INFO_STACK 0 + #elif !defined(CYTHON_USE_EXC_INFO_STACK) + #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) + #endif + #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC + #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 + #endif +#endif +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) +#endif +#if CYTHON_USE_PYLONG_INTERNALS + #if PY_MAJOR_VERSION < 3 + #include "longintrepr.h" + #endif + #undef SHIFT + #undef BASE + #undef MASK + #ifdef SIZEOF_VOID_P + enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; + #endif +#endif +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#ifndef __has_cpp_attribute + #define __has_cpp_attribute(x) 0 +#endif +#ifndef CYTHON_RESTRICT + #if defined(__GNUC__) + #define CYTHON_RESTRICT __restrict__ + #elif defined(_MSC_VER) && _MSC_VER >= 1400 + #define CYTHON_RESTRICT __restrict + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_RESTRICT restrict + #else + #define CYTHON_RESTRICT + #endif +#endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif +#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) +#ifdef _MSC_VER + #ifndef _MSC_STDINT_H_ + #if _MSC_VER < 1300 + typedef unsigned char uint8_t; + typedef unsigned int uint32_t; + #else + typedef unsigned __int8 uint8_t; + typedef unsigned __int32 uint32_t; + #endif + #endif +#else + #include +#endif +#ifndef CYTHON_FALLTHROUGH + #if defined(__cplusplus) && __cplusplus >= 201103L + #if __has_cpp_attribute(fallthrough) + #define CYTHON_FALLTHROUGH [[fallthrough]] + #elif __has_cpp_attribute(clang::fallthrough) + #define CYTHON_FALLTHROUGH [[clang::fallthrough]] + #elif __has_cpp_attribute(gnu::fallthrough) + #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] + #endif + #endif + #ifndef CYTHON_FALLTHROUGH + #if __has_attribute(fallthrough) + #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) + #else + #define CYTHON_FALLTHROUGH + #endif + #endif + #if defined(__clang__ ) && defined(__apple_build_version__) + #if __apple_build_version__ < 7000000 + #undef CYTHON_FALLTHROUGH + #define CYTHON_FALLTHROUGH + #endif + #endif +#endif + +#ifndef CYTHON_INLINE + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define CYTHON_INLINE inline + #else + #define CYTHON_INLINE + #endif +#endif + +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) + #define Py_OptimizeFlag 0 +#endif +#define __PYX_BUILD_PY_SSIZE_T "n" +#define CYTHON_FORMAT_SSIZE_T "z" +#if PY_MAJOR_VERSION < 3 + #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) + #define __Pyx_DefaultClassType PyClass_Type +#else + #define __Pyx_BUILTIN_MODULE_NAME "builtins" + #define __Pyx_DefaultClassType PyType_Type +#if PY_VERSION_HEX >= 0x030B00A1 + static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, + PyObject *code, PyObject *c, PyObject* n, PyObject *v, + PyObject *fv, PyObject *cell, PyObject* fn, + PyObject *name, int fline, PyObject *lnos) { + PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; + PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; + const char *fn_cstr=NULL; + const char *name_cstr=NULL; + PyCodeObject* co=NULL; + PyObject *type, *value, *traceback; + PyErr_Fetch(&type, &value, &traceback); + if (!(kwds=PyDict_New())) goto end; + if (!(argcount=PyLong_FromLong(a))) goto end; + if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; + if (!(posonlyargcount=PyLong_FromLong(0))) goto end; + if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; + if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; + if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; + if (!(nlocals=PyLong_FromLong(l))) goto end; + if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; + if (!(stacksize=PyLong_FromLong(s))) goto end; + if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; + if (!(flags=PyLong_FromLong(f))) goto end; + if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; + if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; + if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; + if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; + if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; + if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; + if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here + if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; + Py_XDECREF((PyObject*)co); + co = (PyCodeObject*)call_result; + call_result = NULL; + if (0) { + cleanup_code_too: + Py_XDECREF((PyObject*)co); + co = NULL; + } + end: + Py_XDECREF(kwds); + Py_XDECREF(argcount); + Py_XDECREF(posonlyargcount); + Py_XDECREF(kwonlyargcount); + Py_XDECREF(nlocals); + Py_XDECREF(stacksize); + Py_XDECREF(replace); + Py_XDECREF(call_result); + Py_XDECREF(empty); + if (type) { + PyErr_Restore(type, value, traceback); + } + return co; + } +#else + #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ + PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) +#endif + #define __Pyx_DefaultClassType PyType_Type +#endif +#ifndef Py_TPFLAGS_CHECKTYPES + #define Py_TPFLAGS_CHECKTYPES 0 +#endif +#ifndef Py_TPFLAGS_HAVE_INDEX + #define Py_TPFLAGS_HAVE_INDEX 0 +#endif +#ifndef Py_TPFLAGS_HAVE_NEWBUFFER + #define Py_TPFLAGS_HAVE_NEWBUFFER 0 +#endif +#ifndef Py_TPFLAGS_HAVE_FINALIZE + #define Py_TPFLAGS_HAVE_FINALIZE 0 +#endif +#ifndef METH_STACKLESS + #define METH_STACKLESS 0 +#endif +#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) + #ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + #endif + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); + typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast + #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) + #define PyObject_Malloc(s) PyMem_Malloc(s) + #define PyObject_Free(p) PyMem_Free(p) + #define PyObject_Realloc(p) PyMem_Realloc(p) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 + #define PyMem_RawMalloc(n) PyMem_Malloc(n) + #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) + #define PyMem_RawFree(p) PyMem_Free(p) +#endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif +#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#elif PY_VERSION_HEX >= 0x03060000 + #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_Current PyThreadState_GET() +#else + #define __Pyx_PyThreadState_Current _PyThreadState_Current +#endif +#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) +#include "pythread.h" +#define Py_tss_NEEDS_INIT 0 +typedef int Py_tss_t; +static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { + *key = PyThread_create_key(); + return 0; +} +static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { + Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); + *key = Py_tss_NEEDS_INIT; + return key; +} +static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { + PyObject_Free(key); +} +static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { + return *key != Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { + PyThread_delete_key(*key); + *key = Py_tss_NEEDS_INIT; +} +static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { + return PyThread_set_key_value(*key, value); +} +static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { + return PyThread_get_key_value(*key); +} +#endif +#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) +#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) +#else +#define __Pyx_PyDict_NewPresized(n) PyDict_New() +#endif +#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION + #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) +#else + #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) +#endif +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS +#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) +#else +#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) +#endif +#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) + #define CYTHON_PEP393_ENABLED 1 + #if PY_VERSION_HEX >= 0x030C0000 + #define __Pyx_PyUnicode_READY(op) (0) + #else + #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ + 0 : _PyUnicode_Ready((PyObject *)(op))) + #endif + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) + #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) + #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) + #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) + #if PY_VERSION_HEX >= 0x030C0000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) + #else + #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) + #else + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) + #endif + #endif +#else + #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 + #define __Pyx_PyUnicode_READY(op) (0) + #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) + #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) + #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) + #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) + #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) + #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) +#endif +#if CYTHON_COMPILING_IN_PYPY + #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) +#else + #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) + #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ + PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) + #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) + #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) +#endif +#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) + #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) +#endif +#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) +#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) +#else + #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) +#endif +#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) + #define PyObject_ASCII(o) PyObject_Repr(o) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBaseString_Type PyUnicode_Type + #define PyStringObject PyUnicodeObject + #define PyString_Type PyUnicode_Type + #define PyString_Check PyUnicode_Check + #define PyString_CheckExact PyUnicode_CheckExact +#ifndef PyObject_Unicode + #define PyObject_Unicode PyObject_Str +#endif +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) +#endif +#ifndef PySet_CheckExact + #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) +#endif +#if PY_VERSION_HEX >= 0x030900A4 + #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) +#else + #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) + #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) +#endif +#if CYTHON_ASSUME_SAFE_MACROS + #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) +#else + #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyIntObject PyLongObject + #define PyInt_Type PyLong_Type + #define PyInt_Check(op) PyLong_Check(op) + #define PyInt_CheckExact(op) PyLong_CheckExact(op) + #define PyInt_FromString PyLong_FromString + #define PyInt_FromUnicode PyLong_FromUnicode + #define PyInt_FromLong PyLong_FromLong + #define PyInt_FromSize_t PyLong_FromSize_t + #define PyInt_FromSsize_t PyLong_FromSsize_t + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AS_LONG PyLong_AS_LONG + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask + #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask + #define PyNumber_Int PyNumber_Long +#endif +#if PY_MAJOR_VERSION >= 3 + #define PyBoolObject PyLongObject +#endif +#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY + #ifndef PyUnicode_InternFromString + #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) + #endif +#endif +#if PY_VERSION_HEX < 0x030200A4 + typedef long Py_hash_t; + #define __Pyx_PyInt_FromHash_t PyInt_FromLong + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t +#else + #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t + #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t +#endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) +#else + #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) +#endif +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif +#else + #define __Pyx_PyType_AsAsync(obj) NULL +#endif +#ifndef __Pyx_PyAsyncMethodsStruct + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; +#endif + +#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) + #if !defined(_USE_MATH_DEFINES) + #define _USE_MATH_DEFINES + #endif +#endif +#include +#ifdef NAN +#define __PYX_NAN() ((float) NAN) +#else +static CYTHON_INLINE float __PYX_NAN() { + float value; + memset(&value, 0xFF, sizeof(value)); + return value; +} +#endif +#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) +#define __Pyx_truncl trunc +#else +#define __Pyx_truncl truncl +#endif + +#define __PYX_MARK_ERR_POS(f_index, lineno) \ + { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } +#define __PYX_ERR(f_index, lineno, Ln_error) \ + { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } + +#ifndef __PYX_EXTERN_C + #ifdef __cplusplus + #define __PYX_EXTERN_C extern "C" + #else + #define __PYX_EXTERN_C extern + #endif +#endif + +#define __PYX_HAVE__indexed_gzip__tests__ctest_zran +#define __PYX_HAVE_API__indexed_gzip__tests__ctest_zran +/* Early includes */ +#include +#include +#include "numpy/arrayobject.h" +#include "numpy/ndarrayobject.h" +#include "numpy/ndarraytypes.h" +#include "numpy/arrayscalars.h" +#include "numpy/ufuncobject.h" + + /* NumPy API declarations from "numpy/__init__.pxd" */ + +#include +#include +#include +#include "sys/mman.h" +#include "zran.h" +#include "zran_file_util.h" +#ifdef _OPENMP +#include +#endif /* _OPENMP */ + +#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) +#define CYTHON_WITHOUT_ASSERTIONS +#endif + +typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; + const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; + +#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 +#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) +#define __PYX_DEFAULT_STRING_ENCODING "" +#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString +#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#define __Pyx_uchar_cast(c) ((unsigned char)c) +#define __Pyx_long_cast(x) ((long)x) +#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ + (sizeof(type) < sizeof(Py_ssize_t)) ||\ + (sizeof(type) > sizeof(Py_ssize_t) &&\ + likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX) &&\ + (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ + v == (type)PY_SSIZE_T_MIN))) ||\ + (sizeof(type) == sizeof(Py_ssize_t) &&\ + (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ + v == (type)PY_SSIZE_T_MAX))) ) +static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { + return (size_t) i < (size_t) limit; +} +#if defined (__cplusplus) && __cplusplus >= 201103L + #include + #define __Pyx_sst_abs(value) std::abs(value) +#elif SIZEOF_INT >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) abs(value) +#elif SIZEOF_LONG >= SIZEOF_SIZE_T + #define __Pyx_sst_abs(value) labs(value) +#elif defined (_MSC_VER) + #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) +#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + #define __Pyx_sst_abs(value) llabs(value) +#elif defined (__GNUC__) + #define __Pyx_sst_abs(value) __builtin_llabs(value) +#else + #define __Pyx_sst_abs(value) ((value<0) ? -value : value) +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); +#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) +#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) +#define __Pyx_PyBytes_FromString PyBytes_FromString +#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); +#if PY_MAJOR_VERSION < 3 + #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize +#else + #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString + #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize +#endif +#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) +#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) +#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) +#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) +#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) +#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) +#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) +static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { + const Py_UNICODE *u_end = u; + while (*u_end++) ; + return (size_t)(u_end - u - 1); +} +#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) +#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode +#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode +#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) +#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); +#define __Pyx_PySequence_Tuple(obj)\ + (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); +#if CYTHON_ASSUME_SAFE_MACROS +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) +#else +#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) +#endif +#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) +#else +#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) +#endif +#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII +static int __Pyx_sys_getdefaultencoding_not_ascii; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + PyObject* ascii_chars_u = NULL; + PyObject* ascii_chars_b = NULL; + const char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + if (strcmp(default_encoding_c, "ascii") == 0) { + __Pyx_sys_getdefaultencoding_not_ascii = 0; + } else { + char ascii_chars[128]; + int c; + for (c = 0; c < 128; c++) { + ascii_chars[c] = c; + } + __Pyx_sys_getdefaultencoding_not_ascii = 1; + ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); + if (!ascii_chars_u) goto bad; + ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); + if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { + PyErr_Format( + PyExc_ValueError, + "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", + default_encoding_c); + goto bad; + } + Py_DECREF(ascii_chars_u); + Py_DECREF(ascii_chars_b); + } + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + Py_XDECREF(ascii_chars_u); + Py_XDECREF(ascii_chars_b); + return -1; +} +#endif +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) +#else +#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) +#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +static char* __PYX_DEFAULT_STRING_ENCODING; +static int __Pyx_init_sys_getdefaultencoding_params(void) { + PyObject* sys; + PyObject* default_encoding = NULL; + char* default_encoding_c; + sys = PyImport_ImportModule("sys"); + if (!sys) goto bad; + default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); + Py_DECREF(sys); + if (!default_encoding) goto bad; + default_encoding_c = PyBytes_AsString(default_encoding); + if (!default_encoding_c) goto bad; + __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); + if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; + strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); + Py_DECREF(default_encoding); + return 0; +bad: + Py_XDECREF(default_encoding); + return -1; +} +#endif +#endif + + +/* Test for GCC > 2.95 */ +#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) + #define likely(x) __builtin_expect(!!(x), 1) + #define unlikely(x) __builtin_expect(!!(x), 0) +#else /* !__GNUC__ or GCC < 2.95 */ + #define likely(x) (x) + #define unlikely(x) (x) +#endif /* __GNUC__ */ +static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } + +static PyObject *__pyx_m = NULL; +static PyObject *__pyx_d; +static PyObject *__pyx_b; +static PyObject *__pyx_cython_runtime = NULL; +static PyObject *__pyx_empty_tuple; +static PyObject *__pyx_empty_bytes; +static PyObject *__pyx_empty_unicode; +static int __pyx_lineno; +static int __pyx_clineno = 0; +static const char * __pyx_cfilenm= __FILE__; +static const char *__pyx_filename; + +/* Header.proto */ +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif + + +static const char *__pyx_f[] = { + "indexed_gzip/tests/ctest_zran.pyx", + "stringsource", + "venv/lib/python3.7/site-packages/numpy/__init__.pxd", + "venv/lib/python3.7/site-packages/Cython/Includes/cpython/type.pxd", +}; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":690 + * # in Cython to enable them only on the right systems. + * + * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + */ +typedef npy_int8 __pyx_t_5numpy_int8_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":691 + * + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t + */ +typedef npy_int16 __pyx_t_5numpy_int16_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":692 + * ctypedef npy_int8 int8_t + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< + * ctypedef npy_int64 int64_t + * #ctypedef npy_int96 int96_t + */ +typedef npy_int32 __pyx_t_5numpy_int32_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":693 + * ctypedef npy_int16 int16_t + * ctypedef npy_int32 int32_t + * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< + * #ctypedef npy_int96 int96_t + * #ctypedef npy_int128 int128_t + */ +typedef npy_int64 __pyx_t_5numpy_int64_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":697 + * #ctypedef npy_int128 int128_t + * + * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + */ +typedef npy_uint8 __pyx_t_5numpy_uint8_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":698 + * + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t + */ +typedef npy_uint16 __pyx_t_5numpy_uint16_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":699 + * ctypedef npy_uint8 uint8_t + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< + * ctypedef npy_uint64 uint64_t + * #ctypedef npy_uint96 uint96_t + */ +typedef npy_uint32 __pyx_t_5numpy_uint32_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":700 + * ctypedef npy_uint16 uint16_t + * ctypedef npy_uint32 uint32_t + * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< + * #ctypedef npy_uint96 uint96_t + * #ctypedef npy_uint128 uint128_t + */ +typedef npy_uint64 __pyx_t_5numpy_uint64_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":704 + * #ctypedef npy_uint128 uint128_t + * + * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< + * ctypedef npy_float64 float64_t + * #ctypedef npy_float80 float80_t + */ +typedef npy_float32 __pyx_t_5numpy_float32_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":705 + * + * ctypedef npy_float32 float32_t + * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< + * #ctypedef npy_float80 float80_t + * #ctypedef npy_float128 float128_t + */ +typedef npy_float64 __pyx_t_5numpy_float64_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":714 + * # The int types are mapped a bit surprising -- + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t + */ +typedef npy_long __pyx_t_5numpy_int_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":715 + * # numpy.int corresponds to 'l' and numpy.long to 'q' + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< + * ctypedef npy_longlong longlong_t + * + */ +typedef npy_longlong __pyx_t_5numpy_long_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":716 + * ctypedef npy_long int_t + * ctypedef npy_longlong long_t + * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_ulong uint_t + */ +typedef npy_longlong __pyx_t_5numpy_longlong_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":718 + * ctypedef npy_longlong longlong_t + * + * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t + */ +typedef npy_ulong __pyx_t_5numpy_uint_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":719 + * + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< + * ctypedef npy_ulonglong ulonglong_t + * + */ +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":720 + * ctypedef npy_ulong uint_t + * ctypedef npy_ulonglong ulong_t + * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< + * + * ctypedef npy_intp intp_t + */ +typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":722 + * ctypedef npy_ulonglong ulonglong_t + * + * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< + * ctypedef npy_uintp uintp_t + * + */ +typedef npy_intp __pyx_t_5numpy_intp_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":723 + * + * ctypedef npy_intp intp_t + * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< + * + * ctypedef npy_double float_t + */ +typedef npy_uintp __pyx_t_5numpy_uintp_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":725 + * ctypedef npy_uintp uintp_t + * + * ctypedef npy_double float_t # <<<<<<<<<<<<<< + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t + */ +typedef npy_double __pyx_t_5numpy_float_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":726 + * + * ctypedef npy_double float_t + * ctypedef npy_double double_t # <<<<<<<<<<<<<< + * ctypedef npy_longdouble longdouble_t + * + */ +typedef npy_double __pyx_t_5numpy_double_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":727 + * ctypedef npy_double float_t + * ctypedef npy_double double_t + * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cfloat cfloat_t + */ +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +/* Declarations.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + + +/*--- Type declarations ---*/ +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer; +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__; +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn; +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation; +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":729 + * ctypedef npy_longdouble longdouble_t + * + * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t + */ +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":730 + * + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< + * ctypedef npy_clongdouble clongdouble_t + * + */ +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":731 + * ctypedef npy_cfloat cfloat_t + * ctypedef npy_cdouble cdouble_t + * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< + * + * ctypedef npy_cdouble complex_t + */ +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":733 + * ctypedef npy_clongdouble clongdouble_t + * + * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew1(a): + */ +typedef npy_cdouble __pyx_t_5numpy_complex_t; +struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element; +struct __pyx_defaults; +typedef struct __pyx_defaults __pyx_defaults; + +/* "indexed_gzip/tests/ctest_zran.pyx":77 + * np.import_array() + * + * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): # <<<<<<<<<<<<<< + * + * cdef void *buffer + */ +struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element { + int __pyx_n; + PyObject *seek; +}; +struct __pyx_defaults { + PyObject *__pyx_arg_flags; +}; + +/* "indexed_gzip/tests/ctest_zran.pyx":134 + * + * + * cdef class ReadBuffer: # <<<<<<<<<<<<<< + * """Wrapper around a chunk of memory. + * + */ +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer { + PyObject_HEAD + void *buffer; + int use_mmap; + size_t size; + PyObject *mmap_fd; + PyObject *mmap_path; +}; + + +/* "indexed_gzip/tests/ctest_zran.pyx":155 + * + * + * def __cinit__(self, size_t size, use_mmap=False): # <<<<<<<<<<<<<< + * """Allocate ``size`` bytes of memory. """ + * + */ +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ { + PyObject_HEAD + PyObject *__pyx_v_fd; + size_t __pyx_v_size; + PyObject *__pyx_v_th; +}; + + +/* "indexed_gzip/tests/ctest_zran.pyx":236 + * + * + * def return_fn(return_value): # <<<<<<<<<<<<<< + * return lambda *args, **kwargs: return_value + * + */ +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn { + PyObject_HEAD + PyObject *__pyx_v_return_value; +}; + + +/* "indexed_gzip/tests/ctest_zran.pyx":1240 + * + * + * def test_crc_validation(concat): # <<<<<<<<<<<<<< + * """Basic test of CRC validation. """ + * + */ +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation { + PyObject_HEAD + PyObject *__pyx_v__zran_init; + void *__pyx_v_buffer; + PyObject *__pyx_v_cmpdata; + PyObject *__pyx_v_data; + PyObject *__pyx_v_dsize; + PyObject *__pyx_v_f; + zran_index_t __pyx_v_index; +}; + + +/* "indexed_gzip/tests/ctest_zran.pyx":1346 + * + * + * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< + * """Make sure standard usage works with files that have null-padding after + * the GZIP footer. + */ +struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding { + PyObject_HEAD + PyObject *__pyx_v_f; + zran_index_t __pyx_v_index; + PyObject *__pyx_v_paddedcmpdata; +}; + + +/* --- Runtime support code (head) --- */ +/* Refnanny.proto */ +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif +#if CYTHON_REFNANNY + typedef struct { + void (*INCREF)(void*, PyObject*, int); + void (*DECREF)(void*, PyObject*, int); + void (*GOTREF)(void*, PyObject*, int); + void (*GIVEREF)(void*, PyObject*, int); + void* (*SetupContext)(const char*, int, const char*); + void (*FinishContext)(void**); + } __Pyx_RefNannyAPIStruct; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; + static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); + #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; +#ifdef WITH_THREAD + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + if (acquire_gil) {\ + PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + PyGILState_Release(__pyx_gilstate_save);\ + } else {\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ + } +#else + #define __Pyx_RefNannySetupContext(name, acquire_gil)\ + __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) +#endif + #define __Pyx_RefNannyFinishContext()\ + __Pyx_RefNanny->FinishContext(&__pyx_refnanny) + #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) + #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) + #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) + #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) + #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) +#else + #define __Pyx_RefNannyDeclarations + #define __Pyx_RefNannySetupContext(name, acquire_gil) + #define __Pyx_RefNannyFinishContext() + #define __Pyx_INCREF(r) Py_INCREF(r) + #define __Pyx_DECREF(r) Py_DECREF(r) + #define __Pyx_GOTREF(r) + #define __Pyx_GIVEREF(r) + #define __Pyx_XINCREF(r) Py_XINCREF(r) + #define __Pyx_XDECREF(r) Py_XDECREF(r) + #define __Pyx_XGOTREF(r) + #define __Pyx_XGIVEREF(r) +#endif +#define __Pyx_XDECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_XDECREF(tmp);\ + } while (0) +#define __Pyx_DECREF_SET(r, v) do {\ + PyObject *tmp = (PyObject *) r;\ + r = v; __Pyx_DECREF(tmp);\ + } while (0) +#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) +#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) + +/* PyObjectGetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) +#endif + +/* GetBuiltinName.proto */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name); + +/* PyThreadStateGet.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; +#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; +#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type +#else +#define __Pyx_PyThreadState_declare +#define __Pyx_PyThreadState_assign +#define __Pyx_PyErr_Occurred() PyErr_Occurred() +#endif + +/* PyErrFetchRestore.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) +#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) +#else +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#endif +#else +#define __Pyx_PyErr_Clear() PyErr_Clear() +#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) +#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) +#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) +#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) +#endif + +/* Profile.proto */ +#ifndef CYTHON_PROFILE +#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON + #define CYTHON_PROFILE 0 +#else + #define CYTHON_PROFILE 1 +#endif +#endif +#ifndef CYTHON_TRACE_NOGIL + #define CYTHON_TRACE_NOGIL 0 +#else + #if CYTHON_TRACE_NOGIL && !defined(CYTHON_TRACE) + #define CYTHON_TRACE 1 + #endif +#endif +#ifndef CYTHON_TRACE + #define CYTHON_TRACE 0 +#endif +#if CYTHON_TRACE + #undef CYTHON_PROFILE_REUSE_FRAME +#endif +#ifndef CYTHON_PROFILE_REUSE_FRAME + #define CYTHON_PROFILE_REUSE_FRAME 0 +#endif +#if CYTHON_PROFILE || CYTHON_TRACE + #include "compile.h" + #include "frameobject.h" + #include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif + #if CYTHON_PROFILE_REUSE_FRAME + #define CYTHON_FRAME_MODIFIER static + #define CYTHON_FRAME_DEL(frame) + #else + #define CYTHON_FRAME_MODIFIER + #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame) + #endif + #define __Pyx_TraceDeclarations\ + static PyCodeObject *__pyx_frame_code = NULL;\ + CYTHON_FRAME_MODIFIER PyFrameObject *__pyx_frame = NULL;\ + int __Pyx_use_tracing = 0; + #define __Pyx_TraceFrameInit(codeobj)\ + if (codeobj) __pyx_frame_code = (PyCodeObject*) codeobj; +#if PY_VERSION_HEX >= 0x030b00a2 + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->cframe->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate) PyThreadState_EnterTracing(tstate) + #define __Pyx_LeaveTracing(tstate) PyThreadState_LeaveTracing(tstate) +#elif PY_VERSION_HEX >= 0x030a00b1 + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->cframe->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate)\ + do { tstate->tracing++; tstate->cframe->use_tracing = 0; } while (0) + #define __Pyx_LeaveTracing(tstate)\ + do {\ + tstate->tracing--;\ + tstate->cframe->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ + || tstate->c_profilefunc != NULL);\ + } while (0) +#else + #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ + (unlikely((tstate)->use_tracing) &&\ + (!(check_tracing) || !(tstate)->tracing) &&\ + (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) + #define __Pyx_EnterTracing(tstate)\ + do { tstate->tracing++; tstate->use_tracing = 0; } while (0) + #define __Pyx_LeaveTracing(tstate)\ + do {\ + tstate->tracing--;\ + tstate->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ + || tstate->c_profilefunc != NULL);\ + } while (0) +#endif + #ifdef WITH_THREAD + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + }\ + PyGILState_Release(state);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } else {\ + PyThreadState* tstate = PyThreadState_GET();\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } + #else + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ + { PyThreadState* tstate = PyThreadState_GET();\ + if (__Pyx_IsTracing(tstate, 1, 1)) {\ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ + if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ + }\ + } + #endif + #define __Pyx_TraceException()\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 1)) {\ + __Pyx_EnterTracing(tstate);\ + PyObject *exc_info = __Pyx_GetExceptionTuple(tstate);\ + if (exc_info) {\ + if (CYTHON_TRACE && tstate->c_tracefunc)\ + tstate->c_tracefunc(\ + tstate->c_traceobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ + tstate->c_profilefunc(\ + tstate->c_profileobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ + Py_DECREF(exc_info);\ + }\ + __Pyx_LeaveTracing(tstate);\ + }\ + } + static void __Pyx_call_return_trace_func(PyThreadState *tstate, PyFrameObject *frame, PyObject *result) { + PyObject *type, *value, *traceback; + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + __Pyx_EnterTracing(tstate); + if (CYTHON_TRACE && tstate->c_tracefunc) + tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result); + if (tstate->c_profilefunc) + tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result); + CYTHON_FRAME_DEL(frame); + __Pyx_LeaveTracing(tstate); + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + } + #ifdef WITH_THREAD + #define __Pyx_TraceReturn(result, nogil)\ + if (likely(!__Pyx_use_tracing)); else {\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + PyGILState_Release(state);\ + }\ + } else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + }\ + } + #else + #define __Pyx_TraceReturn(result, nogil)\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0)) {\ + __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ + }\ + } + #endif + static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno); + static int __Pyx_TraceSetupAndCall(PyCodeObject** code, PyFrameObject** frame, PyThreadState* tstate, const char *funcname, const char *srcfile, int firstlineno); +#else + #define __Pyx_TraceDeclarations + #define __Pyx_TraceFrameInit(codeobj) + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) if ((1)); else goto_error; + #define __Pyx_TraceException() + #define __Pyx_TraceReturn(result, nogil) +#endif +#if CYTHON_TRACE + static int __Pyx_call_line_trace_func(PyThreadState *tstate, PyFrameObject *frame, int lineno) { + int ret; + PyObject *type, *value, *traceback; + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + __Pyx_PyFrame_SetLineNumber(frame, lineno); + __Pyx_EnterTracing(tstate); + ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL); + __Pyx_LeaveTracing(tstate); + if (likely(!ret)) { + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + } else { + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(traceback); + } + return ret; + } + #ifdef WITH_THREAD + #define __Pyx_TraceLine(lineno, nogil, goto_error)\ + if (likely(!__Pyx_use_tracing)); else {\ + if (nogil) {\ + if (CYTHON_TRACE_NOGIL) {\ + int ret = 0;\ + PyThreadState *tstate;\ + PyGILState_STATE state = PyGILState_Ensure();\ + tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + }\ + PyGILState_Release(state);\ + if (unlikely(ret)) goto_error;\ + }\ + } else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + if (unlikely(ret)) goto_error;\ + }\ + }\ + } + #else + #define __Pyx_TraceLine(lineno, nogil, goto_error)\ + if (likely(!__Pyx_use_tracing)); else {\ + PyThreadState* tstate = __Pyx_PyThreadState_Current;\ + if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ + int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ + if (unlikely(ret)) goto_error;\ + }\ + } + #endif +#else + #define __Pyx_TraceLine(lineno, nogil, goto_error) if ((1)); else goto_error; +#endif + +/* PyObjectCall.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); +#else +#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) +#endif + +/* GetTopmostException.proto */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); +#endif + +/* SaveResetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); +#else +#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) +#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) +#endif + +/* GetException.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); +#endif + +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#define __Pyx_BUILD_ASSERT_EXPR(cond)\ + (sizeof(char [1 - 2*!(cond)]) - 1) +#ifndef Py_MEMBER_SIZE +#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) +#endif +#if CYTHON_FAST_PYCALL + static size_t __pyx_pyframe_localsplus_offset = 0; + #include "frameobject.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif + #define __Pxy_PyFrame_Initialize_Offsets()\ + ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ + (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) + #define __Pyx_PyFrame_GetLocalsplus(frame)\ + (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) +#endif // CYTHON_FAST_PYCALL +#endif + +/* PyObjectCall2Args.proto */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); + +/* PyObjectCallMethO.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); +#endif + +/* PyObjectCallOneArg.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) +#endif + +/* PyDictVersioning.proto */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) +#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ + (version_var) = __PYX_GET_DICT_VERSION(dict);\ + (cache_var) = (value); +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ + (VAR) = __pyx_dict_cached_value;\ + } else {\ + (VAR) = __pyx_dict_cached_value = (LOOKUP);\ + __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ + }\ +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); +#else +#define __PYX_GET_DICT_VERSION(dict) (0) +#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) +#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); +#endif + +/* GetModuleGlobalName.proto */ +#if CYTHON_USE_DICT_VERSIONS +#define __Pyx_GetModuleGlobalName(var, name) do {\ + static PY_UINT64_T __pyx_dict_version = 0;\ + static PyObject *__pyx_dict_cached_value = NULL;\ + (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ + (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ + __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} while(0) +#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ + PY_UINT64_T __pyx_dict_version;\ + PyObject *__pyx_dict_cached_value;\ + (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ +} while(0) +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); +#else +#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) +#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); +#endif + +/* GetItemInt.proto */ +#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ + __Pyx_GetItemInt_Generic(o, to_py_func(i)))) +#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ + (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + int wraparound, int boundscheck); +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, + int is_list, int wraparound, int boundscheck); + +/* RaiseDoubleKeywords.proto */ +static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); + +/* ParseKeywords.proto */ +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ + PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ + const char* function_name); + +/* RaiseArgTupleInvalid.proto */ +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); + +/* None.proto */ +static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname); + +/* PyObjectCallNoArg.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); +#else +#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) +#endif + +/* RaiseTooManyValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); + +/* RaiseNeedMoreValuesToUnpack.proto */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +/* IterFinish.proto */ +static CYTHON_INLINE int __Pyx_IterFinish(void); + +/* UnpackItemEndCheck.proto */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); + +/* FetchCommonType.proto */ +static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); + +/* CythonFunctionShared.proto */ +#define __Pyx_CyFunction_USED 1 +#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 +#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 +#define __Pyx_CYFUNCTION_CCLASS 0x04 +#define __Pyx_CyFunction_GetClosure(f)\ + (((__pyx_CyFunctionObject *) (f))->func_closure) +#define __Pyx_CyFunction_GetClassObj(f)\ + (((__pyx_CyFunctionObject *) (f))->func_classobj) +#define __Pyx_CyFunction_Defaults(type, f)\ + ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) +#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ + ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) +typedef struct { + PyCFunctionObject func; +#if PY_VERSION_HEX < 0x030500A0 + PyObject *func_weakreflist; +#endif + PyObject *func_dict; + PyObject *func_name; + PyObject *func_qualname; + PyObject *func_doc; + PyObject *func_globals; + PyObject *func_code; + PyObject *func_closure; + PyObject *func_classobj; + void *defaults; + int defaults_pyobjects; + size_t defaults_size; // used by FusedFunction for copying defaults + int flags; + PyObject *defaults_tuple; + PyObject *defaults_kwdict; + PyObject *(*defaults_getter)(PyObject *); + PyObject *func_annotations; +} __pyx_CyFunctionObject; +static PyTypeObject *__pyx_CyFunctionType = 0; +#define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType)) +static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, + int flags, PyObject* qualname, + PyObject *self, + PyObject *module, PyObject *globals, + PyObject* code); +static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, + size_t size, + int pyobjects); +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, + PyObject *tuple); +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, + PyObject *dict); +static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, + PyObject *dict); +static int __pyx_CyFunction_init(void); + +/* CythonFunction.proto */ +static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, + int flags, PyObject* qualname, + PyObject *closure, + PyObject *module, PyObject *globals, + PyObject* code); + +/* RaiseException.proto */ +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); + +/* WriteUnraisableException.proto */ +static void __Pyx_WriteUnraisable(const char *name, int clineno, + int lineno, const char *filename, + int full_traceback, int nogil); + +/* KeywordStringCheck.proto */ +static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); + +/* PyIntCompare.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); + +/* IncludeStringH.proto */ +#include + +/* BytesEquals.proto */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); + +/* PyObjectSetAttrStr.proto */ +#if CYTHON_USE_TYPE_SLOTS +#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); +#else +#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) +#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) +#endif + +/* PyObjectLookupSpecial.proto */ +#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) { + PyObject *res; + PyTypeObject *tp = Py_TYPE(obj); +#if PY_MAJOR_VERSION < 3 + if (unlikely(PyInstance_Check(obj))) + return __Pyx_PyObject_GetAttrStr(obj, attr_name); +#endif + res = _PyType_Lookup(tp, attr_name); + if (likely(res)) { + descrgetfunc f = Py_TYPE(res)->tp_descr_get; + if (!f) { + Py_INCREF(res); + } else { + res = f(res, obj, (PyObject *)tp); + } + } else { + PyErr_SetObject(PyExc_AttributeError, attr_name); + } + return res; +} +#else +#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) +#endif + +/* UnicodeEquals.proto */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); + +/* StrEquals.proto */ +#if PY_MAJOR_VERSION >= 3 +#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals +#else +#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals +#endif + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_FloorDivideObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_FloorDivideObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceFloorDivide(op1, op2) : PyNumber_FloorDivide(op1, op2)) +#endif + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) +#endif + +/* ListCompAppend.proto */ +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS +static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { + PyListObject* L = (PyListObject*) list; + Py_ssize_t len = Py_SIZE(list); + if (likely(L->allocated > len)) { + Py_INCREF(x); + PyList_SET_ITEM(list, len, x); + __Pyx_SET_SIZE(list, len + 1); + return 0; + } + return PyList_Append(list, x); +} +#else +#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) +#endif + +/* PyFloatBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyFloat_TrueDivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyFloat_TrueDivideObjC(op1, op2, floatval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceTrueDivide(op1, op2) : PyNumber_TrueDivide(op1, op2)) +#endif + +/* None.proto */ +static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname); + +/* SetItemInt.proto */ +#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ + (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ + __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\ + (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\ + __Pyx_SetItemInt_Generic(o, to_py_func(i), v))) +static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v); +static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, + int is_list, int wraparound, int boundscheck); + +/* PyIntBinop.proto */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_RemainderObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); +#else +#define __Pyx_PyInt_RemainderObjC(op1, op2, intval, inplace, zerodivision_check)\ + (inplace ? PyNumber_InPlaceRemainder(op1, op2) : PyNumber_Remainder(op1, op2)) +#endif + +/* SliceObject.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( + PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* ObjectGetItem.proto */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); +#else +#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) +#endif + +/* SliceObject.proto */ +#define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)\ + __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound) +static CYTHON_INLINE int __Pyx_PyObject_SetSlice( + PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** py_start, PyObject** py_stop, PyObject** py_slice, + int has_cstart, int has_cstop, int wraparound); + +/* PyErrExceptionMatches.proto */ +#if CYTHON_FAST_THREAD_STATE +#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) +static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); +#else +#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) +#endif + +/* PyObject_GenericGetAttrNoDict.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr +#endif + +/* PyObject_GenericGetAttr.proto */ +#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); +#else +#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr +#endif + +/* PyObjectGetAttrStrNoError.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); + +/* SetupReduce.proto */ +static int __Pyx_setup_reduce(PyObject* type_obj); + +/* TypeImport.proto */ +#ifndef __PYX_HAVE_RT_ImportType_proto +#define __PYX_HAVE_RT_ImportType_proto +enum __Pyx_ImportType_CheckSize { + __Pyx_ImportType_CheckSize_Error = 0, + __Pyx_ImportType_CheckSize_Warn = 1, + __Pyx_ImportType_CheckSize_Ignore = 2 +}; +static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); +#endif + +/* Import.proto */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); + +/* ImportFrom.proto */ +static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); + +/* CLineInTraceback.proto */ +#ifdef CYTHON_CLINE_IN_TRACEBACK +#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) +#else +static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); +#endif + +/* CodeObjectCache.proto */ +typedef struct { + PyCodeObject* code_object; + int code_line; +} __Pyx_CodeObjectCacheEntry; +struct __Pyx_CodeObjectCache { + int count; + int max_count; + __Pyx_CodeObjectCacheEntry* entries; +}; +static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; +static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); +static PyCodeObject *__pyx_find_code_object(int code_line); +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); + +/* AddTraceback.proto */ +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename); + +/* GCCDiagnostics.proto */ +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +#define __Pyx_HAS_GCC_DIAGNOSTIC +#endif + +/* RealImag.proto */ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif +#if defined(__cplusplus) && CYTHON_CCOMPLEX\ + && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_float(a, b) ((a)==(b)) + #define __Pyx_c_sum_float(a, b) ((a)+(b)) + #define __Pyx_c_diff_float(a, b) ((a)-(b)) + #define __Pyx_c_prod_float(a, b) ((a)*(b)) + #define __Pyx_c_quot_float(a, b) ((a)/(b)) + #define __Pyx_c_neg_float(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_float(z) ((z)==(float)0) + #define __Pyx_c_conj_float(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_float(z) (::std::abs(z)) + #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_float(z) ((z)==0) + #define __Pyx_c_conj_float(z) (conjf(z)) + #if 1 + #define __Pyx_c_abs_float(z) (cabsf(z)) + #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); + #endif +#endif + +/* Arithmetic.proto */ +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq_double(a, b) ((a)==(b)) + #define __Pyx_c_sum_double(a, b) ((a)+(b)) + #define __Pyx_c_diff_double(a, b) ((a)-(b)) + #define __Pyx_c_prod_double(a, b) ((a)*(b)) + #define __Pyx_c_quot_double(a, b) ((a)/(b)) + #define __Pyx_c_neg_double(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero_double(z) ((z)==(double)0) + #define __Pyx_c_conj_double(z) (::std::conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (::std::abs(z)) + #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) + #endif + #else + #define __Pyx_c_is_zero_double(z) ((z)==0) + #define __Pyx_c_conj_double(z) (conj(z)) + #if 1 + #define __Pyx_c_abs_double(z) (cabs(z)) + #define __Pyx_c_pow_double(a, b) (cpow(a, b)) + #endif + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); + #endif +#endif + +/* CIntFromPy.proto */ +static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *); + +/* CIntFromPy.proto */ +static CYTHON_INLINE Py_intptr_t __Pyx_PyInt_As_Py_intptr_t(PyObject *); + +/* CIntToPy.proto */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value); + +/* CIntFromPy.proto */ +static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); + +/* FastTypeChecks.proto */ +#if CYTHON_COMPILING_IN_CPYTHON +#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); +static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); +#else +#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) +#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) +#endif +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) + +/* CheckBinaryVersion.proto */ +static int __Pyx_check_binary_version(void); + +/* InitStrings.proto */ +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); + + +/* Module declarations from 'cpython.buffer' */ + +/* Module declarations from 'libc.string' */ + +/* Module declarations from 'libc.stdio' */ + +/* Module declarations from '__builtin__' */ + +/* Module declarations from 'cpython.type' */ +static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; + +/* Module declarations from 'cpython' */ + +/* Module declarations from 'cpython.object' */ + +/* Module declarations from 'cpython.ref' */ + +/* Module declarations from 'cpython.mem' */ + +/* Module declarations from 'numpy' */ + +/* Module declarations from 'numpy' */ +static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; +static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; +static PyTypeObject *__pyx_ptype_5numpy_generic = 0; +static PyTypeObject *__pyx_ptype_5numpy_number = 0; +static PyTypeObject *__pyx_ptype_5numpy_integer = 0; +static PyTypeObject *__pyx_ptype_5numpy_signedinteger = 0; +static PyTypeObject *__pyx_ptype_5numpy_unsignedinteger = 0; +static PyTypeObject *__pyx_ptype_5numpy_inexact = 0; +static PyTypeObject *__pyx_ptype_5numpy_floating = 0; +static PyTypeObject *__pyx_ptype_5numpy_complexfloating = 0; +static PyTypeObject *__pyx_ptype_5numpy_flexible = 0; +static PyTypeObject *__pyx_ptype_5numpy_character = 0; +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; +static CYTHON_INLINE int __pyx_f_5numpy_import_array(void); /*proto*/ + +/* Module declarations from 'posix.types' */ + +/* Module declarations from 'libc.stdint' */ + +/* Module declarations from 'cpython.exc' */ + +/* Module declarations from 'posix.mman' */ + +/* Module declarations from 'indexed_gzip.zran' */ + +/* Module declarations from 'indexed_gzip.zran_file_util' */ + +/* Module declarations from 'indexed_gzip.tests.ctest_zran' */ +static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer = 0; +static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ = 0; +static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn = 0; +static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation = 0; +static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding = 0; +static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element(zran_index_t *, PyObject *, PyObject *, struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element *__pyx_optional_args); /*proto*/ +static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran__compare_indexes(zran_index_t *, zran_index_t *); /*proto*/ +static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran__write_index_file_v0(zran_index_t *, PyObject *); /*proto*/ +#define __Pyx_MODULE_NAME "indexed_gzip.tests.ctest_zran" +extern int __pyx_module_is_main_indexed_gzip__tests__ctest_zran; +int __pyx_module_is_main_indexed_gzip__tests__ctest_zran = 0; + +/* Implementation of 'indexed_gzip.tests.ctest_zran' */ +static PyObject *__pyx_builtin_ImportError; +static PyObject *__pyx_builtin_print; +static PyObject *__pyx_builtin_id; +static PyObject *__pyx_builtin_RuntimeError; +static PyObject *__pyx_builtin_NotImplementedError; +static PyObject *__pyx_builtin_MemoryError; +static PyObject *__pyx_builtin_TypeError; +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_builtin_open; +static PyObject *__pyx_builtin_zip; +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_enumerate; +static const char __pyx_k_a[] = "a"; +static const char __pyx_k_f[] = "f"; +static const char __pyx_k_i[] = "i"; +static const char __pyx_k_r[] = "r"; +static const char __pyx_k_s[] = "s"; +static const char __pyx_k_w[] = "w"; +static const char __pyx_k_fn[] = "fn"; +static const char __pyx_k_id[] = "id"; +static const char __pyx_k_io[] = "io"; +static const char __pyx_k_it[] = "it"; +static const char __pyx_k_np[] = "np"; +static const char __pyx_k_op[] = "op"; +static const char __pyx_k_os[] = "os"; +static const char __pyx_k_rb[] = "rb"; +static const char __pyx_k_se[] = "se"; +static const char __pyx_k_sp[] = "sp"; +static const char __pyx_k_wb[] = "wb"; +static const char __pyx_k_zs[] = "zs"; +static const char __pyx_k_zt[] = "zt"; +static const char __pyx_k__30[] = "{} != {}"; +static const char __pyx_k__35[] = ""; +static const char __pyx_k__73[] = "*"; +static const char __pyx_k_a_2[] = "a+"; +static const char __pyx_k_abc[] = "abc"; +static const char __pyx_k_all[] = "all"; +static const char __pyx_k_buf[] = "buf"; +static const char __pyx_k_dbc[] = "dbc"; +static const char __pyx_k_dec[] = "dec"; +static const char __pyx_k_end[] = "end"; +static const char __pyx_k_eof[] = "eof"; +static const char __pyx_k_exp[] = "exp"; +static const char __pyx_k_got[] = "got"; +static const char __pyx_k_inp[] = "inp"; +static const char __pyx_k_mem[] = "mem"; +static const char __pyx_k_off[] = "off"; +static const char __pyx_k_out[] = "out"; +static const char __pyx_k_pad[] = "pad"; +static const char __pyx_k_r_2[] = "r+"; +static const char __pyx_k_ret[] = "ret"; +static const char __pyx_k_sbi[] = "sbi"; +static const char __pyx_k_sum[] = "sum"; +static const char __pyx_k_sys[] = "sys"; +static const char __pyx_k_val[] = "val"; +static const char __pyx_k_w_2[] = "w+"; +static const char __pyx_k_x_x[] = "{:x} != {:x}"; +static const char __pyx_k_zip[] = "zip"; +static const char __pyx_k_args[] = "args"; +static const char __pyx_k_cfid[] = "cfid"; +static const char __pyx_k_data[] = "data"; +static const char __pyx_k_exit[] = "__exit__"; +static const char __pyx_k_flag[] = "flag"; +static const char __pyx_k_gzip[] = "gzip"; +static const char __pyx_k_last[] = "last"; +static const char __pyx_k_main[] = "__main__"; +static const char __pyx_k_mode[] = "mode"; +static const char __pyx_k_name[] = "__name__"; +static const char __pyx_k_open[] = "open"; +static const char __pyx_k_poll[] = "poll"; +static const char __pyx_k_read[] = "read"; +static const char __pyx_k_seed[] = "seed"; +static const char __pyx_k_seek[] = "seek"; +static const char __pyx_k_size[] = "size"; +static const char __pyx_k_sort[] = "sort"; +static const char __pyx_k_stat[] = "stat"; +static const char __pyx_k_strm[] = "strm"; +static const char __pyx_k_tell[] = "tell"; +static const char __pyx_k_test[] = "__test__"; +static const char __pyx_k_time[] = "time"; +static const char __pyx_k_wrap[] = "wrap"; +static const char __pyx_k_Error[] = "Error"; +static const char __pyx_k_GZIDX[] = "GZIDX\000\000"; +static const char __pyx_k_bmode[] = "bmode"; +static const char __pyx_k_close[] = "close"; +static const char __pyx_k_cmode[] = "cmode"; +static const char __pyx_k_dsize[] = "dsize"; +static const char __pyx_k_dtype[] = "dtype"; +static const char __pyx_k_enter[] = "__enter__"; +static const char __pyx_k_files[] = "files"; +static const char __pyx_k_flags[] = "flags"; +static const char __pyx_k_flush[] = "flush"; +static const char __pyx_k_fsize[] = "fsize"; +static const char __pyx_k_ftell[] = "ftell: {}"; +static const char __pyx_k_index[] = "index"; +static const char __pyx_k_iters[] = "iters"; +static const char __pyx_k_modes[] = "modes"; +static const char __pyx_k_numpy[] = "numpy"; +static const char __pyx_k_print[] = "print"; +static const char __pyx_k_pybuf[] = "pybuf"; +static const char __pyx_k_pyfid[] = "pyfid"; +static const char __pyx_k_range[] = "range"; +static const char __pyx_k_start[] = "start"; +static const char __pyx_k_uint8[] = "uint8"; +static const char __pyx_k_write[] = "write"; +static const char __pyx_k_zeros[] = "zeros"; +static const char __pyx_k_Thread[] = "Thread"; +static const char __pyx_k_arange[] = "arange"; +static const char __pyx_k_buffer[] = "buffer"; +static const char __pyx_k_concat[] = "concat"; +static const char __pyx_k_encode[] = "encode"; +static const char __pyx_k_exists[] = "exists"; +static const char __pyx_k_expval[] = "expval"; +static const char __pyx_k_fileno[] = "fileno"; +static const char __pyx_k_format[] = "format"; +static const char __pyx_k_import[] = "__import__"; +static const char __pyx_k_index1[] = "index1"; +static const char __pyx_k_index2[] = "index2"; +static const char __pyx_k_kwargs[] = "kwargs"; +static const char __pyx_k_nbytes[] = "nbytes: {}"; +static const char __pyx_k_nelems[] = "nelems: {}"; +static const char __pyx_k_niters[] = "niters"; +static const char __pyx_k_no_fds[] = "no_fds"; +static const char __pyx_k_output[] = "output"; +static const char __pyx_k_padoff[] = "padoff"; +static const char __pyx_k_random[] = "random"; +static const char __pyx_k_reduce[] = "__reduce__"; +static const char __pyx_k_remove[] = "remove"; +static const char __pyx_k_result[] = "result"; +static const char __pyx_k_seek_2[] = "seek: {}"; +static const char __pyx_k_shutil[] = "shutil"; +static const char __pyx_k_target[] = "target"; +static const char __pyx_k_tell_2[] = "tell: {}"; +static const char __pyx_k_uint32[] = "uint32"; +static const char __pyx_k_uint64[] = "uint64"; +static const char __pyx_k_BytesIO[] = "BytesIO"; +static const char __pyx_k_bufSize[] = "bufSize"; +static const char __pyx_k_bufsize[] = "bufsize"; +static const char __pyx_k_cidxfid[] = "cidxfid"; +static const char __pyx_k_cmpdata[] = "cmpdata"; +static const char __pyx_k_curelem[] = "curelem"; +static const char __pyx_k_data_gz[] = "data.gz"; +static const char __pyx_k_element[] = "element: {}"; +static const char __pyx_k_expread[] = "expread: {}"; +static const char __pyx_k_expseek[] = "expseek: {}"; +static const char __pyx_k_exptell[] = "exptell: {}"; +static const char __pyx_k_gotread[] = "gotread: {}"; +static const char __pyx_k_gotseek[] = "gotseek: {}"; +static const char __pyx_k_gottell[] = "gottell: {}"; +static const char __pyx_k_hashlib[] = "hashlib"; +static const char __pyx_k_idx_tmp[] = ".idx.tmp"; +static const char __pyx_k_initmem[] = "initmem"; +static const char __pyx_k_mkstemp[] = "mkstemp"; +static const char __pyx_k_nelemsp[] = "nelemsp"; +static const char __pyx_k_os_path[] = "os.path"; +static const char __pyx_k_padding[] = "padding"; +static const char __pyx_k_product[] = "product"; +static const char __pyx_k_randint[] = "randint"; +static const char __pyx_k_seekloc[] = "seekloc"; +static const char __pyx_k_sp_size[] = "{} != {} [sp={}, size={}]"; +static const char __pyx_k_spacing[] = "spacing"; +static const char __pyx_k_st_size[] = "st_size"; +static const char __pyx_k_tempdir[] = "tempdir"; +static const char __pyx_k_test_gz[] = "test.gz"; +static const char __pyx_k_tobytes[] = "tobytes"; +static const char __pyx_k_towrite[] = "towrite"; +static const char __pyx_k_bufsizes[] = "bufsizes"; +static const char __pyx_k_dummy_gz[] = "dummy.gz"; +static const char __pyx_k_error_fn[] = "error_fn"; +static const char __pyx_k_expected[] = "expected"; +static const char __pyx_k_filename[] = "filename"; +static const char __pyx_k_filesize[] = "filesize"; +static const char __pyx_k_getstate[] = "__getstate__"; +static const char __pyx_k_is_alive[] = "is_alive"; +static const char __pyx_k_nbytes_2[] = "nbytes"; +static const char __pyx_k_nelems_2[] = "nelems"; +static const char __pyx_k_pyidxfid[] = "pyidxfid"; +static const char __pyx_k_resource[] = "resource"; +static const char __pyx_k_seekable[] = "seekable"; +static const char __pyx_k_seekelem[] = "seekelem: {}"; +static const char __pyx_k_seekstep[] = "seekstep"; +static const char __pyx_k_setstate[] = "__setstate__"; +static const char __pyx_k_spacings[] = "spacings"; +static const char __pyx_k_strmoffs[] = "strmoffs"; +static const char __pyx_k_tempfile[] = "tempfile"; +static const char __pyx_k_testfile[] = "testfile"; +static const char __pyx_k_tostring[] = "tostring"; +static const char __pyx_k_use_mmap[] = "use_mmap"; +static const char __pyx_k_TypeError[] = "TypeError"; +static const char __pyx_k_enumerate[] = "enumerate"; +static const char __pyx_k_expread_2[] = "expread"; +static const char __pyx_k_expseek_2[] = "expseek"; +static const char __pyx_k_exptell_2[] = "exptell"; +static const char __pyx_k_getrusage[] = "getrusage"; +static const char __pyx_k_gotread_2[] = "gotread"; +static const char __pyx_k_gottell_2[] = "gottell"; +static const char __pyx_k_itertools[] = "itertools"; +static const char __pyx_k_mmap_fail[] = "mmap fail"; +static const char __pyx_k_readelems[] = "readelems: {}"; +static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; +static const char __pyx_k_return_fn[] = "return_fn"; +static const char __pyx_k_ru_maxrss[] = "ru_maxrss"; +static const char __pyx_k_seekelems[] = "seekelems"; +static const char __pyx_k_should_be[] = " should be: {}"; +static const char __pyx_k_test_feof[] = "test_feof"; +static const char __pyx_k_test_getc[] = "test_getc"; +static const char __pyx_k_test_init[] = "test_init"; +static const char __pyx_k_threading[] = "threading"; +static const char __pyx_k_zran_init[] = "_zran_init"; +static const char __pyx_k_ReadBuffer[] = "ReadBuffer"; +static const char __pyx_k_ValueError[] = "ValueError"; +static const char __pyx_k_contextlib[] = "contextlib"; +static const char __pyx_k_elems_read[] = "elems_read"; +static const char __pyx_k_frombuffer[] = "frombuffer"; +static const char __pyx_k_seek_point[] = "seek_point"; +static const char __pyx_k_seekpoints[] = "seekpoints"; +static const char __pyx_k_shouldpass[] = "shouldpass"; +static const char __pyx_k_subprocess[] = "subprocess"; +static const char __pyx_k_test_fread[] = "test_fread"; +static const char __pyx_k_test_fseek[] = "test_fseek"; +static const char __pyx_k_test_ftell[] = "test_ftell"; +static const char __pyx_k_windowSize[] = "windowSize"; +static const char __pyx_k_ImportError[] = "ImportError"; +static const char __pyx_k_MemoryError[] = "MemoryError"; +static const char __pyx_k_RUSAGE_SELF[] = "RUSAGE_SELF"; +static const char __pyx_k_concatenate[] = "concatenate"; +static const char __pyx_k_expect_read[] = "expect_read"; +static const char __pyx_k_expect_seek[] = "expect_seek"; +static const char __pyx_k_pyexportfid[] = "pyexportfid"; +static const char __pyx_k_readbufSize[] = "readbufSize"; +static const char __pyx_k_readelems_2[] = "readelems"; +static const char __pyx_k_seek_points[] = "seek_points"; +static const char __pyx_k_test_ferror[] = "test_ferror"; +static const char __pyx_k_test_fflush[] = "test_fflush"; +static const char __pyx_k_test_fwrite[] = "test_fwrite"; +static const char __pyx_k_0_2f_seconds[] = "{:0.2f} seconds"; +static const char __pyx_k_RuntimeError[] = "RuntimeError"; +static const char __pyx_k_expect_build[] = "expect_build"; +static const char __pyx_k_indexSpacing[] = "indexSpacing"; +static const char __pyx_k_readbuf_mmap[] = "readbuf_mmap_{}"; +static const char __pyx_k_readbuf_size[] = "readbuf_size"; +static const char __pyx_k_return_value[] = "return_value"; +static const char __pyx_k_version_info[] = "version_info"; +static const char __pyx_k_window_sizes[] = "window_sizes"; +static const char __pyx_k_data_gz_index[] = "data.gz.index"; +static const char __pyx_k_elems_written[] = "elems_written"; +static const char __pyx_k_paddedcmpdata[] = "paddedcmpdata"; +static const char __pyx_k_readbuf_sizes[] = "readbuf_sizes"; +static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; +static const char __pyx_k_run_crc_tests[] = "_run_crc_tests"; +static const char __pyx_k_test_read_all[] = "test_read_all"; +static const char __pyx_k_test_seek_cur[] = "test_seek_cur"; +static const char __pyx_k_test_seek_end[] = "test_seek_end"; +static const char __pyx_k_test_seekable[] = "test_seekable"; +static const char __pyx_k_compress_inmem[] = "compress_inmem"; +static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; +static const char __pyx_k_spacing_bufsize[] = "{} / {}: spacing={}, bufsize={} ... "; +static const char __pyx_k_Error_at_point_d[] = "Error at point %d"; +static const char __pyx_k_check_data_valid[] = "check_data_valid"; +static const char __pyx_k_test_random_seek[] = "test_random_seek"; +static const char __pyx_k_test_seek_to_end[] = "test_seek_to_end"; +static const char __pyx_k_PyMem_Realloc_fail[] = "PyMem_Realloc fail"; +static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; +static const char __pyx_k_test_no_auto_build[] = "test_no_auto_build"; +static const char __pyx_k_NotImplementedError[] = "NotImplementedError"; +static const char __pyx_k_test_crc_validation[] = "test_crc_validation"; +static const char __pyx_k_ReadBuffer_init_fail[] = "ReadBuffer init fail"; +static const char __pyx_k_test_build_then_read[] = "test_build_then_read"; +static const char __pyx_k_test_init_file_modes[] = "test_init_file_modes"; +static const char __pyx_k_test_seek_beyond_end[] = "test_seek_beyond_end"; +static const char __pyx_k_cinit___locals_lambda[] = "__cinit__.."; +static const char __pyx_k_reading_elements_from[] = "{} / {}: reading {} elements from {} ... "; +static const char __pyx_k_Memory_mapping_0_2f_GB[] = "Memory-mapping {:0.2f} GB ({})"; +static const char __pyx_k_cinit___locals_initmem[] = "__cinit__..initmem"; +static const char __pyx_k_return_fn_locals_lambda[] = "return_fn.."; +static const char __pyx_k_test_export_then_import[] = "test_export_then_import"; +static const char __pyx_k_test_read_all_sequential[] = "test_read_all_sequential"; +static const char __pyx_k_Padding_streams_orig_size[] = "Padding streams [orig size: {}] ..."; +static const char __pyx_k_test_random_seek_and_read[] = "test_random_seek_and_read"; +static const char __pyx_k_test_seek_then_read_block[] = "test_seek_then_read_block"; +static const char __pyx_k_test_readbuf_spacing_sizes[] = "test_readbuf_spacing_sizes"; +static const char __pyx_k_test_seekable_locals_lambda[] = "test_seekable.."; +static const char __pyx_k_test_sequential_seek_to_end[] = "test_sequential_seek_to_end"; +static const char __pyx_k_test_export_import_format_v0[] = "test_export_import_format_v0"; +static const char __pyx_k_test_export_import_no_points[] = "test_export_import_no_points"; +static const char __pyx_k_indexed_gzip_tests_ctest_zran[] = "indexed_gzip.tests.ctest_zran"; +static const char __pyx_k_test_inflateInit_leak_on_error[] = "test_inflateInit_leak_on_error"; +static const char __pyx_k_Cannot_resize_a_memmapped_array[] = "Cannot resize a memmapped array!"; +static const char __pyx_k_Copied_stream_from_to_padding_b[] = " Copied stream from [{} - {}] to [{} - {}] ({} padding bytes)"; +static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; +static const char __pyx_k_test_crc_validation_locals__run[] = "test_crc_validation.._run_crc_tests"; +static const char __pyx_k_test_crc_validation_locals_wrap[] = "test_crc_validation..wrap"; +static const char __pyx_k_indexed_gzip_tests_ctest_zran_py[] = "indexed_gzip/tests/ctest_zran.pyx"; +static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__"; +static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; +static const char __pyx_k_test_crc_validation_locals__zran[] = "test_crc_validation.._zran_init"; +static const char __pyx_k_test_read_eof_memmove_rotate_bug[] = "test_read_eof_memmove_rotate_bug"; +static const char __pyx_k_test_standard_usage_with_null_pa[] = "test_standard_usage_with_null_padding.._zran_init"; +static const char __pyx_k_test_standard_usage_with_null_pa_2[] = "test_standard_usage_with_null_padding"; +static PyObject *__pyx_kp_s_0_2f_seconds; +static PyObject *__pyx_n_s_BytesIO; +static PyObject *__pyx_kp_s_Cannot_resize_a_memmapped_array; +static PyObject *__pyx_kp_s_Copied_stream_from_to_padding_b; +static PyObject *__pyx_n_s_Error; +static PyObject *__pyx_kp_s_Error_at_point_d; +static PyObject *__pyx_kp_b_GZIDX; +static PyObject *__pyx_n_s_ImportError; +static PyObject *__pyx_n_s_MemoryError; +static PyObject *__pyx_kp_s_Memory_mapping_0_2f_GB; +static PyObject *__pyx_n_s_NotImplementedError; +static PyObject *__pyx_kp_s_Padding_streams_orig_size; +static PyObject *__pyx_kp_s_PyMem_Realloc_fail; +static PyObject *__pyx_n_s_RUSAGE_SELF; +static PyObject *__pyx_n_s_ReadBuffer; +static PyObject *__pyx_kp_s_ReadBuffer_init_fail; +static PyObject *__pyx_n_s_RuntimeError; +static PyObject *__pyx_n_s_Thread; +static PyObject *__pyx_n_s_TypeError; +static PyObject *__pyx_n_s_ValueError; +static PyObject *__pyx_kp_s__30; +static PyObject *__pyx_kp_s__35; +static PyObject *__pyx_n_s__73; +static PyObject *__pyx_n_s_a; +static PyObject *__pyx_kp_s_a_2; +static PyObject *__pyx_n_b_abc; +static PyObject *__pyx_n_s_all; +static PyObject *__pyx_n_s_arange; +static PyObject *__pyx_n_s_args; +static PyObject *__pyx_n_s_bmode; +static PyObject *__pyx_n_s_buf; +static PyObject *__pyx_n_s_bufSize; +static PyObject *__pyx_n_s_buffer; +static PyObject *__pyx_n_s_bufsize; +static PyObject *__pyx_n_s_bufsizes; +static PyObject *__pyx_n_s_cfid; +static PyObject *__pyx_n_s_check_data_valid; +static PyObject *__pyx_n_s_cidxfid; +static PyObject *__pyx_n_s_cinit___locals_initmem; +static PyObject *__pyx_n_s_cinit___locals_lambda; +static PyObject *__pyx_n_s_cline_in_traceback; +static PyObject *__pyx_n_s_close; +static PyObject *__pyx_n_s_cmode; +static PyObject *__pyx_n_s_cmpdata; +static PyObject *__pyx_n_s_compress_inmem; +static PyObject *__pyx_n_s_concat; +static PyObject *__pyx_n_s_concatenate; +static PyObject *__pyx_n_s_contextlib; +static PyObject *__pyx_n_s_curelem; +static PyObject *__pyx_n_s_data; +static PyObject *__pyx_kp_s_data_gz; +static PyObject *__pyx_kp_s_data_gz_index; +static PyObject *__pyx_n_b_dbc; +static PyObject *__pyx_n_b_dec; +static PyObject *__pyx_n_s_dsize; +static PyObject *__pyx_n_s_dtype; +static PyObject *__pyx_kp_s_dummy_gz; +static PyObject *__pyx_kp_s_element; +static PyObject *__pyx_n_s_elems_read; +static PyObject *__pyx_n_s_elems_written; +static PyObject *__pyx_n_s_encode; +static PyObject *__pyx_n_s_end; +static PyObject *__pyx_n_s_enter; +static PyObject *__pyx_n_s_enumerate; +static PyObject *__pyx_n_s_eof; +static PyObject *__pyx_n_s_error_fn; +static PyObject *__pyx_n_s_exists; +static PyObject *__pyx_n_s_exit; +static PyObject *__pyx_n_s_exp; +static PyObject *__pyx_n_s_expect_build; +static PyObject *__pyx_n_s_expect_read; +static PyObject *__pyx_n_s_expect_seek; +static PyObject *__pyx_n_s_expected; +static PyObject *__pyx_kp_s_expread; +static PyObject *__pyx_n_s_expread_2; +static PyObject *__pyx_kp_s_expseek; +static PyObject *__pyx_n_s_expseek_2; +static PyObject *__pyx_kp_s_exptell; +static PyObject *__pyx_n_s_exptell_2; +static PyObject *__pyx_n_s_expval; +static PyObject *__pyx_n_s_f; +static PyObject *__pyx_n_s_filename; +static PyObject *__pyx_n_s_fileno; +static PyObject *__pyx_n_s_files; +static PyObject *__pyx_n_s_filesize; +static PyObject *__pyx_n_s_flag; +static PyObject *__pyx_n_s_flags; +static PyObject *__pyx_n_s_flush; +static PyObject *__pyx_n_s_fn; +static PyObject *__pyx_n_s_format; +static PyObject *__pyx_n_s_frombuffer; +static PyObject *__pyx_n_s_fsize; +static PyObject *__pyx_kp_s_ftell; +static PyObject *__pyx_n_s_getrusage; +static PyObject *__pyx_n_s_getstate; +static PyObject *__pyx_n_s_got; +static PyObject *__pyx_kp_s_gotread; +static PyObject *__pyx_n_s_gotread_2; +static PyObject *__pyx_kp_s_gotseek; +static PyObject *__pyx_kp_s_gottell; +static PyObject *__pyx_n_s_gottell_2; +static PyObject *__pyx_n_s_gzip; +static PyObject *__pyx_n_s_hashlib; +static PyObject *__pyx_n_s_i; +static PyObject *__pyx_n_s_id; +static PyObject *__pyx_kp_s_idx_tmp; +static PyObject *__pyx_n_s_import; +static PyObject *__pyx_n_s_index; +static PyObject *__pyx_n_s_index1; +static PyObject *__pyx_n_s_index2; +static PyObject *__pyx_n_s_indexSpacing; +static PyObject *__pyx_n_s_indexed_gzip_tests_ctest_zran; +static PyObject *__pyx_kp_s_indexed_gzip_tests_ctest_zran_py; +static PyObject *__pyx_n_s_initmem; +static PyObject *__pyx_n_s_inp; +static PyObject *__pyx_n_s_io; +static PyObject *__pyx_n_s_is_alive; +static PyObject *__pyx_n_s_it; +static PyObject *__pyx_n_s_iters; +static PyObject *__pyx_n_s_itertools; +static PyObject *__pyx_n_s_kwargs; +static PyObject *__pyx_n_s_last; +static PyObject *__pyx_n_s_main; +static PyObject *__pyx_n_s_mem; +static PyObject *__pyx_n_s_mkstemp; +static PyObject *__pyx_kp_s_mmap_fail; +static PyObject *__pyx_n_s_mode; +static PyObject *__pyx_n_s_modes; +static PyObject *__pyx_n_s_name; +static PyObject *__pyx_kp_s_nbytes; +static PyObject *__pyx_n_s_nbytes_2; +static PyObject *__pyx_kp_s_nelems; +static PyObject *__pyx_n_s_nelems_2; +static PyObject *__pyx_n_s_nelemsp; +static PyObject *__pyx_n_s_niters; +static PyObject *__pyx_kp_s_no_default___reduce___due_to_non; +static PyObject *__pyx_n_s_no_fds; +static PyObject *__pyx_n_s_np; +static PyObject *__pyx_n_s_numpy; +static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; +static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; +static PyObject *__pyx_n_s_off; +static PyObject *__pyx_n_s_op; +static PyObject *__pyx_n_s_open; +static PyObject *__pyx_n_s_os; +static PyObject *__pyx_n_s_os_path; +static PyObject *__pyx_n_s_out; +static PyObject *__pyx_n_s_output; +static PyObject *__pyx_n_s_pad; +static PyObject *__pyx_n_s_paddedcmpdata; +static PyObject *__pyx_n_s_padding; +static PyObject *__pyx_n_s_padoff; +static PyObject *__pyx_n_s_poll; +static PyObject *__pyx_n_s_print; +static PyObject *__pyx_n_s_product; +static PyObject *__pyx_n_s_pybuf; +static PyObject *__pyx_n_s_pyexportfid; +static PyObject *__pyx_n_s_pyfid; +static PyObject *__pyx_n_s_pyidxfid; +static PyObject *__pyx_n_s_r; +static PyObject *__pyx_kp_s_r_2; +static PyObject *__pyx_n_s_randint; +static PyObject *__pyx_n_s_random; +static PyObject *__pyx_n_s_range; +static PyObject *__pyx_n_s_rb; +static PyObject *__pyx_n_s_read; +static PyObject *__pyx_n_s_readbufSize; +static PyObject *__pyx_kp_s_readbuf_mmap; +static PyObject *__pyx_n_s_readbuf_size; +static PyObject *__pyx_n_s_readbuf_sizes; +static PyObject *__pyx_kp_s_readelems; +static PyObject *__pyx_n_s_readelems_2; +static PyObject *__pyx_kp_s_reading_elements_from; +static PyObject *__pyx_n_s_reduce; +static PyObject *__pyx_n_s_reduce_cython; +static PyObject *__pyx_n_s_reduce_ex; +static PyObject *__pyx_n_s_remove; +static PyObject *__pyx_n_s_resource; +static PyObject *__pyx_n_s_result; +static PyObject *__pyx_n_s_ret; +static PyObject *__pyx_n_s_return_fn; +static PyObject *__pyx_n_s_return_fn_locals_lambda; +static PyObject *__pyx_n_s_return_value; +static PyObject *__pyx_n_s_ru_maxrss; +static PyObject *__pyx_n_s_run_crc_tests; +static PyObject *__pyx_n_s_s; +static PyObject *__pyx_n_s_sbi; +static PyObject *__pyx_n_s_se; +static PyObject *__pyx_n_s_seed; +static PyObject *__pyx_n_s_seek; +static PyObject *__pyx_kp_s_seek_2; +static PyObject *__pyx_n_s_seek_point; +static PyObject *__pyx_n_s_seek_points; +static PyObject *__pyx_n_s_seekable; +static PyObject *__pyx_kp_s_seekelem; +static PyObject *__pyx_n_s_seekelems; +static PyObject *__pyx_n_s_seekloc; +static PyObject *__pyx_n_s_seekpoints; +static PyObject *__pyx_n_s_seekstep; +static PyObject *__pyx_n_s_setstate; +static PyObject *__pyx_n_s_setstate_cython; +static PyObject *__pyx_kp_s_should_be; +static PyObject *__pyx_n_s_shouldpass; +static PyObject *__pyx_n_s_shutil; +static PyObject *__pyx_n_s_size; +static PyObject *__pyx_n_s_sort; +static PyObject *__pyx_n_s_sp; +static PyObject *__pyx_kp_s_sp_size; +static PyObject *__pyx_n_s_spacing; +static PyObject *__pyx_kp_s_spacing_bufsize; +static PyObject *__pyx_n_s_spacings; +static PyObject *__pyx_n_s_st_size; +static PyObject *__pyx_n_s_start; +static PyObject *__pyx_n_s_stat; +static PyObject *__pyx_n_s_strm; +static PyObject *__pyx_n_s_strmoffs; +static PyObject *__pyx_n_s_subprocess; +static PyObject *__pyx_n_s_sum; +static PyObject *__pyx_n_s_sys; +static PyObject *__pyx_n_s_target; +static PyObject *__pyx_n_s_tell; +static PyObject *__pyx_kp_s_tell_2; +static PyObject *__pyx_n_s_tempdir; +static PyObject *__pyx_n_s_tempfile; +static PyObject *__pyx_n_s_test; +static PyObject *__pyx_n_s_test_build_then_read; +static PyObject *__pyx_n_s_test_crc_validation; +static PyObject *__pyx_n_s_test_crc_validation_locals__run; +static PyObject *__pyx_n_s_test_crc_validation_locals__zran; +static PyObject *__pyx_n_s_test_crc_validation_locals_wrap; +static PyObject *__pyx_n_s_test_export_import_format_v0; +static PyObject *__pyx_n_s_test_export_import_no_points; +static PyObject *__pyx_n_s_test_export_then_import; +static PyObject *__pyx_n_s_test_feof; +static PyObject *__pyx_n_s_test_ferror; +static PyObject *__pyx_n_s_test_fflush; +static PyObject *__pyx_n_s_test_fread; +static PyObject *__pyx_n_s_test_fseek; +static PyObject *__pyx_n_s_test_ftell; +static PyObject *__pyx_n_s_test_fwrite; +static PyObject *__pyx_n_s_test_getc; +static PyObject *__pyx_kp_s_test_gz; +static PyObject *__pyx_n_s_test_inflateInit_leak_on_error; +static PyObject *__pyx_n_s_test_init; +static PyObject *__pyx_n_s_test_init_file_modes; +static PyObject *__pyx_n_s_test_no_auto_build; +static PyObject *__pyx_n_s_test_random_seek; +static PyObject *__pyx_n_s_test_random_seek_and_read; +static PyObject *__pyx_n_s_test_read_all; +static PyObject *__pyx_n_s_test_read_all_sequential; +static PyObject *__pyx_n_s_test_read_eof_memmove_rotate_bug; +static PyObject *__pyx_n_s_test_readbuf_spacing_sizes; +static PyObject *__pyx_n_s_test_seek_beyond_end; +static PyObject *__pyx_n_s_test_seek_cur; +static PyObject *__pyx_n_s_test_seek_end; +static PyObject *__pyx_n_s_test_seek_then_read_block; +static PyObject *__pyx_n_s_test_seek_to_end; +static PyObject *__pyx_n_s_test_seekable; +static PyObject *__pyx_n_s_test_seekable_locals_lambda; +static PyObject *__pyx_n_s_test_sequential_seek_to_end; +static PyObject *__pyx_n_s_test_standard_usage_with_null_pa; +static PyObject *__pyx_n_s_test_standard_usage_with_null_pa_2; +static PyObject *__pyx_n_s_testfile; +static PyObject *__pyx_n_s_threading; +static PyObject *__pyx_n_s_time; +static PyObject *__pyx_n_s_tobytes; +static PyObject *__pyx_n_s_tostring; +static PyObject *__pyx_n_s_towrite; +static PyObject *__pyx_n_s_uint32; +static PyObject *__pyx_n_s_uint64; +static PyObject *__pyx_n_s_uint8; +static PyObject *__pyx_n_s_use_mmap; +static PyObject *__pyx_n_s_val; +static PyObject *__pyx_n_s_version_info; +static PyObject *__pyx_n_s_w; +static PyObject *__pyx_kp_s_w_2; +static PyObject *__pyx_n_s_wb; +static PyObject *__pyx_n_s_windowSize; +static PyObject *__pyx_n_s_window_sizes; +static PyObject *__pyx_n_s_wrap; +static PyObject *__pyx_n_s_write; +static PyObject *__pyx_kp_s_x_x; +static PyObject *__pyx_n_s_zeros; +static PyObject *__pyx_n_s_zip; +static PyObject *__pyx_n_s_zran_init; +static PyObject *__pyx_n_s_zs; +static PyObject *__pyx_n_s_zt; +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___initmem(PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self); /* proto */ +static int __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer___cinit__(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, size_t __pyx_v_size, PyObject *__pyx_v_use_mmap); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, size_t __pyx_v_size); /* proto */ +static void __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_4__dealloc__(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_error_fn(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_2return_fn(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_return_value); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_4test_fread(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_6test_ftell(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_8test_fseek(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10test_feof(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_12test_ferror(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_14test_fflush(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_16test_fwrite(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_18test_getc(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_lambda_funcdef_lambda2(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_20test_seekable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_22test_init(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_24test_init_file_modes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_26test_no_auto_build(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_28test_seek_to_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_30test_seek_cur(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_32test_seek_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_34test_seek_beyond_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_36test_sequential_seek_to_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_38test_random_seek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_40test_read_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_42test_seek_then_read_block(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_use_mmap); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_44test_random_seek_and_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_46test_read_all_sequential(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_48test_build_then_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_use_mmap); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_50test_readbuf_spacing_sizes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_no_fds); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(PyObject *__pyx_self, PyObject *__pyx_v_flags); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_66__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(PyObject *__pyx_self, PyObject *__pyx_v_shouldpass, PyObject *__pyx_v_flags); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_64test_read_eof_memmove_rotate_bug(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ +static PyObject *__pyx_float_8_; +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_3; +static PyObject *__pyx_int_4; +static PyObject *__pyx_int_5; +static PyObject *__pyx_int_8; +static PyObject *__pyx_int_10; +static PyObject *__pyx_int_100; +static PyObject *__pyx_int_255; +static PyObject *__pyx_int_500; +static PyObject *__pyx_int_1000; +static PyObject *__pyx_int_1500; +static PyObject *__pyx_int_2000; +static PyObject *__pyx_int_5000; +static PyObject *__pyx_int_8192; +static PyObject *__pyx_int_10000; +static PyObject *__pyx_int_16384; +static PyObject *__pyx_int_24576; +static PyObject *__pyx_int_32768; +static PyObject *__pyx_int_65536; +static PyObject *__pyx_int_131072; +static PyObject *__pyx_int_262144; +static PyObject *__pyx_int_524288; +static PyObject *__pyx_int_525000; +static PyObject *__pyx_int_1000000; +static PyObject *__pyx_int_1048575; +static PyObject *__pyx_int_1048576; +static PyObject *__pyx_int_1048577; +static PyObject *__pyx_int_2097152; +static PyObject *__pyx_int_4194304; +static PyObject *__pyx_int_8388608; +static PyObject *__pyx_int_10485760; +static PyObject *__pyx_tuple_; +static PyObject *__pyx_tuple__2; +static PyObject *__pyx_tuple__4; +static PyObject *__pyx_tuple__5; +static PyObject *__pyx_tuple__6; +static PyObject *__pyx_tuple__7; +static PyObject *__pyx_tuple__8; +static PyObject *__pyx_tuple__9; +static PyObject *__pyx_slice__59; +static PyObject *__pyx_slice__66; +static PyObject *__pyx_tuple__11; +static PyObject *__pyx_tuple__23; +static PyObject *__pyx_tuple__42; +static PyObject *__pyx_tuple__43; +static PyObject *__pyx_tuple__44; +static PyObject *__pyx_tuple__45; +static PyObject *__pyx_tuple__46; +static PyObject *__pyx_tuple__47; +static PyObject *__pyx_tuple__49; +static PyObject *__pyx_tuple__51; +static PyObject *__pyx_tuple__53; +static PyObject *__pyx_tuple__55; +static PyObject *__pyx_tuple__57; +static PyObject *__pyx_tuple__58; +static PyObject *__pyx_tuple__63; +static PyObject *__pyx_tuple__64; +static PyObject *__pyx_tuple__65; +static PyObject *__pyx_tuple__68; +static PyObject *__pyx_tuple__69; +static PyObject *__pyx_tuple__70; +static PyObject *__pyx_tuple__71; +static PyObject *__pyx_tuple__72; +static PyObject *__pyx_tuple__74; +static PyObject *__pyx_tuple__75; +static PyObject *__pyx_tuple__76; +static PyObject *__pyx_tuple__77; +static PyObject *__pyx_tuple__78; +static PyObject *__pyx_tuple__79; +static PyObject *__pyx_tuple__80; +static PyObject *__pyx_tuple__81; +static PyObject *__pyx_tuple__82; +static PyObject *__pyx_tuple__83; +static PyObject *__pyx_tuple__84; +static PyObject *__pyx_tuple__85; +static PyObject *__pyx_tuple__86; +static PyObject *__pyx_tuple__87; +static PyObject *__pyx_tuple__88; +static PyObject *__pyx_tuple__89; +static PyObject *__pyx_tuple__90; +static PyObject *__pyx_tuple__91; +static PyObject *__pyx_tuple__92; +static PyObject *__pyx_tuple__93; +static PyObject *__pyx_tuple__94; +static PyObject *__pyx_tuple__95; +static PyObject *__pyx_tuple__96; +static PyObject *__pyx_tuple__97; +static PyObject *__pyx_tuple__98; +static PyObject *__pyx_tuple__99; +static PyObject *__pyx_codeobj__3; +static PyObject *__pyx_tuple__100; +static PyObject *__pyx_tuple__101; +static PyObject *__pyx_tuple__102; +static PyObject *__pyx_tuple__103; +static PyObject *__pyx_tuple__104; +static PyObject *__pyx_tuple__105; +static PyObject *__pyx_tuple__106; +static PyObject *__pyx_codeobj__10; +static PyObject *__pyx_codeobj__12; +static PyObject *__pyx_codeobj__13; +static PyObject *__pyx_codeobj__14; +static PyObject *__pyx_codeobj__15; +static PyObject *__pyx_codeobj__16; +static PyObject *__pyx_codeobj__17; +static PyObject *__pyx_codeobj__18; +static PyObject *__pyx_codeobj__19; +static PyObject *__pyx_codeobj__20; +static PyObject *__pyx_codeobj__21; +static PyObject *__pyx_codeobj__22; +static PyObject *__pyx_codeobj__24; +static PyObject *__pyx_codeobj__25; +static PyObject *__pyx_codeobj__26; +static PyObject *__pyx_codeobj__27; +static PyObject *__pyx_codeobj__28; +static PyObject *__pyx_codeobj__29; +static PyObject *__pyx_codeobj__31; +static PyObject *__pyx_codeobj__32; +static PyObject *__pyx_codeobj__33; +static PyObject *__pyx_codeobj__34; +static PyObject *__pyx_codeobj__36; +static PyObject *__pyx_codeobj__37; +static PyObject *__pyx_codeobj__38; +static PyObject *__pyx_codeobj__39; +static PyObject *__pyx_codeobj__40; +static PyObject *__pyx_codeobj__41; +static PyObject *__pyx_codeobj__48; +static PyObject *__pyx_codeobj__50; +static PyObject *__pyx_codeobj__52; +static PyObject *__pyx_codeobj__54; +static PyObject *__pyx_codeobj__56; +static PyObject *__pyx_codeobj__60; +static PyObject *__pyx_codeobj__61; +static PyObject *__pyx_codeobj__62; +static PyObject *__pyx_codeobj__67; +/* Late includes */ + +/* "indexed_gzip/tests/ctest_zran.pyx":77 + * np.import_array() + * + * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): # <<<<<<<<<<<<<< + * + * cdef void *buffer + */ + +static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element(zran_index_t *__pyx_v_index, PyObject *__pyx_v_element, PyObject *__pyx_v_nelems, struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element *__pyx_optional_args) { + PyObject *__pyx_v_seek = ((PyObject *)Py_True); + void *__pyx_v_buffer; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; + int __pyx_v_expseek; + PyObject *__pyx_v_exptell = NULL; + int __pyx_v_gotseek; + uint64_t __pyx_v_gottell; + long __pyx_v_expread; + int64_t __pyx_v_gotread; + PyObject *__pyx_v_pybuf = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + void *__pyx_t_2; + int __pyx_t_3; + int64_t __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("read_element", 0); + __Pyx_TraceCall("read_element", __pyx_f[0], 77, 0, __PYX_ERR(0, 77, __pyx_L1_error)); + if (__pyx_optional_args) { + if (__pyx_optional_args->__pyx_n > 0) { + __pyx_v_seek = __pyx_optional_args->seek; + } + } + + /* "indexed_gzip/tests/ctest_zran.pyx":81 + * cdef void *buffer + * + * buf = ReadBuffer(8) # <<<<<<<<<<<<<< + * buffer = buf.buffer + * + */ + __Pyx_TraceLine(81,0,__PYX_ERR(0, 81, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":82 + * + * buf = ReadBuffer(8) + * buffer = buf.buffer # <<<<<<<<<<<<<< + * + * if element >= nelems: expseek = zran.ZRAN_SEEK_EOF + */ + __Pyx_TraceLine(82,0,__PYX_ERR(0, 82, __pyx_L1_error)) + __pyx_t_2 = __pyx_v_buf->buffer; + __pyx_v_buffer = __pyx_t_2; + + /* "indexed_gzip/tests/ctest_zran.pyx":84 + * buffer = buf.buffer + * + * if element >= nelems: expseek = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< + * else: expseek = zran.ZRAN_SEEK_OK + * + */ + __Pyx_TraceLine(84,0,__PYX_ERR(0, 84, __pyx_L1_error)) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 84, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_3) { + __pyx_v_expseek = ZRAN_SEEK_EOF; + goto __pyx_L3; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":85 + * + * if element >= nelems: expseek = zran.ZRAN_SEEK_EOF + * else: expseek = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * + * if element >= nelems: exptell = (nelems * 8) + */ + __Pyx_TraceLine(85,0,__PYX_ERR(0, 85, __pyx_L1_error)) + /*else*/ { + __pyx_v_expseek = ZRAN_SEEK_OK; + } + __pyx_L3:; + + /* "indexed_gzip/tests/ctest_zran.pyx":87 + * else: expseek = zran.ZRAN_SEEK_OK + * + * if element >= nelems: exptell = (nelems * 8) # <<<<<<<<<<<<<< + * else: exptell = element * 8 + * + */ + __Pyx_TraceLine(87,0,__PYX_ERR(0, 87, __pyx_L1_error)) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_3) { + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_exptell = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L4; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":88 + * + * if element >= nelems: exptell = (nelems * 8) + * else: exptell = element * 8 # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(88,0,__PYX_ERR(0, 88, __pyx_L1_error)) + /*else*/ { + __pyx_t_1 = PyNumber_Multiply(__pyx_v_element, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_exptell = __pyx_t_1; + __pyx_t_1 = 0; + } + __pyx_L4:; + + /* "indexed_gzip/tests/ctest_zran.pyx":91 + * + * + * if seek: # <<<<<<<<<<<<<< + * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) + * gottell = zran.zran_tell(index) + */ + __Pyx_TraceLine(91,0,__PYX_ERR(0, 91, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_seek); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 91, __pyx_L1_error) + if (__pyx_t_3) { + + /* "indexed_gzip/tests/ctest_zran.pyx":92 + * + * if seek: + * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) # <<<<<<<<<<<<<< + * gottell = zran.zran_tell(index) + * try: + */ + __Pyx_TraceLine(92,0,__PYX_ERR(0, 92, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_element, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyInt_As_int64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 92, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_gotseek = zran_seek(__pyx_v_index, __pyx_t_4, SEEK_SET, NULL); + + /* "indexed_gzip/tests/ctest_zran.pyx":93 + * if seek: + * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) + * gottell = zran.zran_tell(index) # <<<<<<<<<<<<<< + * try: + * assert gotseek == expseek + */ + __Pyx_TraceLine(93,0,__PYX_ERR(0, 93, __pyx_L1_error)) + __pyx_v_gottell = zran_tell(__pyx_v_index); + + /* "indexed_gzip/tests/ctest_zran.pyx":94 + * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) + * gottell = zran.zran_tell(index) + * try: # <<<<<<<<<<<<<< + * assert gotseek == expseek + * assert gottell == exptell + */ + __Pyx_TraceLine(94,0,__PYX_ERR(0, 94, __pyx_L1_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":95 + * gottell = zran.zran_tell(index) + * try: + * assert gotseek == expseek # <<<<<<<<<<<<<< + * assert gottell == exptell + * except: + */ + __Pyx_TraceLine(95,0,__PYX_ERR(0, 95, __pyx_L6_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_gotseek == __pyx_v_expseek) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 95, __pyx_L6_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":96 + * try: + * assert gotseek == expseek + * assert gottell == exptell # <<<<<<<<<<<<<< + * except: + * print('expseek: {}'.format(expseek)) + */ + __Pyx_TraceLine(96,0,__PYX_ERR(0, 96, __pyx_L6_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L6_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_v_exptell, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 96, __pyx_L6_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 96, __pyx_L6_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_3)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 96, __pyx_L6_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":94 + * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) + * gottell = zran.zran_tell(index) + * try: # <<<<<<<<<<<<<< + * assert gotseek == expseek + * assert gottell == exptell + */ + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L11_try_end; + __pyx_L6_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":97 + * assert gotseek == expseek + * assert gottell == exptell + * except: # <<<<<<<<<<<<<< + * print('expseek: {}'.format(expseek)) + * print('exptell: {}'.format(exptell)) + */ + __Pyx_TraceLine(97,0,__PYX_ERR(0, 97, __pyx_L8_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_1, &__pyx_t_9) < 0) __PYX_ERR(0, 97, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_9); + + /* "indexed_gzip/tests/ctest_zran.pyx":98 + * assert gottell == exptell + * except: + * print('expseek: {}'.format(expseek)) # <<<<<<<<<<<<<< + * print('exptell: {}'.format(exptell)) + * print('gotseek: {}'.format(gotseek)) + */ + __Pyx_TraceLine(98,0,__PYX_ERR(0, 98, __pyx_L8_except_error)) + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_expseek, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 98, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_expseek); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 98, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_11, function); + } + } + __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 98, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 98, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":99 + * except: + * print('expseek: {}'.format(expseek)) + * print('exptell: {}'.format(exptell)) # <<<<<<<<<<<<<< + * print('gotseek: {}'.format(gotseek)) + * print('gottell: {}'.format(gottell)) + */ + __Pyx_TraceLine(99,0,__PYX_ERR(0, 99, __pyx_L8_except_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_exptell, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 99, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_exptell) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_exptell); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 99, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 99, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":100 + * print('expseek: {}'.format(expseek)) + * print('exptell: {}'.format(exptell)) + * print('gotseek: {}'.format(gotseek)) # <<<<<<<<<<<<<< + * print('gottell: {}'.format(gottell)) + * raise + */ + __Pyx_TraceLine(100,0,__PYX_ERR(0, 100, __pyx_L8_except_error)) + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gotseek, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 100, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_gotseek); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 100, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_11, function); + } + } + __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 100, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 100, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":101 + * print('exptell: {}'.format(exptell)) + * print('gotseek: {}'.format(gotseek)) + * print('gottell: {}'.format(gottell)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(101,0,__PYX_ERR(0, 101, __pyx_L8_except_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gottell, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 101, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 101, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 101, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 101, __pyx_L8_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":102 + * print('gotseek: {}'.format(gotseek)) + * print('gottell: {}'.format(gottell)) + * raise # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(102,0,__PYX_ERR(0, 102, __pyx_L8_except_error)) + __Pyx_GIVEREF(__pyx_t_8); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ErrRestoreWithState(__pyx_t_8, __pyx_t_1, __pyx_t_9); + __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_9 = 0; + __PYX_ERR(0, 102, __pyx_L8_except_error) + } + __pyx_L8_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":94 + * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) + * gottell = zran.zran_tell(index) + * try: # <<<<<<<<<<<<<< + * assert gotseek == expseek + * assert gottell == exptell + */ + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); + goto __pyx_L1_error; + __pyx_L11_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":91 + * + * + * if seek: # <<<<<<<<<<<<<< + * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) + * gottell = zran.zran_tell(index) + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":105 + * + * + * if element >= nelems: expread = zran.ZRAN_READ_EOF # <<<<<<<<<<<<<< + * else: expread = 8 + * + */ + __Pyx_TraceLine(105,0,__PYX_ERR(0, 105, __pyx_L1_error)) + __pyx_t_9 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 105, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 105, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_3) { + __pyx_v_expread = ZRAN_READ_EOF; + goto __pyx_L14; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":106 + * + * if element >= nelems: expread = zran.ZRAN_READ_EOF + * else: expread = 8 # <<<<<<<<<<<<<< + * + * if element >= nelems: exptell = (nelems * 8) + */ + __Pyx_TraceLine(106,0,__PYX_ERR(0, 106, __pyx_L1_error)) + /*else*/ { + __pyx_v_expread = 8; + } + __pyx_L14:; + + /* "indexed_gzip/tests/ctest_zran.pyx":108 + * else: expread = 8 + * + * if element >= nelems: exptell = (nelems * 8) # <<<<<<<<<<<<<< + * else: exptell = (element + 1) * 8 + * + */ + __Pyx_TraceLine(108,0,__PYX_ERR(0, 108, __pyx_L1_error)) + __pyx_t_9 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 108, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_3) { + __pyx_t_9 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF_SET(__pyx_v_exptell, __pyx_t_9); + __pyx_t_9 = 0; + goto __pyx_L15; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":109 + * + * if element >= nelems: exptell = (nelems * 8) + * else: exptell = (element + 1) * 8 # <<<<<<<<<<<<<< + * + * gotread = zran.zran_read(index, buffer, 8) + */ + __Pyx_TraceLine(109,0,__PYX_ERR(0, 109, __pyx_L1_error)) + /*else*/ { + __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_v_element, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 109, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = PyNumber_Multiply(__pyx_t_9, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF_SET(__pyx_v_exptell, __pyx_t_1); + __pyx_t_1 = 0; + } + __pyx_L15:; + + /* "indexed_gzip/tests/ctest_zran.pyx":111 + * else: exptell = (element + 1) * 8 + * + * gotread = zran.zran_read(index, buffer, 8) # <<<<<<<<<<<<<< + * gottell = zran.zran_tell(index) + * + */ + __Pyx_TraceLine(111,0,__PYX_ERR(0, 111, __pyx_L1_error)) + __pyx_v_gotread = zran_read(__pyx_v_index, __pyx_v_buffer, 8); + + /* "indexed_gzip/tests/ctest_zran.pyx":112 + * + * gotread = zran.zran_read(index, buffer, 8) + * gottell = zran.zran_tell(index) # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(112,0,__PYX_ERR(0, 112, __pyx_L1_error)) + __pyx_v_gottell = zran_tell(__pyx_v_index); + + /* "indexed_gzip/tests/ctest_zran.pyx":114 + * gottell = zran.zran_tell(index) + * + * try: # <<<<<<<<<<<<<< + * assert gotread == expread + * assert gottell == exptell + */ + __Pyx_TraceLine(114,0,__PYX_ERR(0, 114, __pyx_L1_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_5); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":115 + * + * try: + * assert gotread == expread # <<<<<<<<<<<<<< + * assert gottell == exptell + * except: + */ + __Pyx_TraceLine(115,0,__PYX_ERR(0, 115, __pyx_L16_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_gotread == __pyx_v_expread) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 115, __pyx_L16_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":116 + * try: + * assert gotread == expread + * assert gottell == exptell # <<<<<<<<<<<<<< + * except: + * print('nelems: {}'.format(nelems)) + */ + __Pyx_TraceLine(116,0,__PYX_ERR(0, 116, __pyx_L16_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L16_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = PyObject_RichCompare(__pyx_t_1, __pyx_v_exptell, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 116, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 116, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_3)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 116, __pyx_L16_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":114 + * gottell = zran.zran_tell(index) + * + * try: # <<<<<<<<<<<<<< + * assert gotread == expread + * assert gottell == exptell + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L21_try_end; + __pyx_L16_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":117 + * assert gotread == expread + * assert gottell == exptell + * except: # <<<<<<<<<<<<<< + * print('nelems: {}'.format(nelems)) + * print('element: {}'.format(element)) + */ + __Pyx_TraceLine(117,0,__PYX_ERR(0, 117, __pyx_L18_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 117, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_8); + + /* "indexed_gzip/tests/ctest_zran.pyx":118 + * assert gottell == exptell + * except: + * print('nelems: {}'.format(nelems)) # <<<<<<<<<<<<<< + * print('element: {}'.format(element)) + * print('expread: {}'.format(expread)) + */ + __Pyx_TraceLine(118,0,__PYX_ERR(0, 118, __pyx_L18_except_error)) + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_nelems, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 118, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_11, function); + } + } + __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_v_nelems) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_nelems); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 118, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":119 + * except: + * print('nelems: {}'.format(nelems)) + * print('element: {}'.format(element)) # <<<<<<<<<<<<<< + * print('expread: {}'.format(expread)) + * print('exptell: {}'.format(exptell)) + */ + __Pyx_TraceLine(119,0,__PYX_ERR(0, 119, __pyx_L18_except_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_element, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_element) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_element); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 119, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":120 + * print('nelems: {}'.format(nelems)) + * print('element: {}'.format(element)) + * print('expread: {}'.format(expread)) # <<<<<<<<<<<<<< + * print('exptell: {}'.format(exptell)) + * print('gotread: {}'.format(gotread)) + */ + __Pyx_TraceLine(120,0,__PYX_ERR(0, 120, __pyx_L18_except_error)) + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_expread, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 120, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyInt_From_long(__pyx_v_expread); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 120, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_11, function); + } + } + __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 120, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 120, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":121 + * print('element: {}'.format(element)) + * print('expread: {}'.format(expread)) + * print('exptell: {}'.format(exptell)) # <<<<<<<<<<<<<< + * print('gotread: {}'.format(gotread)) + * print('gottell: {}'.format(gottell)) + */ + __Pyx_TraceLine(121,0,__PYX_ERR(0, 121, __pyx_L18_except_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_exptell, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 121, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_exptell) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_exptell); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 121, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 121, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":122 + * print('expread: {}'.format(expread)) + * print('exptell: {}'.format(exptell)) + * print('gotread: {}'.format(gotread)) # <<<<<<<<<<<<<< + * print('gottell: {}'.format(gottell)) + * raise + */ + __Pyx_TraceLine(122,0,__PYX_ERR(0, 122, __pyx_L18_except_error)) + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gotread, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 122, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyInt_From_int64_t(__pyx_v_gotread); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 122, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_11, function); + } + } + __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 122, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 122, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":123 + * print('exptell: {}'.format(exptell)) + * print('gotread: {}'.format(gotread)) + * print('gottell: {}'.format(gottell)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(123,0,__PYX_ERR(0, 123, __pyx_L18_except_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gottell, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 123, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 123, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 123, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 123, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":124 + * print('gotread: {}'.format(gotread)) + * print('gottell: {}'.format(gottell)) + * raise # <<<<<<<<<<<<<< + * + * if element < nelems: + */ + __Pyx_TraceLine(124,0,__PYX_ERR(0, 124, __pyx_L18_except_error)) + __Pyx_GIVEREF(__pyx_t_9); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_1, __pyx_t_8); + __pyx_t_9 = 0; __pyx_t_1 = 0; __pyx_t_8 = 0; + __PYX_ERR(0, 124, __pyx_L18_except_error) + } + __pyx_L18_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":114 + * gottell = zran.zran_tell(index) + * + * try: # <<<<<<<<<<<<<< + * assert gotread == expread + * assert gottell == exptell + */ + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_6, __pyx_t_5); + goto __pyx_L1_error; + __pyx_L21_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":126 + * raise + * + * if element < nelems: # <<<<<<<<<<<<<< + * pybuf = (buffer)[:8] + * val = np.ndarray(1, np.uint64, buffer=pybuf) + */ + __Pyx_TraceLine(126,0,__PYX_ERR(0, 126, __pyx_L1_error)) + __pyx_t_8 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 126, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 126, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_3) { + + /* "indexed_gzip/tests/ctest_zran.pyx":127 + * + * if element < nelems: + * pybuf = (buffer)[:8] # <<<<<<<<<<<<<< + * val = np.ndarray(1, np.uint64, buffer=pybuf) + * return val[0] + */ + __Pyx_TraceLine(127,0,__PYX_ERR(0, 127, __pyx_L1_error)) + __pyx_t_8 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, 8 - 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __pyx_t_8; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_pybuf = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":128 + * if element < nelems: + * pybuf = (buffer)[:8] + * val = np.ndarray(1, np.uint64, buffer=pybuf) # <<<<<<<<<<<<<< + * return val[0] + * else: + */ + __Pyx_TraceLine(128,0,__PYX_ERR(0, 128, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_buffer, __pyx_v_pybuf) < 0) __PYX_ERR(0, 128, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_ndarray), __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_v_val = __pyx_t_9; + __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":129 + * pybuf = (buffer)[:8] + * val = np.ndarray(1, np.uint64, buffer=pybuf) + * return val[0] # <<<<<<<<<<<<<< + * else: + * return None + */ + __Pyx_TraceLine(129,0,__PYX_ERR(0, 129, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_r = __pyx_t_9; + __pyx_t_9 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_zran.pyx":126 + * raise + * + * if element < nelems: # <<<<<<<<<<<<<< + * pybuf = (buffer)[:8] + * val = np.ndarray(1, np.uint64, buffer=pybuf) + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":131 + * return val[0] + * else: + * return None # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(131,0,__PYX_ERR(0, 131, __pyx_L1_error)) + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":77 + * np.import_array() + * + * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): # <<<<<<<<<<<<<< + * + * cdef void *buffer + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_exptell); + __Pyx_XDECREF(__pyx_v_pybuf); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":155 + * + * + * def __cinit__(self, size_t size, use_mmap=False): # <<<<<<<<<<<<<< + * """Allocate ``size`` bytes of memory. """ + * + */ + +/* Python wrapper */ +static int __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static int __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + size_t __pyx_v_size; + PyObject *__pyx_v_use_mmap = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + int __pyx_r; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_use_mmap,0}; + PyObject* values[2] = {0,0}; + values[1] = ((PyObject *)Py_False); + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 155, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 155, __pyx_L3_error) + __pyx_v_use_mmap = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 155, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return -1; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer___cinit__(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self), __pyx_v_size, __pyx_v_use_mmap); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":175 + * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) + * + * def initmem(): # <<<<<<<<<<<<<< + * + * towrite = size + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem = {"initmem", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("initmem (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___initmem(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___initmem(PyObject *__pyx_self) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_cur_scope; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_outer_scope; + PyObject *__pyx_v_towrite = NULL; + PyObject *__pyx_v_zeros = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + long __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + Py_ssize_t __pyx_t_8; + int __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("initmem", 0); + __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *) __Pyx_CyFunction_GetClosure(__pyx_self); + __pyx_cur_scope = __pyx_outer_scope; + __Pyx_TraceCall("initmem", __pyx_f[0], 175, 0, __PYX_ERR(0, 175, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":177 + * def initmem(): + * + * towrite = size # <<<<<<<<<<<<<< + * + * while towrite > 0: + */ + __Pyx_TraceLine(177,0,__PYX_ERR(0, 177, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_cur_scope->__pyx_v_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_towrite = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":179 + * towrite = size + * + * while towrite > 0: # <<<<<<<<<<<<<< + * + * zeros = np.zeros(min(towrite, 134217728), dtype=np.uint8) + */ + __Pyx_TraceLine(179,0,__PYX_ERR(0, 179, __pyx_L1_error)) + while (1) { + __pyx_t_1 = PyObject_RichCompare(__pyx_v_towrite, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 179, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 179, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (!__pyx_t_2) break; + + /* "indexed_gzip/tests/ctest_zran.pyx":181 + * while towrite > 0: + * + * zeros = np.zeros(min(towrite, 134217728), dtype=np.uint8) # <<<<<<<<<<<<<< + * towrite -= len(zeros) + * + */ + __Pyx_TraceLine(181,0,__PYX_ERR(0, 181, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = 0x8000000; + __Pyx_INCREF(__pyx_v_towrite); + __pyx_t_1 = __pyx_v_towrite; + __pyx_t_6 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_2) { + __pyx_t_7 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __pyx_t_7; + __pyx_t_7 = 0; + } else { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_5 = __pyx_t_1; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_uint8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_zeros, __pyx_t_6); + __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":182 + * + * zeros = np.zeros(min(towrite, 134217728), dtype=np.uint8) + * towrite -= len(zeros) # <<<<<<<<<<<<<< + * + * os.write(fd, zeros.tostring()) + */ + __Pyx_TraceLine(182,0,__PYX_ERR(0, 182, __pyx_L1_error)) + __pyx_t_8 = PyObject_Length(__pyx_v_zeros); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 182, __pyx_L1_error) + __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 182, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = PyNumber_InPlaceSubtract(__pyx_v_towrite, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 182, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_towrite, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":184 + * towrite -= len(zeros) + * + * os.write(fd, zeros.tostring()) # <<<<<<<<<<<<<< + * + * th = threading.Thread(target=initmem) + */ + __Pyx_TraceLine(184,0,__PYX_ERR(0, 184, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_os); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_cur_scope->__pyx_v_fd)) { __Pyx_RaiseClosureNameError("fd"); __PYX_ERR(0, 184, __pyx_L1_error) } + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_zeros, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_6 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_fd, __pyx_t_6}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_fd, __pyx_t_6}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_cur_scope->__pyx_v_fd); + __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_fd); + PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_9, __pyx_cur_scope->__pyx_v_fd); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":175 + * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) + * + * def initmem(): # <<<<<<<<<<<<<< + * + * towrite = size + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__cinit__.initmem", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_towrite); + __Pyx_XDECREF(__pyx_v_zeros); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":188 + * th = threading.Thread(target=initmem) + * th.start() + * poll(lambda : not th.is_alive()) # <<<<<<<<<<<<<< + * + * self.mmap_fd = fd + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda = {"lambda", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("lambda (wrapper)", 0); + __pyx_r = __pyx_lambda_funcdef_lambda(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_cur_scope; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_outer_scope; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("lambda", 0); + __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *) __Pyx_CyFunction_GetClosure(__pyx_self); + __pyx_cur_scope = __pyx_outer_scope; + __Pyx_TraceCall("lambda", __pyx_f[0], 188, 0, __PYX_ERR(0, 188, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + if (unlikely(!__pyx_cur_scope->__pyx_v_th)) { __Pyx_RaiseClosureNameError("th"); __PYX_ERR(0, 188, __pyx_L1_error) } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_th, __pyx_n_s_is_alive); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 188, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__cinit__.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":155 + * + * + * def __cinit__(self, size_t size, use_mmap=False): # <<<<<<<<<<<<<< + * """Allocate ``size`` bytes of memory. """ + * + */ + +static int __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer___cinit__(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, size_t __pyx_v_size, PyObject *__pyx_v_use_mmap) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_cur_scope; + PyObject *__pyx_v_path = NULL; + PyObject *__pyx_v_initmem = 0; + int __pyx_r; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *(*__pyx_t_8)(PyObject *); + int __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__cinit__", 0); + __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 155, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __Pyx_TraceCall("__cinit__", __pyx_f[0], 155, 0, __PYX_ERR(0, 155, __pyx_L1_error)); + __pyx_cur_scope->__pyx_v_size = __pyx_v_size; + + /* "indexed_gzip/tests/ctest_zran.pyx":158 + * """Allocate ``size`` bytes of memory. """ + * + * self.use_mmap = use_mmap # <<<<<<<<<<<<<< + * self.mmap_fd = None + * self.mmap_path = None + */ + __Pyx_TraceLine(158,0,__PYX_ERR(0, 158, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_v_self->use_mmap = __pyx_t_1; + + /* "indexed_gzip/tests/ctest_zran.pyx":159 + * + * self.use_mmap = use_mmap + * self.mmap_fd = None # <<<<<<<<<<<<<< + * self.mmap_path = None + * self.size = size + */ + __Pyx_TraceLine(159,0,__PYX_ERR(0, 159, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->mmap_fd); + __Pyx_DECREF(__pyx_v_self->mmap_fd); + __pyx_v_self->mmap_fd = Py_None; + + /* "indexed_gzip/tests/ctest_zran.pyx":160 + * self.use_mmap = use_mmap + * self.mmap_fd = None + * self.mmap_path = None # <<<<<<<<<<<<<< + * self.size = size + * self.buffer = NULL + */ + __Pyx_TraceLine(160,0,__PYX_ERR(0, 160, __pyx_L1_error)) + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + __Pyx_GOTREF(__pyx_v_self->mmap_path); + __Pyx_DECREF(__pyx_v_self->mmap_path); + __pyx_v_self->mmap_path = Py_None; + + /* "indexed_gzip/tests/ctest_zran.pyx":161 + * self.mmap_fd = None + * self.mmap_path = None + * self.size = size # <<<<<<<<<<<<<< + * self.buffer = NULL + * + */ + __Pyx_TraceLine(161,0,__PYX_ERR(0, 161, __pyx_L1_error)) + __pyx_v_self->size = __pyx_cur_scope->__pyx_v_size; + + /* "indexed_gzip/tests/ctest_zran.pyx":162 + * self.mmap_path = None + * self.size = size + * self.buffer = NULL # <<<<<<<<<<<<<< + * + * if not self.use_mmap: + */ + __Pyx_TraceLine(162,0,__PYX_ERR(0, 162, __pyx_L1_error)) + __pyx_v_self->buffer = NULL; + + /* "indexed_gzip/tests/ctest_zran.pyx":164 + * self.buffer = NULL + * + * if not self.use_mmap: # <<<<<<<<<<<<<< + * self.buffer = PyMem_Malloc(size) + * + */ + __Pyx_TraceLine(164,0,__PYX_ERR(0, 164, __pyx_L1_error)) + __pyx_t_1 = ((!(__pyx_v_self->use_mmap != 0)) != 0); + if (__pyx_t_1) { + + /* "indexed_gzip/tests/ctest_zran.pyx":165 + * + * if not self.use_mmap: + * self.buffer = PyMem_Malloc(size) # <<<<<<<<<<<<<< + * + * memset(self.buffer, 0, size); + */ + __Pyx_TraceLine(165,0,__PYX_ERR(0, 165, __pyx_L1_error)) + __pyx_v_self->buffer = PyMem_Malloc(__pyx_cur_scope->__pyx_v_size); + + /* "indexed_gzip/tests/ctest_zran.pyx":167 + * self.buffer = PyMem_Malloc(size) + * + * memset(self.buffer, 0, size); # <<<<<<<<<<<<<< + * + * else: + */ + __Pyx_TraceLine(167,0,__PYX_ERR(0, 167, __pyx_L1_error)) + (void)(memset(__pyx_v_self->buffer, 0, __pyx_cur_scope->__pyx_v_size)); + + /* "indexed_gzip/tests/ctest_zran.pyx":164 + * self.buffer = NULL + * + * if not self.use_mmap: # <<<<<<<<<<<<<< + * self.buffer = PyMem_Malloc(size) + * + */ + goto __pyx_L3; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":171 + * else: + * + * fd, path = tempfile.mkstemp('readbuf_mmap_{}'.format(id(self))) # <<<<<<<<<<<<<< + * + * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) + */ + __Pyx_TraceLine(171,0,__PYX_ERR(0, 171, __pyx_L1_error)) + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_tempfile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_mkstemp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_readbuf_mmap, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 171, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_3 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 171, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_8 = Py_TYPE(__pyx_t_5)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_8(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_3 = __pyx_t_8(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; + __Pyx_GOTREF(__pyx_t_3); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_5), 2) < 0) __PYX_ERR(0, 171, __pyx_L1_error) + __pyx_t_8 = NULL; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L5_unpacking_done; + __pyx_L4_unpacking_failed:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_8 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 171, __pyx_L1_error) + __pyx_L5_unpacking_done:; + } + __Pyx_GIVEREF(__pyx_t_4); + __pyx_cur_scope->__pyx_v_fd = __pyx_t_4; + __pyx_t_4 = 0; + __pyx_v_path = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":173 + * fd, path = tempfile.mkstemp('readbuf_mmap_{}'.format(id(self))) + * + * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) # <<<<<<<<<<<<<< + * + * def initmem(): + */ + __Pyx_TraceLine(173,0,__PYX_ERR(0, 173, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Memory_mapping_0_2f_GB, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyFloat_FromDouble((((double)__pyx_cur_scope->__pyx_v_size) / 1073741824.)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_v_path}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_v_path}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_9, __pyx_t_4); + __Pyx_INCREF(__pyx_v_path); + __Pyx_GIVEREF(__pyx_v_path); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_9, __pyx_v_path); + __pyx_t_4 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":175 + * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) + * + * def initmem(): # <<<<<<<<<<<<<< + * + * towrite = size + */ + __Pyx_TraceLine(175,0,__PYX_ERR(0, 175, __pyx_L1_error)) + __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem, 0, __pyx_n_s_cinit___locals_initmem, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_initmem = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":186 + * os.write(fd, zeros.tostring()) + * + * th = threading.Thread(target=initmem) # <<<<<<<<<<<<<< + * th.start() + * poll(lambda : not th.is_alive()) + */ + __Pyx_TraceLine(186,0,__PYX_ERR(0, 186, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_threading); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Thread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_target, __pyx_v_initmem) < 0) __PYX_ERR(0, 186, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GIVEREF(__pyx_t_6); + __pyx_cur_scope->__pyx_v_th = __pyx_t_6; + __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":187 + * + * th = threading.Thread(target=initmem) + * th.start() # <<<<<<<<<<<<<< + * poll(lambda : not th.is_alive()) + * + */ + __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_th, __pyx_n_s_start); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":188 + * th = threading.Thread(target=initmem) + * th.start() + * poll(lambda : not th.is_alive()) # <<<<<<<<<<<<<< + * + * self.mmap_fd = fd + */ + __Pyx_TraceLine(188,0,__PYX_ERR(0, 188, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_poll); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda, 0, __pyx_n_s_cinit___locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 188, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":190 + * poll(lambda : not th.is_alive()) + * + * self.mmap_fd = fd # <<<<<<<<<<<<<< + * self.mmap_path = path + * self.buffer = mmap(NULL, + */ + __Pyx_TraceLine(190,0,__PYX_ERR(0, 190, __pyx_L1_error)) + __Pyx_INCREF(__pyx_cur_scope->__pyx_v_fd); + __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_fd); + __Pyx_GOTREF(__pyx_v_self->mmap_fd); + __Pyx_DECREF(__pyx_v_self->mmap_fd); + __pyx_v_self->mmap_fd = __pyx_cur_scope->__pyx_v_fd; + + /* "indexed_gzip/tests/ctest_zran.pyx":191 + * + * self.mmap_fd = fd + * self.mmap_path = path # <<<<<<<<<<<<<< + * self.buffer = mmap(NULL, + * size, + */ + __Pyx_TraceLine(191,0,__PYX_ERR(0, 191, __pyx_L1_error)) + __Pyx_INCREF(__pyx_v_path); + __Pyx_GIVEREF(__pyx_v_path); + __Pyx_GOTREF(__pyx_v_self->mmap_path); + __Pyx_DECREF(__pyx_v_self->mmap_path); + __pyx_v_self->mmap_path = __pyx_v_path; + + /* "indexed_gzip/tests/ctest_zran.pyx":196 + * PROT_READ | PROT_WRITE, + * MAP_SHARED, + * fd, # <<<<<<<<<<<<<< + * 0) + * + */ + __Pyx_TraceLine(196,0,__PYX_ERR(0, 196, __pyx_L1_error)) + __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_cur_scope->__pyx_v_fd); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 196, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":192 + * self.mmap_fd = fd + * self.mmap_path = path + * self.buffer = mmap(NULL, # <<<<<<<<<<<<<< + * size, + * PROT_READ | PROT_WRITE, + */ + __Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L1_error)) + __pyx_v_self->buffer = mmap(NULL, __pyx_cur_scope->__pyx_v_size, (PROT_READ | PROT_WRITE), MAP_SHARED, __pyx_t_9, 0); + + /* "indexed_gzip/tests/ctest_zran.pyx":199 + * 0) + * + * if self.buffer == MAP_FAILED: # <<<<<<<<<<<<<< + * raise RuntimeError('mmap fail') + * + */ + __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L1_error)) + __pyx_t_1 = ((__pyx_v_self->buffer == ((void *)MAP_FAILED)) != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":200 + * + * if self.buffer == MAP_FAILED: + * raise RuntimeError('mmap fail') # <<<<<<<<<<<<<< + * + * if not self.buffer: + */ + __Pyx_TraceLine(200,0,__PYX_ERR(0, 200, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 200, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __PYX_ERR(0, 200, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":199 + * 0) + * + * if self.buffer == MAP_FAILED: # <<<<<<<<<<<<<< + * raise RuntimeError('mmap fail') + * + */ + } + } + __pyx_L3:; + + /* "indexed_gzip/tests/ctest_zran.pyx":202 + * raise RuntimeError('mmap fail') + * + * if not self.buffer: # <<<<<<<<<<<<<< + * raise RuntimeError('ReadBuffer init fail') + * + */ + __Pyx_TraceLine(202,0,__PYX_ERR(0, 202, __pyx_L1_error)) + __pyx_t_1 = ((!(__pyx_v_self->buffer != 0)) != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":203 + * + * if not self.buffer: + * raise RuntimeError('ReadBuffer init fail') # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_Raise(__pyx_t_6, 0, 0, 0); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __PYX_ERR(0, 203, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":202 + * raise RuntimeError('mmap fail') + * + * if not self.buffer: # <<<<<<<<<<<<<< + * raise RuntimeError('ReadBuffer init fail') + * + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":155 + * + * + * def __cinit__(self, size_t size, use_mmap=False): # <<<<<<<<<<<<<< + * """Allocate ``size`` bytes of memory. """ + * + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_path); + __Pyx_XDECREF(__pyx_v_initmem); + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":206 + * + * + * def resize(self, size_t size): # <<<<<<<<<<<<<< + * """Re-allocate the memory to the given ``size``. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_3resize(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize[] = "Re-allocate the memory to the given ``size``. "; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_3resize(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { + size_t __pyx_v_size; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("resize (wrapper)", 0); + assert(__pyx_arg_size); { + __pyx_v_size = __Pyx_PyInt_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 206, __pyx_L3_error) + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.resize", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self), ((size_t)__pyx_v_size)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, size_t __pyx_v_size) { + void *__pyx_v_buf; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("resize", 0); + __Pyx_TraceCall("resize", __pyx_f[0], 206, 0, __PYX_ERR(0, 206, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":209 + * """Re-allocate the memory to the given ``size``. """ + * + * if self.use_mmap: # <<<<<<<<<<<<<< + * raise NotImplementedError('Cannot resize a memmapped array!') + * + */ + __Pyx_TraceLine(209,0,__PYX_ERR(0, 209, __pyx_L1_error)) + __pyx_t_1 = (__pyx_v_self->use_mmap != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":210 + * + * if self.use_mmap: + * raise NotImplementedError('Cannot resize a memmapped array!') # <<<<<<<<<<<<<< + * + * buf = PyMem_Realloc(self.buffer, size) + */ + __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 210, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":209 + * """Re-allocate the memory to the given ``size``. """ + * + * if self.use_mmap: # <<<<<<<<<<<<<< + * raise NotImplementedError('Cannot resize a memmapped array!') + * + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":212 + * raise NotImplementedError('Cannot resize a memmapped array!') + * + * buf = PyMem_Realloc(self.buffer, size) # <<<<<<<<<<<<<< + * + * if not buf: + */ + __Pyx_TraceLine(212,0,__PYX_ERR(0, 212, __pyx_L1_error)) + __pyx_v_buf = PyMem_Realloc(__pyx_v_self->buffer, __pyx_v_size); + + /* "indexed_gzip/tests/ctest_zran.pyx":214 + * buf = PyMem_Realloc(self.buffer, size) + * + * if not buf: # <<<<<<<<<<<<<< + * raise MemoryError('PyMem_Realloc fail') + * + */ + __Pyx_TraceLine(214,0,__PYX_ERR(0, 214, __pyx_L1_error)) + __pyx_t_1 = ((!(__pyx_v_buf != 0)) != 0); + if (unlikely(__pyx_t_1)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":215 + * + * if not buf: + * raise MemoryError('PyMem_Realloc fail') # <<<<<<<<<<<<<< + * + * self.buffer = buf + */ + __Pyx_TraceLine(215,0,__PYX_ERR(0, 215, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 215, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 215, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":214 + * buf = PyMem_Realloc(self.buffer, size) + * + * if not buf: # <<<<<<<<<<<<<< + * raise MemoryError('PyMem_Realloc fail') + * + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":217 + * raise MemoryError('PyMem_Realloc fail') + * + * self.buffer = buf # <<<<<<<<<<<<<< + * self.size = size + * + */ + __Pyx_TraceLine(217,0,__PYX_ERR(0, 217, __pyx_L1_error)) + __pyx_v_self->buffer = __pyx_v_buf; + + /* "indexed_gzip/tests/ctest_zran.pyx":218 + * + * self.buffer = buf + * self.size = size # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(218,0,__PYX_ERR(0, 218, __pyx_L1_error)) + __pyx_v_self->size = __pyx_v_size; + + /* "indexed_gzip/tests/ctest_zran.pyx":206 + * + * + * def resize(self, size_t size): # <<<<<<<<<<<<<< + * """Re-allocate the memory to the given ``size``. """ + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.resize", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":221 + * + * + * def __dealloc__(self): # <<<<<<<<<<<<<< + * """Free the mwmory. """ + * + */ + +/* Python wrapper */ +static void __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_5__dealloc__(PyObject *__pyx_v_self); /*proto*/ +static void __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_5__dealloc__(PyObject *__pyx_v_self) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); + __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_4__dealloc__(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); +} + +static void __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_4__dealloc__(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self) { + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__dealloc__", 0); + __Pyx_TraceCall("__dealloc__", __pyx_f[0], 221, 0, __PYX_ERR(0, 221, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":224 + * """Free the mwmory. """ + * + * if not self.use_mmap: # <<<<<<<<<<<<<< + * PyMem_Free(self.buffer) + * else: + */ + __Pyx_TraceLine(224,0,__PYX_ERR(0, 224, __pyx_L1_error)) + __pyx_t_1 = ((!(__pyx_v_self->use_mmap != 0)) != 0); + if (__pyx_t_1) { + + /* "indexed_gzip/tests/ctest_zran.pyx":225 + * + * if not self.use_mmap: + * PyMem_Free(self.buffer) # <<<<<<<<<<<<<< + * else: + * munmap(self.buffer, self.size) + */ + __Pyx_TraceLine(225,0,__PYX_ERR(0, 225, __pyx_L1_error)) + PyMem_Free(__pyx_v_self->buffer); + + /* "indexed_gzip/tests/ctest_zran.pyx":224 + * """Free the mwmory. """ + * + * if not self.use_mmap: # <<<<<<<<<<<<<< + * PyMem_Free(self.buffer) + * else: + */ + goto __pyx_L3; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":227 + * PyMem_Free(self.buffer) + * else: + * munmap(self.buffer, self.size) # <<<<<<<<<<<<<< + * os.close( self.mmap_fd) + * os.remove(self.mmap_path) + */ + __Pyx_TraceLine(227,0,__PYX_ERR(0, 227, __pyx_L1_error)) + /*else*/ { + (void)(munmap(__pyx_v_self->buffer, __pyx_v_self->size)); + + /* "indexed_gzip/tests/ctest_zran.pyx":228 + * else: + * munmap(self.buffer, self.size) + * os.close( self.mmap_fd) # <<<<<<<<<<<<<< + * os.remove(self.mmap_path) + * + */ + __Pyx_TraceLine(228,0,__PYX_ERR(0, 228, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_self->mmap_fd) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_self->mmap_fd); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":229 + * munmap(self.buffer, self.size) + * os.close( self.mmap_fd) + * os.remove(self.mmap_path) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(229,0,__PYX_ERR(0, 229, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_os); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 229, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_remove); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_self->mmap_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_self->mmap_path); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __pyx_L3:; + + /* "indexed_gzip/tests/ctest_zran.pyx":221 + * + * + * def __dealloc__(self): # <<<<<<<<<<<<<< + * """Free the mwmory. """ + * + */ + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_WriteUnraisable("indexed_gzip.tests.ctest_zran.ReadBuffer.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); +} + +/* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_6__reduce_cython__(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__reduce_cython__", 0); + __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 1, __pyx_L1_error)); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __Pyx_TraceLine(2,0,__PYX_ERR(1, 2, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 2, __pyx_L1_error) + + /* "(tree fragment)":1 + * def __reduce_cython__(self): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_8__setstate_cython__(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__setstate_cython__", 0); + __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 3, __pyx_L1_error)); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __Pyx_TraceLine(4,0,__PYX_ERR(1, 4, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(1, 4, __pyx_L1_error) + + /* "(tree fragment)":3 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":232 + * + * + * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< + * raise Exception("Error") + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_1error_fn(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_1error_fn = {"error_fn", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_1error_fn, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_1error_fn(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + CYTHON_UNUSED PyObject *__pyx_v_args = 0; + CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("error_fn (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "error_fn", 1))) return NULL; + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_error_fn(__pyx_self, __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_error_fn(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__10) + __Pyx_RefNannySetupContext("error_fn", 0); + __Pyx_TraceCall("error_fn", __pyx_f[0], 232, 0, __PYX_ERR(0, 232, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":233 + * + * def error_fn(*args, **kwargs): + * raise Exception("Error") # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(233,0,__PYX_ERR(0, 233, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 233, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":232 + * + * + * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< + * raise Exception("Error") + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.error_fn", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":236 + * + * + * def return_fn(return_value): # <<<<<<<<<<<<<< + * return lambda *args, **kwargs: return_value + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_3return_fn(PyObject *__pyx_self, PyObject *__pyx_v_return_value); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_3return_fn = {"return_fn", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_3return_fn, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_3return_fn(PyObject *__pyx_self, PyObject *__pyx_v_return_value) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("return_fn (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_2return_fn(__pyx_self, ((PyObject *)__pyx_v_return_value)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":237 + * + * def return_fn(return_value): + * return lambda *args, **kwargs: return_value # <<<<<<<<<<<<<< + * + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1 = {"lambda1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + CYTHON_UNUSED PyObject *__pyx_v_args = 0; + CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("lambda1 (wrapper)", 0); + if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "lambda1", 1))) return NULL; + __Pyx_INCREF(__pyx_args); + __pyx_v_args = __pyx_args; + __pyx_r = __pyx_lambda_funcdef_lambda1(__pyx_self, __pyx_v_args, __pyx_v_kwargs); + + /* function exit code */ + __Pyx_XDECREF(__pyx_v_args); + __Pyx_XDECREF(__pyx_v_kwargs); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *__pyx_cur_scope; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *__pyx_outer_scope; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("lambda1", 0); + __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *) __Pyx_CyFunction_GetClosure(__pyx_self); + __pyx_cur_scope = __pyx_outer_scope; + __Pyx_TraceCall("lambda1", __pyx_f[0], 237, 0, __PYX_ERR(0, 237, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + if (unlikely(!__pyx_cur_scope->__pyx_v_return_value)) { __Pyx_RaiseClosureNameError("return_value"); __PYX_ERR(0, 237, __pyx_L1_error) } + __Pyx_INCREF(__pyx_cur_scope->__pyx_v_return_value); + __pyx_r = __pyx_cur_scope->__pyx_v_return_value; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.return_fn.lambda1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":236 + * + * + * def return_fn(return_value): # <<<<<<<<<<<<<< + * return lambda *args, **kwargs: return_value + * + */ + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_2return_fn(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_return_value) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *__pyx_cur_scope; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__12) + __Pyx_RefNannySetupContext("return_fn", 0); + __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 236, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __Pyx_TraceCall("return_fn", __pyx_f[0], 236, 0, __PYX_ERR(0, 236, __pyx_L1_error)); + __pyx_cur_scope->__pyx_v_return_value = __pyx_v_return_value; + __Pyx_INCREF(__pyx_cur_scope->__pyx_v_return_value); + __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_return_value); + + /* "indexed_gzip/tests/ctest_zran.pyx":237 + * + * def return_fn(return_value): + * return lambda *args, **kwargs: return_value # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(237,0,__PYX_ERR(0, 237, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1, 0, __pyx_n_s_return_fn_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_zran.pyx":236 + * + * + * def return_fn(return_value): # <<<<<<<<<<<<<< + * return lambda *args, **kwargs: return_value + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.return_fn", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":240 + * + * + * def test_fread(): # <<<<<<<<<<<<<< + * """Tests Python wrapper C function for fread.""" + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_5test_fread(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_4test_fread[] = "Tests Python wrapper C function for fread."; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_5test_fread = {"test_fread", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_5test_fread, METH_NOARGS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_4test_fread}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_5test_fread(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_fread (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_4test_fread(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_4test_fread(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + char __pyx_v_buf[3]; + size_t __pyx_v_elems_read; + PyObject *__pyx_v_fn = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__13) + __Pyx_RefNannySetupContext("test_fread", 0); + __Pyx_TraceCall("test_fread", __pyx_f[0], 240, 0, __PYX_ERR(0, 240, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":243 + * """Tests Python wrapper C function for fread.""" + * + * f = BytesIO(b"abc") # <<<<<<<<<<<<<< + * cdef char buf[3] + * elems_read = zran_file_util._fread_python(buf, 1, 3, f) + */ + __Pyx_TraceLine(243,0,__PYX_ERR(0, 243, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":245 + * f = BytesIO(b"abc") + * cdef char buf[3] + * elems_read = zran_file_util._fread_python(buf, 1, 3, f) # <<<<<<<<<<<<<< + * assert elems_read == 3 + * assert f.tell() == 3 + */ + __Pyx_TraceLine(245,0,__PYX_ERR(0, 245, __pyx_L1_error)) + __pyx_v_elems_read = _fread_python(__pyx_v_buf, 1, 3, ((PyObject *)__pyx_v_f)); + + /* "indexed_gzip/tests/ctest_zran.pyx":246 + * cdef char buf[3] + * elems_read = zran_file_util._fread_python(buf, 1, 3, f) + * assert elems_read == 3 # <<<<<<<<<<<<<< + * assert f.tell() == 3 + * assert buf[0:3] == b"abc" + */ + __Pyx_TraceLine(246,0,__PYX_ERR(0, 246, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_elems_read == 3) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 246, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":247 + * elems_read = zran_file_util._fread_python(buf, 1, 3, f) + * assert elems_read == 3 + * assert f.tell() == 3 # <<<<<<<<<<<<<< + * assert buf[0:3] == b"abc" + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(247,0,__PYX_ERR(0, 247, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 247, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 247, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":248 + * assert elems_read == 3 + * assert f.tell() == 3 + * assert buf[0:3] == b"abc" # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * + */ + __Pyx_TraceLine(248,0,__PYX_ERR(0, 248, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_buf) + 0, 3 - 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_n_b_abc, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 248, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!(__pyx_t_4 != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 248, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":249 + * assert f.tell() == 3 + * assert buf[0:3] == b"abc" + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * + * # fread error conditions: + */ + __Pyx_TraceLine(249,0,__PYX_ERR(0, 249, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 249, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":252 + * + * # fread error conditions: + * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< + * f.read = fn + * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 + */ + __Pyx_TraceLine(252,0,__PYX_ERR(0, 252, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_return_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_3, Py_None); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); + __pyx_t_2 = 0; + __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (__pyx_t_6 >= 2) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 252, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":253 + * # fread error conditions: + * for fn in [error_fn, return_fn(None)]: + * f.read = fn # <<<<<<<<<<<<<< + * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 + * assert zran_file_util._ferror_python(f) == 1 + */ + __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_read, __pyx_v_fn) < 0) __PYX_ERR(0, 253, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":254 + * for fn in [error_fn, return_fn(None)]: + * f.read = fn + * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() + */ + __Pyx_TraceLine(254,0,__PYX_ERR(0, 254, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_fread_python(__pyx_v_buf, 1, 3, ((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 254, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":255 + * f.read = fn + * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 + * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< + * PyErr_Clear() + * + */ + __Pyx_TraceLine(255,0,__PYX_ERR(0, 255, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 255, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":256 + * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(256,0,__PYX_ERR(0, 256, __pyx_L1_error)) + PyErr_Clear(); + + /* "indexed_gzip/tests/ctest_zran.pyx":252 + * + * # fread error conditions: + * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< + * f.read = fn + * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 + */ + __Pyx_TraceLine(252,0,__PYX_ERR(0, 252, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":240 + * + * + * def test_fread(): # <<<<<<<<<<<<<< + * """Tests Python wrapper C function for fread.""" + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_fread", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fn); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":259 + * + * + * def test_ftell(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_7test_ftell(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_7test_ftell = {"test_ftell", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_7test_ftell, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_7test_ftell(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_ftell (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_6test_ftell(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_6test_ftell(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_fn = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__14) + __Pyx_RefNannySetupContext("test_ftell", 0); + __Pyx_TraceCall("test_ftell", __pyx_f[0], 259, 0, __PYX_ERR(0, 259, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":261 + * def test_ftell(): + * + * f = BytesIO(b"abc") # <<<<<<<<<<<<<< + * assert zran_file_util._ftell_python(f) == 0 + * f.seek(2) + */ + __Pyx_TraceLine(261,0,__PYX_ERR(0, 261, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":262 + * + * f = BytesIO(b"abc") + * assert zran_file_util._ftell_python(f) == 0 # <<<<<<<<<<<<<< + * f.seek(2) + * assert zran_file_util._ftell_python(f) == 2 + */ + __Pyx_TraceLine(262,0,__PYX_ERR(0, 262, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ftell_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 262, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":263 + * f = BytesIO(b"abc") + * assert zran_file_util._ftell_python(f) == 0 + * f.seek(2) # <<<<<<<<<<<<<< + * assert zran_file_util._ftell_python(f) == 2 + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(263,0,__PYX_ERR(0, 263, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_2) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":264 + * assert zran_file_util._ftell_python(f) == 0 + * f.seek(2) + * assert zran_file_util._ftell_python(f) == 2 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * + */ + __Pyx_TraceLine(264,0,__PYX_ERR(0, 264, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ftell_python(((PyObject *)__pyx_v_f)) == 2) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 264, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":265 + * f.seek(2) + * assert zran_file_util._ftell_python(f) == 2 + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * + * # ftell error conditions + */ + __Pyx_TraceLine(265,0,__PYX_ERR(0, 265, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 265, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":268 + * + * # ftell error conditions + * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< + * f.tell = fn + * assert zran_file_util._ftell_python(f) == -1 + */ + __Pyx_TraceLine(268,0,__PYX_ERR(0, 268, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_return_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_3, Py_None); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (__pyx_t_5 >= 2) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 268, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":269 + * # ftell error conditions + * for fn in [error_fn, return_fn(None)]: + * f.tell = fn # <<<<<<<<<<<<<< + * assert zran_file_util._ftell_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 + */ + __Pyx_TraceLine(269,0,__PYX_ERR(0, 269, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_tell, __pyx_v_fn) < 0) __PYX_ERR(0, 269, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":270 + * for fn in [error_fn, return_fn(None)]: + * f.tell = fn + * assert zran_file_util._ftell_python(f) == -1 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() + */ + __Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ftell_python(((PyObject *)__pyx_v_f)) == -1L) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 270, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":271 + * f.tell = fn + * assert zran_file_util._ftell_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< + * PyErr_Clear() + * + */ + __Pyx_TraceLine(271,0,__PYX_ERR(0, 271, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 271, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":272 + * assert zran_file_util._ftell_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(272,0,__PYX_ERR(0, 272, __pyx_L1_error)) + PyErr_Clear(); + + /* "indexed_gzip/tests/ctest_zran.pyx":268 + * + * # ftell error conditions + * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< + * f.tell = fn + * assert zran_file_util._ftell_python(f) == -1 + */ + __Pyx_TraceLine(268,0,__PYX_ERR(0, 268, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":259 + * + * + * def test_ftell(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_ftell", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fn); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":275 + * + * + * def test_fseek(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9test_fseek(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_9test_fseek = {"test_fseek", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9test_fseek, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9test_fseek(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_fseek (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_8test_fseek(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_8test_fseek(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_fn = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + Py_ssize_t __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__15) + __Pyx_RefNannySetupContext("test_fseek", 0); + __Pyx_TraceCall("test_fseek", __pyx_f[0], 275, 0, __PYX_ERR(0, 275, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":277 + * def test_fseek(): + * + * f = BytesIO(b"abc") # <<<<<<<<<<<<<< + * zran_file_util._fseek_python(f, 1, SEEK_SET) + * assert f.tell() == 1 + */ + __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":278 + * + * f = BytesIO(b"abc") + * zran_file_util._fseek_python(f, 1, SEEK_SET) # <<<<<<<<<<<<<< + * assert f.tell() == 1 + * zran_file_util._fseek_python(f, -1, SEEK_END) + */ + __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L1_error)) + (void)(_fseek_python(((PyObject *)__pyx_v_f), 1, SEEK_SET)); + + /* "indexed_gzip/tests/ctest_zran.pyx":279 + * f = BytesIO(b"abc") + * zran_file_util._fseek_python(f, 1, SEEK_SET) + * assert f.tell() == 1 # <<<<<<<<<<<<<< + * zran_file_util._fseek_python(f, -1, SEEK_END) + * assert f.tell() == 2 + */ + __Pyx_TraceLine(279,0,__PYX_ERR(0, 279, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 279, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 279, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 279, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 279, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":280 + * zran_file_util._fseek_python(f, 1, SEEK_SET) + * assert f.tell() == 1 + * zran_file_util._fseek_python(f, -1, SEEK_END) # <<<<<<<<<<<<<< + * assert f.tell() == 2 + * zran_file_util._fseek_python(f, 100, SEEK_SET) + */ + __Pyx_TraceLine(280,0,__PYX_ERR(0, 280, __pyx_L1_error)) + (void)(_fseek_python(((PyObject *)__pyx_v_f), -1L, SEEK_END)); + + /* "indexed_gzip/tests/ctest_zran.pyx":281 + * assert f.tell() == 1 + * zran_file_util._fseek_python(f, -1, SEEK_END) + * assert f.tell() == 2 # <<<<<<<<<<<<<< + * zran_file_util._fseek_python(f, 100, SEEK_SET) + * assert f.tell() == 100 + */ + __Pyx_TraceLine(281,0,__PYX_ERR(0, 281, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 281, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 281, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 281, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":282 + * zran_file_util._fseek_python(f, -1, SEEK_END) + * assert f.tell() == 2 + * zran_file_util._fseek_python(f, 100, SEEK_SET) # <<<<<<<<<<<<<< + * assert f.tell() == 100 + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(282,0,__PYX_ERR(0, 282, __pyx_L1_error)) + (void)(_fseek_python(((PyObject *)__pyx_v_f), 0x64, SEEK_SET)); + + /* "indexed_gzip/tests/ctest_zran.pyx":283 + * assert f.tell() == 2 + * zran_file_util._fseek_python(f, 100, SEEK_SET) + * assert f.tell() == 100 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * + */ + __Pyx_TraceLine(283,0,__PYX_ERR(0, 283, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_100, 0x64, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 283, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 283, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":284 + * zran_file_util._fseek_python(f, 100, SEEK_SET) + * assert f.tell() == 100 + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * + * # fseek error conditions + */ + __Pyx_TraceLine(284,0,__PYX_ERR(0, 284, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 284, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":287 + * + * # fseek error conditions + * for fn in [error_fn]: # <<<<<<<<<<<<<< + * f.seek = fn + * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 + */ + __Pyx_TraceLine(287,0,__PYX_ERR(0, 287, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + for (;;) { + if (__pyx_t_5 >= 1) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 287, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":288 + * # fseek error conditions + * for fn in [error_fn]: + * f.seek = fn # <<<<<<<<<<<<<< + * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 + * assert zran_file_util._ferror_python(f) == 1 + */ + __Pyx_TraceLine(288,0,__PYX_ERR(0, 288, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_seek, __pyx_v_fn) < 0) __PYX_ERR(0, 288, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":289 + * for fn in [error_fn]: + * f.seek = fn + * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() + */ + __Pyx_TraceLine(289,0,__PYX_ERR(0, 289, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_fseek_python(((PyObject *)__pyx_v_f), 1, SEEK_SET) == -1L) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 289, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":290 + * f.seek = fn + * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 + * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< + * PyErr_Clear() + * + */ + __Pyx_TraceLine(290,0,__PYX_ERR(0, 290, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 290, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":291 + * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(291,0,__PYX_ERR(0, 291, __pyx_L1_error)) + PyErr_Clear(); + + /* "indexed_gzip/tests/ctest_zran.pyx":287 + * + * # fseek error conditions + * for fn in [error_fn]: # <<<<<<<<<<<<<< + * f.seek = fn + * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 + */ + __Pyx_TraceLine(287,0,__PYX_ERR(0, 287, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":275 + * + * + * def test_fseek(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_fseek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fn); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":294 + * + * + * def test_feof(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_11test_feof(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_11test_feof = {"test_feof", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_11test_feof, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_11test_feof(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_feof (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10test_feof(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10test_feof(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__16) + __Pyx_RefNannySetupContext("test_feof", 0); + __Pyx_TraceCall("test_feof", __pyx_f[0], 294, 0, __PYX_ERR(0, 294, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":296 + * def test_feof(): + * + * f = BytesIO(b"abc") # <<<<<<<<<<<<<< + * f.seek(0) + * # the EOF indicator shouldn't be set... + */ + __Pyx_TraceLine(296,0,__PYX_ERR(0, 296, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 296, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":297 + * + * f = BytesIO(b"abc") + * f.seek(0) # <<<<<<<<<<<<<< + * # the EOF indicator shouldn't be set... + * assert zran_file_util._feof_python(f, 2) == 0 + */ + __Pyx_TraceLine(297,0,__PYX_ERR(0, 297, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 297, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":299 + * f.seek(0) + * # the EOF indicator shouldn't be set... + * assert zran_file_util._feof_python(f, 2) == 0 # <<<<<<<<<<<<<< + * # ...unless f_read is zero. + * assert zran_file_util._feof_python(f, 0) == 1 + */ + __Pyx_TraceLine(299,0,__PYX_ERR(0, 299, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_feof_python(((PyObject *)__pyx_v_f), 2) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 299, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":301 + * assert zran_file_util._feof_python(f, 2) == 0 + * # ...unless f_read is zero. + * assert zran_file_util._feof_python(f, 0) == 1 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * + */ + __Pyx_TraceLine(301,0,__PYX_ERR(0, 301, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_feof_python(((PyObject *)__pyx_v_f), 0) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 301, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":302 + * # ...unless f_read is zero. + * assert zran_file_util._feof_python(f, 0) == 1 + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(302,0,__PYX_ERR(0, 302, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 302, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":294 + * + * + * def test_feof(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_feof", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":305 + * + * + * def test_ferror(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_ferror(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_13test_ferror = {"test_ferror", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_ferror, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_ferror(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_ferror (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_12test_ferror(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_12test_ferror(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__17) + __Pyx_RefNannySetupContext("test_ferror", 0); + __Pyx_TraceCall("test_ferror", __pyx_f[0], 305, 0, __PYX_ERR(0, 305, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":307 + * def test_ferror(): + * + * f = BytesIO(b"abc") # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * PyErr_SetString(ValueError, "Error") + */ + __Pyx_TraceLine(307,0,__PYX_ERR(0, 307, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":308 + * + * f = BytesIO(b"abc") + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * PyErr_SetString(ValueError, "Error") + * assert zran_file_util._ferror_python(f) == 1 + */ + __Pyx_TraceLine(308,0,__PYX_ERR(0, 308, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 308, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":309 + * f = BytesIO(b"abc") + * assert zran_file_util._ferror_python(f) == 0 + * PyErr_SetString(ValueError, "Error") # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() + */ + __Pyx_TraceLine(309,0,__PYX_ERR(0, 309, __pyx_L1_error)) + PyErr_SetString(__pyx_builtin_ValueError, ((char *)"Error")); + + /* "indexed_gzip/tests/ctest_zran.pyx":310 + * assert zran_file_util._ferror_python(f) == 0 + * PyErr_SetString(ValueError, "Error") + * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< + * PyErr_Clear() + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 310, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":311 + * PyErr_SetString(ValueError, "Error") + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * + */ + __Pyx_TraceLine(311,0,__PYX_ERR(0, 311, __pyx_L1_error)) + PyErr_Clear(); + + /* "indexed_gzip/tests/ctest_zran.pyx":312 + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(312,0,__PYX_ERR(0, 312, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 312, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":305 + * + * + * def test_ferror(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_ferror", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":315 + * + * + * def test_fflush(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_15test_fflush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_15test_fflush = {"test_fflush", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_15test_fflush, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_15test_fflush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_fflush (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_14test_fflush(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_14test_fflush(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_fn = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__18) + __Pyx_RefNannySetupContext("test_fflush", 0); + __Pyx_TraceCall("test_fflush", __pyx_f[0], 315, 0, __PYX_ERR(0, 315, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":317 + * def test_fflush(): + * + * f = BytesIO(b"abc") # <<<<<<<<<<<<<< + * zran_file_util._fflush_python(f) + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":318 + * + * f = BytesIO(b"abc") + * zran_file_util._fflush_python(f) # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * + */ + __Pyx_TraceLine(318,0,__PYX_ERR(0, 318, __pyx_L1_error)) + (void)(_fflush_python(((PyObject *)__pyx_v_f))); + + /* "indexed_gzip/tests/ctest_zran.pyx":319 + * f = BytesIO(b"abc") + * zran_file_util._fflush_python(f) + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * + * # fflush error conditions + */ + __Pyx_TraceLine(319,0,__PYX_ERR(0, 319, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 319, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":322 + * + * # fflush error conditions + * for fn in [error_fn]: # <<<<<<<<<<<<<< + * f.flush = fn + * assert zran_file_util._fflush_python(f) == -1 + */ + __Pyx_TraceLine(322,0,__PYX_ERR(0, 322, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + for (;;) { + if (__pyx_t_4 >= 1) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 322, __pyx_L1_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":323 + * # fflush error conditions + * for fn in [error_fn]: + * f.flush = fn # <<<<<<<<<<<<<< + * assert zran_file_util._fflush_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 + */ + __Pyx_TraceLine(323,0,__PYX_ERR(0, 323, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_flush, __pyx_v_fn) < 0) __PYX_ERR(0, 323, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":324 + * for fn in [error_fn]: + * f.flush = fn + * assert zran_file_util._fflush_python(f) == -1 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() + */ + __Pyx_TraceLine(324,0,__PYX_ERR(0, 324, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_fflush_python(((PyObject *)__pyx_v_f)) == -1L) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 324, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":325 + * f.flush = fn + * assert zran_file_util._fflush_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< + * PyErr_Clear() + * + */ + __Pyx_TraceLine(325,0,__PYX_ERR(0, 325, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 325, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":326 + * assert zran_file_util._fflush_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(326,0,__PYX_ERR(0, 326, __pyx_L1_error)) + PyErr_Clear(); + + /* "indexed_gzip/tests/ctest_zran.pyx":322 + * + * # fflush error conditions + * for fn in [error_fn]: # <<<<<<<<<<<<<< + * f.flush = fn + * assert zran_file_util._fflush_python(f) == -1 + */ + __Pyx_TraceLine(322,0,__PYX_ERR(0, 322, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":315 + * + * + * def test_fflush(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_fflush", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fn); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":329 + * + * + * def test_fwrite(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_17test_fwrite(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_17test_fwrite = {"test_fwrite", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_17test_fwrite, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_17test_fwrite(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_fwrite (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_16test_fwrite(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_16test_fwrite(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + char *__pyx_v_inp; + size_t __pyx_v_elems_written; + PyObject *__pyx_v_fn = NULL; + size_t __pyx_v_result; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__19) + __Pyx_RefNannySetupContext("test_fwrite", 0); + __Pyx_TraceCall("test_fwrite", __pyx_f[0], 329, 0, __PYX_ERR(0, 329, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":331 + * def test_fwrite(): + * + * f = BytesIO(b"abc") # <<<<<<<<<<<<<< + * cdef char* inp = 'de' + * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) + */ + __Pyx_TraceLine(331,0,__PYX_ERR(0, 331, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":332 + * + * f = BytesIO(b"abc") + * cdef char* inp = 'de' # <<<<<<<<<<<<<< + * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) + * assert elems_written == 2 + */ + __Pyx_TraceLine(332,0,__PYX_ERR(0, 332, __pyx_L1_error)) + __pyx_v_inp = ((char *)"de"); + + /* "indexed_gzip/tests/ctest_zran.pyx":333 + * f = BytesIO(b"abc") + * cdef char* inp = 'de' + * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) # <<<<<<<<<<<<<< + * assert elems_written == 2 + * assert f.tell() == 2 + */ + __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L1_error)) + __pyx_v_elems_written = _fwrite_python(__pyx_v_inp, 1, 2, ((PyObject *)__pyx_v_f)); + + /* "indexed_gzip/tests/ctest_zran.pyx":334 + * cdef char* inp = 'de' + * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) + * assert elems_written == 2 # <<<<<<<<<<<<<< + * assert f.tell() == 2 + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(334,0,__PYX_ERR(0, 334, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_elems_written == 2) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 334, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":335 + * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) + * assert elems_written == 2 + * assert f.tell() == 2 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * f.seek(0) + */ + __Pyx_TraceLine(335,0,__PYX_ERR(0, 335, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 335, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 335, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":336 + * assert elems_written == 2 + * assert f.tell() == 2 + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * f.seek(0) + * assert f.read() == b"dec" + */ + __Pyx_TraceLine(336,0,__PYX_ERR(0, 336, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 336, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":337 + * assert f.tell() == 2 + * assert zran_file_util._ferror_python(f) == 0 + * f.seek(0) # <<<<<<<<<<<<<< + * assert f.read() == b"dec" + * + */ + __Pyx_TraceLine(337,0,__PYX_ERR(0, 337, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_0); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":338 + * assert zran_file_util._ferror_python(f) == 0 + * f.seek(0) + * assert f.read() == b"dec" # <<<<<<<<<<<<<< + * + * # fwrite error conditions + */ + __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_n_b_dec, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 338, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":343 + * # In Python 2, .write() returns None, so its return value + * # is ignored by _fwrite_python and can't cause an error. + * for fn in [error_fn, return_fn(None)] if sys.version_info[0] >= 3 else [error_fn]: # <<<<<<<<<<<<<< + * f.write = fn + * result = zran_file_util._fwrite_python(inp, 1, 2, f) + */ + __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_int_3, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_4) { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_return_fn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_5, Py_None); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_3); + PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); + __pyx_t_3 = 0; + __pyx_t_1 = 0; + __pyx_t_2 = __pyx_t_5; + __pyx_t_5 = 0; + } else { + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + } + if (unlikely(__pyx_t_2 == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); + __PYX_ERR(0, 343, __pyx_L1_error) + } + __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + for (;;) { + if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 343, __pyx_L1_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":344 + * # is ignored by _fwrite_python and can't cause an error. + * for fn in [error_fn, return_fn(None)] if sys.version_info[0] >= 3 else [error_fn]: + * f.write = fn # <<<<<<<<<<<<<< + * result = zran_file_util._fwrite_python(inp, 1, 2, f) + * assert result == 0, result + */ + __Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_write, __pyx_v_fn) < 0) __PYX_ERR(0, 344, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":345 + * for fn in [error_fn, return_fn(None)] if sys.version_info[0] >= 3 else [error_fn]: + * f.write = fn + * result = zran_file_util._fwrite_python(inp, 1, 2, f) # <<<<<<<<<<<<<< + * assert result == 0, result + * assert zran_file_util._ferror_python(f) == 1 + */ + __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L1_error)) + __pyx_v_result = _fwrite_python(__pyx_v_inp, 1, 2, ((PyObject *)__pyx_v_f)); + + /* "indexed_gzip/tests/ctest_zran.pyx":346 + * f.write = fn + * result = zran_file_util._fwrite_python(inp, 1, 2, f) + * assert result == 0, result # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() + */ + __Pyx_TraceLine(346,0,__PYX_ERR(0, 346, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_result == 0) != 0))) { + __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 346, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 346, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); + __pyx_t_2 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_5); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __PYX_ERR(0, 346, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":347 + * result = zran_file_util._fwrite_python(inp, 1, 2, f) + * assert result == 0, result + * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< + * PyErr_Clear() + * + */ + __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 347, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":348 + * assert result == 0, result + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L1_error)) + PyErr_Clear(); + + /* "indexed_gzip/tests/ctest_zran.pyx":343 + * # In Python 2, .write() returns None, so its return value + * # is ignored by _fwrite_python and can't cause an error. + * for fn in [error_fn, return_fn(None)] if sys.version_info[0] >= 3 else [error_fn]: # <<<<<<<<<<<<<< + * f.write = fn + * result = zran_file_util._fwrite_python(inp, 1, 2, f) + */ + __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":329 + * + * + * def test_fwrite(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_fwrite", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fn); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":351 + * + * + * def test_getc(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"dbc") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_getc(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_getc = {"test_getc", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_getc, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_getc(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_getc (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_18test_getc(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_18test_getc(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_fn = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + Py_ssize_t __pyx_t_5; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__20) + __Pyx_RefNannySetupContext("test_getc", 0); + __Pyx_TraceCall("test_getc", __pyx_f[0], 351, 0, __PYX_ERR(0, 351, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":353 + * def test_getc(): + * + * f = BytesIO(b"dbc") # <<<<<<<<<<<<<< + * assert zran_file_util._getc_python(f) == ord(b"d") + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(353,0,__PYX_ERR(0, 353, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 353, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_dbc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_dbc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 353, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":354 + * + * f = BytesIO(b"dbc") + * assert zran_file_util._getc_python(f) == ord(b"d") # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == ord(b"b") + */ + __Pyx_TraceLine(354,0,__PYX_ERR(0, 354, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == 0x64) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 354, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":355 + * f = BytesIO(b"dbc") + * assert zran_file_util._getc_python(f) == ord(b"d") + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * assert zran_file_util._getc_python(f) == ord(b"b") + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 355, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":356 + * assert zran_file_util._getc_python(f) == ord(b"d") + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == ord(b"b") # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == ord(b"c") + */ + __Pyx_TraceLine(356,0,__PYX_ERR(0, 356, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == 98) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 356, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":357 + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == ord(b"b") + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * assert zran_file_util._getc_python(f) == ord(b"c") + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(357,0,__PYX_ERR(0, 357, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 357, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":358 + * assert zran_file_util._getc_python(f) == ord(b"b") + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == ord(b"c") # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == -1 # reached EOF + */ + __Pyx_TraceLine(358,0,__PYX_ERR(0, 358, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == 99) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 358, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":359 + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == ord(b"c") + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * assert zran_file_util._getc_python(f) == -1 # reached EOF + * assert zran_file_util._ferror_python(f) == 0 + */ + __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 359, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":360 + * assert zran_file_util._getc_python(f) == ord(b"c") + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == -1 # reached EOF # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._feof_python(f, 0) == 1 + */ + __Pyx_TraceLine(360,0,__PYX_ERR(0, 360, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == -1L) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 360, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":361 + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._getc_python(f) == -1 # reached EOF + * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< + * assert zran_file_util._feof_python(f, 0) == 1 + * + */ + __Pyx_TraceLine(361,0,__PYX_ERR(0, 361, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 361, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":362 + * assert zran_file_util._getc_python(f) == -1 # reached EOF + * assert zran_file_util._ferror_python(f) == 0 + * assert zran_file_util._feof_python(f, 0) == 1 # <<<<<<<<<<<<<< + * + * # getc error conditions + */ + __Pyx_TraceLine(362,0,__PYX_ERR(0, 362, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_feof_python(((PyObject *)__pyx_v_f), 0) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 362, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":365 + * + * # getc error conditions + * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< + * f.read = fn + * assert zran_file_util._getc_python(f) == -1 + */ + __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_return_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_3, Py_None); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_1 = 0; + __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (__pyx_t_5 >= 2) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 365, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":366 + * # getc error conditions + * for fn in [error_fn, return_fn(None)]: + * f.read = fn # <<<<<<<<<<<<<< + * assert zran_file_util._getc_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 + */ + __Pyx_TraceLine(366,0,__PYX_ERR(0, 366, __pyx_L1_error)) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_read, __pyx_v_fn) < 0) __PYX_ERR(0, 366, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":367 + * for fn in [error_fn, return_fn(None)]: + * f.read = fn + * assert zran_file_util._getc_python(f) == -1 # <<<<<<<<<<<<<< + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() + */ + __Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == -1L) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 367, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":368 + * f.read = fn + * assert zran_file_util._getc_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< + * PyErr_Clear() + * + */ + __Pyx_TraceLine(368,0,__PYX_ERR(0, 368, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 368, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":369 + * assert zran_file_util._getc_python(f) == -1 + * assert zran_file_util._ferror_python(f) == 1 + * PyErr_Clear() # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(369,0,__PYX_ERR(0, 369, __pyx_L1_error)) + PyErr_Clear(); + + /* "indexed_gzip/tests/ctest_zran.pyx":365 + * + * # getc error conditions + * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< + * f.read = fn + * assert zran_file_util._getc_python(f) == -1 + */ + __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":351 + * + * + * def test_getc(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"dbc") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_getc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fn); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":372 + * + * + * def test_seekable(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_21test_seekable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_21test_seekable = {"test_seekable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_21test_seekable, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_21test_seekable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seekable (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_20test_seekable(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":376 + * f = BytesIO(b"abc") + * assert zran_file_util._seekable_python(f) == 1 + * f.seekable = lambda: False # <<<<<<<<<<<<<< + * assert zran_file_util._seekable_python(f) == 0 + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2 = {"lambda2", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("lambda2 (wrapper)", 0); + __pyx_r = __pyx_lambda_funcdef_lambda2(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_lambda_funcdef_lambda2(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("lambda2", 0); + __Pyx_TraceCall("lambda2", __pyx_f[0], 376, 0, __PYX_ERR(0, 376, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_False); + __pyx_r = Py_False; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seekable.lambda2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":372 + * + * + * def test_seekable(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_20test_seekable(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__21) + __Pyx_RefNannySetupContext("test_seekable", 0); + __Pyx_TraceCall("test_seekable", __pyx_f[0], 372, 0, __PYX_ERR(0, 372, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":374 + * def test_seekable(): + * + * f = BytesIO(b"abc") # <<<<<<<<<<<<<< + * assert zran_file_util._seekable_python(f) == 1 + * f.seekable = lambda: False + */ + __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 374, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":375 + * + * f = BytesIO(b"abc") + * assert zran_file_util._seekable_python(f) == 1 # <<<<<<<<<<<<<< + * f.seekable = lambda: False + * assert zran_file_util._seekable_python(f) == 0 + */ + __Pyx_TraceLine(375,0,__PYX_ERR(0, 375, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_seekable_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 375, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":376 + * f = BytesIO(b"abc") + * assert zran_file_util._seekable_python(f) == 1 + * f.seekable = lambda: False # <<<<<<<<<<<<<< + * assert zran_file_util._seekable_python(f) == 0 + * + */ + __Pyx_TraceLine(376,0,__PYX_ERR(0, 376, __pyx_L1_error)) + __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2, 0, __pyx_n_s_test_seekable_locals_lambda, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_seekable, __pyx_t_1) < 0) __PYX_ERR(0, 376, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":377 + * assert zran_file_util._seekable_python(f) == 1 + * f.seekable = lambda: False + * assert zran_file_util._seekable_python(f) == 0 # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(377,0,__PYX_ERR(0, 377, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((_seekable_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 377, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":372 + * + * + * def test_seekable(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":380 + * + * + * def test_init(testfile, no_fds): # <<<<<<<<<<<<<< + * """Tests a bunch of permutations of the parameters to zran_init. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_23test_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_22test_init[] = "Tests a bunch of permutations of the parameters to zran_init. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_23test_init = {"test_init", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_23test_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_22test_init}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_23test_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_init (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_init", 1, 2, 2, 1); __PYX_ERR(0, 380, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init") < 0)) __PYX_ERR(0, 380, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_init", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 380, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_22test_init(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_22test_init(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds) { + PyObject *__pyx_v_spacings = NULL; + PyObject *__pyx_v_window_sizes = NULL; + PyObject *__pyx_v_readbuf_sizes = NULL; + PyObject *__pyx_v_flags = NULL; + zran_index_t __pyx_v_index; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_pyfid = NULL; + PyObject *__pyx_v_s = NULL; + PyObject *__pyx_v_w = NULL; + PyObject *__pyx_v_r = NULL; + PyObject *__pyx_v_f = NULL; + int __pyx_v_result; + PyObject *__pyx_v_expected = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + Py_ssize_t __pyx_t_10; + PyObject *(*__pyx_t_11)(PyObject *); + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *(*__pyx_t_15)(PyObject *); + void *__pyx_t_16; + int __pyx_t_17; + PyObject *__pyx_t_18; + uint32_t __pyx_t_19; + uint32_t __pyx_t_20; + uint32_t __pyx_t_21; + uint16_t __pyx_t_22; + PyObject *__pyx_t_23 = NULL; + int __pyx_t_24; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__22) + __Pyx_RefNannySetupContext("test_init", 0); + __Pyx_TraceCall("test_init", __pyx_f[0], 380, 0, __PYX_ERR(0, 380, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":383 + * """Tests a bunch of permutations of the parameters to zran_init. """ + * + * spacings = [0, 16384, 32768, 65536, 524288, 1048576, 2097152, 4194304] # <<<<<<<<<<<<<< + * window_sizes = [0, 8192, 16384, 32768, 65536, 131072] + * readbuf_sizes = [0, 8192, 16384, 24576, 32768, 65536, 131072] + */ + __Pyx_TraceLine(383,0,__PYX_ERR(0, 383, __pyx_L1_error)) + __pyx_t_1 = PyList_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); + __Pyx_INCREF(__pyx_int_16384); + __Pyx_GIVEREF(__pyx_int_16384); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_16384); + __Pyx_INCREF(__pyx_int_32768); + __Pyx_GIVEREF(__pyx_int_32768); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_32768); + __Pyx_INCREF(__pyx_int_65536); + __Pyx_GIVEREF(__pyx_int_65536); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_65536); + __Pyx_INCREF(__pyx_int_524288); + __Pyx_GIVEREF(__pyx_int_524288); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_524288); + __Pyx_INCREF(__pyx_int_1048576); + __Pyx_GIVEREF(__pyx_int_1048576); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_1048576); + __Pyx_INCREF(__pyx_int_2097152); + __Pyx_GIVEREF(__pyx_int_2097152); + PyList_SET_ITEM(__pyx_t_1, 6, __pyx_int_2097152); + __Pyx_INCREF(__pyx_int_4194304); + __Pyx_GIVEREF(__pyx_int_4194304); + PyList_SET_ITEM(__pyx_t_1, 7, __pyx_int_4194304); + __pyx_v_spacings = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":384 + * + * spacings = [0, 16384, 32768, 65536, 524288, 1048576, 2097152, 4194304] + * window_sizes = [0, 8192, 16384, 32768, 65536, 131072] # <<<<<<<<<<<<<< + * readbuf_sizes = [0, 8192, 16384, 24576, 32768, 65536, 131072] + * flags = [0, zran.ZRAN_AUTO_BUILD] + */ + __Pyx_TraceLine(384,0,__PYX_ERR(0, 384, __pyx_L1_error)) + __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); + __Pyx_INCREF(__pyx_int_8192); + __Pyx_GIVEREF(__pyx_int_8192); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_8192); + __Pyx_INCREF(__pyx_int_16384); + __Pyx_GIVEREF(__pyx_int_16384); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_16384); + __Pyx_INCREF(__pyx_int_32768); + __Pyx_GIVEREF(__pyx_int_32768); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_32768); + __Pyx_INCREF(__pyx_int_65536); + __Pyx_GIVEREF(__pyx_int_65536); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_65536); + __Pyx_INCREF(__pyx_int_131072); + __Pyx_GIVEREF(__pyx_int_131072); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_131072); + __pyx_v_window_sizes = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":385 + * spacings = [0, 16384, 32768, 65536, 524288, 1048576, 2097152, 4194304] + * window_sizes = [0, 8192, 16384, 32768, 65536, 131072] + * readbuf_sizes = [0, 8192, 16384, 24576, 32768, 65536, 131072] # <<<<<<<<<<<<<< + * flags = [0, zran.ZRAN_AUTO_BUILD] + * + */ + __Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error)) + __pyx_t_1 = PyList_New(7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 385, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); + __Pyx_INCREF(__pyx_int_8192); + __Pyx_GIVEREF(__pyx_int_8192); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_8192); + __Pyx_INCREF(__pyx_int_16384); + __Pyx_GIVEREF(__pyx_int_16384); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_16384); + __Pyx_INCREF(__pyx_int_24576); + __Pyx_GIVEREF(__pyx_int_24576); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_24576); + __Pyx_INCREF(__pyx_int_32768); + __Pyx_GIVEREF(__pyx_int_32768); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_32768); + __Pyx_INCREF(__pyx_int_65536); + __Pyx_GIVEREF(__pyx_int_65536); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_65536); + __Pyx_INCREF(__pyx_int_131072); + __Pyx_GIVEREF(__pyx_int_131072); + PyList_SET_ITEM(__pyx_t_1, 6, __pyx_int_131072); + __pyx_v_readbuf_sizes = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":386 + * window_sizes = [0, 8192, 16384, 32768, 65536, 131072] + * readbuf_sizes = [0, 8192, 16384, 24576, 32768, 65536, 131072] + * flags = [0, zran.ZRAN_AUTO_BUILD] # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(386,0,__PYX_ERR(0, 386, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_From_int(ZRAN_AUTO_BUILD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 386, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 386, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); + __Pyx_GIVEREF(__pyx_t_1); + PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); + __pyx_t_1 = 0; + __pyx_v_flags = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":391 + * cdef FILE *cfid + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * + * cfid = fdopen(pyfid.fileno(), 'rb') + */ + __Pyx_TraceLine(391,0,__PYX_ERR(0, 391, __pyx_L1_error)) + /*with:*/ { + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_rb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 391, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":393 + * with open(testfile, 'rb') as pyfid: + * + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * for s, w, r, f in it.product(spacings, + */ + __Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 393, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":395 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * for s, w, r, f in it.product(spacings, # <<<<<<<<<<<<<< + * window_sizes, + * readbuf_sizes, + */ + __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_it); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_product); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":398 + * window_sizes, + * readbuf_sizes, + * flags): # <<<<<<<<<<<<<< + * + * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, s, w, r, f) + */ + __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L7_error)) + __pyx_t_1 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[5] = {__pyx_t_1, __pyx_v_spacings, __pyx_v_window_sizes, __pyx_v_readbuf_sizes, __pyx_v_flags}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 4+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[5] = {__pyx_t_1, __pyx_v_spacings, __pyx_v_window_sizes, __pyx_v_readbuf_sizes, __pyx_v_flags}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 4+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_5 = PyTuple_New(4+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_INCREF(__pyx_v_spacings); + __Pyx_GIVEREF(__pyx_v_spacings); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_spacings); + __Pyx_INCREF(__pyx_v_window_sizes); + __Pyx_GIVEREF(__pyx_v_window_sizes); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_window_sizes); + __Pyx_INCREF(__pyx_v_readbuf_sizes); + __Pyx_GIVEREF(__pyx_v_readbuf_sizes); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_v_readbuf_sizes); + __Pyx_INCREF(__pyx_v_flags); + __Pyx_GIVEREF(__pyx_v_flags); + PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_9, __pyx_v_flags); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":395 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * for s, w, r, f in it.product(spacings, # <<<<<<<<<<<<<< + * window_sizes, + * readbuf_sizes, + */ + __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L7_error)) + if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { + __pyx_t_2 = __pyx_t_4; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0; + __pyx_t_11 = NULL; + } else { + __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 395, __pyx_L7_error) + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + for (;;) { + if (likely(!__pyx_t_11)) { + if (likely(PyList_CheckExact(__pyx_t_2))) { + if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 395, __pyx_L7_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 395, __pyx_L7_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } + } else { + __pyx_t_4 = __pyx_t_11(__pyx_t_2); + if (unlikely(!__pyx_t_4)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 395, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_4); + } + if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { + PyObject* sequence = __pyx_t_4; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 4)) { + if (size > 4) __Pyx_RaiseTooManyValuesError(4); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 395, __pyx_L7_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); + __pyx_t_12 = PyTuple_GET_ITEM(sequence, 2); + __pyx_t_13 = PyTuple_GET_ITEM(sequence, 3); + } else { + __pyx_t_5 = PyList_GET_ITEM(sequence, 0); + __pyx_t_1 = PyList_GET_ITEM(sequence, 1); + __pyx_t_12 = PyList_GET_ITEM(sequence, 2); + __pyx_t_13 = PyList_GET_ITEM(sequence, 3); + } + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(__pyx_t_13); + #else + { + Py_ssize_t i; + PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_1,&__pyx_t_12,&__pyx_t_13}; + for (i=0; i < 4; i++) { + PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(item); + *(temps[i]) = item; + } + } + #endif + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else { + Py_ssize_t index = -1; + PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_1,&__pyx_t_12,&__pyx_t_13}; + __pyx_t_14 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 395, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_15 = Py_TYPE(__pyx_t_14)->tp_iternext; + for (index=0; index < 4; index++) { + PyObject* item = __pyx_t_15(__pyx_t_14); if (unlikely(!item)) goto __pyx_L15_unpacking_failed; + __Pyx_GOTREF(item); + *(temps[index]) = item; + } + if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_14), 4) < 0) __PYX_ERR(0, 395, __pyx_L7_error) + __pyx_t_15 = NULL; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L16_unpacking_done; + __pyx_L15_unpacking_failed:; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_15 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 395, __pyx_L7_error) + __pyx_L16_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_5); + __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1); + __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_r, __pyx_t_12); + __pyx_t_12 = 0; + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_13); + __pyx_t_13 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":400 + * flags): + * + * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, s, w, r, f) # <<<<<<<<<<<<<< + * + * expected = True + */ + __Pyx_TraceLine(400,0,__PYX_ERR(0, 400, __pyx_L7_error)) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 400, __pyx_L7_error) + if (__pyx_t_17) { + __pyx_t_16 = NULL; + } else { + __pyx_t_16 = __pyx_v_cfid; + } + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 400, __pyx_L7_error) + if (__pyx_t_17) { + __pyx_t_18 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_18 = NULL; + } + __pyx_t_19 = __Pyx_PyInt_As_uint32_t(__pyx_v_s); if (unlikely((__pyx_t_19 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L7_error) + __pyx_t_20 = __Pyx_PyInt_As_uint32_t(__pyx_v_w); if (unlikely((__pyx_t_20 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L7_error) + __pyx_t_21 = __Pyx_PyInt_As_uint32_t(__pyx_v_r); if (unlikely((__pyx_t_21 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L7_error) + __pyx_t_22 = __Pyx_PyInt_As_uint16_t(__pyx_v_f); if (unlikely((__pyx_t_22 == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L7_error) + __pyx_v_result = (!(zran_init((&__pyx_v_index), __pyx_t_16, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22) != 0)); + + /* "indexed_gzip/tests/ctest_zran.pyx":402 + * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, s, w, r, f) + * + * expected = True # <<<<<<<<<<<<<< + * + * # zran_init should fail if the point spacing + */ + __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L7_error)) + __Pyx_INCREF(Py_True); + __Pyx_XDECREF_SET(__pyx_v_expected, Py_True); + + /* "indexed_gzip/tests/ctest_zran.pyx":407 + * # is less than the window size + * + * if w == 0: w = 32768 # <<<<<<<<<<<<<< + * if s == 0: s = 1048576 + * if r == 0: r = 16384 + */ + __Pyx_TraceLine(407,0,__PYX_ERR(0, 407, __pyx_L7_error)) + __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_w, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 407, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 407, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_17) { + __Pyx_INCREF(__pyx_int_32768); + __Pyx_DECREF_SET(__pyx_v_w, __pyx_int_32768); + } + + /* "indexed_gzip/tests/ctest_zran.pyx":408 + * + * if w == 0: w = 32768 + * if s == 0: s = 1048576 # <<<<<<<<<<<<<< + * if r == 0: r = 16384 + * + */ + __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L7_error)) + __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_s, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 408, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 408, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_17) { + __Pyx_INCREF(__pyx_int_1048576); + __Pyx_DECREF_SET(__pyx_v_s, __pyx_int_1048576); + } + + /* "indexed_gzip/tests/ctest_zran.pyx":409 + * if w == 0: w = 32768 + * if s == 0: s = 1048576 + * if r == 0: r = 16384 # <<<<<<<<<<<<<< + * + * expected = (w >= 32768) and (s > w) + */ + __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L7_error)) + __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_r, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 409, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 409, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_17) { + __Pyx_INCREF(__pyx_int_16384); + __Pyx_DECREF_SET(__pyx_v_r, __pyx_int_16384); + } + + /* "indexed_gzip/tests/ctest_zran.pyx":411 + * if r == 0: r = 16384 + * + * expected = (w >= 32768) and (s > w) # <<<<<<<<<<<<<< + * + * assert result == expected + */ + __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L7_error)) + __pyx_t_13 = PyObject_RichCompare(__pyx_v_w, __pyx_int_32768, Py_GE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 411, __pyx_L7_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 411, __pyx_L7_error) + if (__pyx_t_17) { + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } else { + __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = __pyx_t_13; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L20_bool_binop_done; + } + __pyx_t_13 = PyObject_RichCompare(__pyx_v_s, __pyx_v_w, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 411, __pyx_L7_error) + __Pyx_INCREF(__pyx_t_13); + __pyx_t_4 = __pyx_t_13; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __pyx_L20_bool_binop_done:; + __Pyx_DECREF_SET(__pyx_v_expected, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":413 + * expected = (w >= 32768) and (s > w) + * + * assert result == expected # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(413,0,__PYX_ERR(0, 413, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 413, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_13 = PyObject_RichCompare(__pyx_t_4, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 413, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 413, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 413, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":415 + * assert result == expected + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":395 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * for s, w, r, f in it.product(spacings, # <<<<<<<<<<<<<< + * window_sizes, + * readbuf_sizes, + */ + __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":391 + * cdef FILE *cfid + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * + * cfid = fdopen(pyfid.fileno(), 'rb') + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_13, &__pyx_t_4) < 0) __PYX_ERR(0, 391, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_13); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_12 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_13, __pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 391, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_12, NULL); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 391, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_23); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_23); + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 391, __pyx_L9_except_error) + __pyx_t_24 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_24) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_13, __pyx_t_4); + __pyx_t_2 = 0; __pyx_t_13 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 391, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_3) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L25; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L1_error; + __pyx_L25:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":380 + * + * + * def test_init(testfile, no_fds): # <<<<<<<<<<<<<< + * """Tests a bunch of permutations of the parameters to zran_init. """ + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_spacings); + __Pyx_XDECREF(__pyx_v_window_sizes); + __Pyx_XDECREF(__pyx_v_readbuf_sizes); + __Pyx_XDECREF(__pyx_v_flags); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_s); + __Pyx_XDECREF(__pyx_v_w); + __Pyx_XDECREF(__pyx_v_r); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_expected); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":418 + * + * + * def test_init_file_modes(testfile, no_fds): # <<<<<<<<<<<<<< + * + * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes = {"test_init_file_modes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_init_file_modes (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_init_file_modes", 1, 2, 2, 1); __PYX_ERR(0, 418, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_file_modes") < 0)) __PYX_ERR(0, 418, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_init_file_modes", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 418, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init_file_modes", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_24test_init_file_modes(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_24test_init_file_modes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds) { + PyObject *__pyx_v_modes = NULL; + PyObject *__pyx_v_files = NULL; + zran_index_t __pyx_v_index; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_bmode = 0; + char *__pyx_v_cmode; + PyObject *__pyx_v_filename = NULL; + PyObject *__pyx_v_mode = NULL; + PyObject *__pyx_v_pyfid = NULL; + PyObject *__pyx_v_expected = NULL; + int __pyx_v_result; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + Py_ssize_t __pyx_t_3; + PyObject *(*__pyx_t_4)(PyObject *); + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *(*__pyx_t_8)(PyObject *); + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + char *__pyx_t_13; + int __pyx_t_14; + int __pyx_t_15; + void *__pyx_t_16; + PyObject *__pyx_t_17; + PyObject *__pyx_t_18 = NULL; + int __pyx_t_19; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__24) + __Pyx_RefNannySetupContext("test_init_file_modes", 0); + __Pyx_TraceCall("test_init_file_modes", __pyx_f[0], 418, 0, __PYX_ERR(0, 418, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":420 + * def test_init_file_modes(testfile, no_fds): + * + * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] # <<<<<<<<<<<<<< + * + * files = [testfile, testfile, + */ + __Pyx_TraceLine(420,0,__PYX_ERR(0, 420, __pyx_L1_error)) + __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 420, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_r); + __Pyx_GIVEREF(__pyx_n_s_r); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_r); + __Pyx_INCREF(__pyx_kp_s_r_2); + __Pyx_GIVEREF(__pyx_kp_s_r_2); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_kp_s_r_2); + __Pyx_INCREF(__pyx_n_s_w); + __Pyx_GIVEREF(__pyx_n_s_w); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_w); + __Pyx_INCREF(__pyx_kp_s_w_2); + __Pyx_GIVEREF(__pyx_kp_s_w_2); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_kp_s_w_2); + __Pyx_INCREF(__pyx_n_s_a); + __Pyx_GIVEREF(__pyx_n_s_a); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_s_a); + __Pyx_INCREF(__pyx_kp_s_a_2); + __Pyx_GIVEREF(__pyx_kp_s_a_2); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_kp_s_a_2); + __pyx_v_modes = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":422 + * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] + * + * files = [testfile, testfile, # <<<<<<<<<<<<<< + * 'dummy.gz', 'dummy.gz', 'dummy.gz', 'dummy.gz'] + * + */ + __Pyx_TraceLine(422,0,__PYX_ERR(0, 422, __pyx_L1_error)) + __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 422, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_v_testfile); + __Pyx_INCREF(__pyx_kp_s_dummy_gz); + __Pyx_GIVEREF(__pyx_kp_s_dummy_gz); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_kp_s_dummy_gz); + __Pyx_INCREF(__pyx_kp_s_dummy_gz); + __Pyx_GIVEREF(__pyx_kp_s_dummy_gz); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_kp_s_dummy_gz); + __Pyx_INCREF(__pyx_kp_s_dummy_gz); + __Pyx_GIVEREF(__pyx_kp_s_dummy_gz); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_kp_s_dummy_gz); + __Pyx_INCREF(__pyx_kp_s_dummy_gz); + __Pyx_GIVEREF(__pyx_kp_s_dummy_gz); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_kp_s_dummy_gz); + __pyx_v_files = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":430 + * cdef char *cmode + * + * for filename, mode in zip(files, modes): # <<<<<<<<<<<<<< + * + * with open(filename, mode) as pyfid: + */ + __Pyx_TraceLine(430,0,__PYX_ERR(0, 430, __pyx_L1_error)) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_files); + __Pyx_GIVEREF(__pyx_v_files); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_files); + __Pyx_INCREF(__pyx_v_modes); + __Pyx_GIVEREF(__pyx_v_modes); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_modes); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { + __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; + __pyx_t_4 = NULL; + } else { + __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + for (;;) { + if (likely(!__pyx_t_4)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 430, __pyx_L1_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 430, __pyx_L1_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } + } else { + __pyx_t_2 = __pyx_t_4(__pyx_t_1); + if (unlikely(!__pyx_t_2)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 430, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_2); + } + if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { + PyObject* sequence = __pyx_t_2; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 430, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_5 = PyList_GET_ITEM(sequence, 0); + __pyx_t_6 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + #else + __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 430, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 430, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 430, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; + index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; + __Pyx_GOTREF(__pyx_t_6); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 430, __pyx_L1_error) + __pyx_t_8 = NULL; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L6_unpacking_done; + __pyx_L5_unpacking_failed:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_8 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 430, __pyx_L1_error) + __pyx_L6_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_filename, __pyx_t_5); + __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_mode, __pyx_t_6); + __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":432 + * for filename, mode in zip(files, modes): + * + * with open(filename, mode) as pyfid: # <<<<<<<<<<<<<< + * + * bmode = mode.encode() + */ + __Pyx_TraceLine(432,0,__PYX_ERR(0, 432, __pyx_L1_error)) + /*with:*/ { + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_filename); + __Pyx_GIVEREF(__pyx_v_filename); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_filename); + __Pyx_INCREF(__pyx_v_mode); + __Pyx_GIVEREF(__pyx_v_mode); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_mode); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 432, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":434 + * with open(filename, mode) as pyfid: + * + * bmode = mode.encode() # <<<<<<<<<<<<<< + * cmode = bmode + * cfid = fdopen(pyfid.fileno(), cmode) + */ + __Pyx_TraceLine(434,0,__PYX_ERR(0, 434, __pyx_L13_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_n_s_encode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 434, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 434, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (!(likely(PyBytes_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 434, __pyx_L13_error) + __Pyx_XDECREF_SET(__pyx_v_bmode, ((PyObject*)__pyx_t_5)); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":435 + * + * bmode = mode.encode() + * cmode = bmode # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), cmode) + * + */ + __Pyx_TraceLine(435,0,__PYX_ERR(0, 435, __pyx_L13_error)) + if (unlikely(__pyx_v_bmode == Py_None)) { + PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found"); + __PYX_ERR(0, 435, __pyx_L13_error) + } + __pyx_t_13 = __Pyx_PyBytes_AsWritableString(__pyx_v_bmode); if (unlikely((!__pyx_t_13) && PyErr_Occurred())) __PYX_ERR(0, 435, __pyx_L13_error) + __pyx_v_cmode = __pyx_t_13; + + /* "indexed_gzip/tests/ctest_zran.pyx":436 + * bmode = mode.encode() + * cmode = bmode + * cfid = fdopen(pyfid.fileno(), cmode) # <<<<<<<<<<<<<< + * + * # If no_fds is set, we can't detect the mode, so reading is always allowed. + */ + __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L13_error)) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 436, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 436, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_14 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 436, __pyx_L13_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_cfid = fdopen(__pyx_t_14, __pyx_v_cmode); + + /* "indexed_gzip/tests/ctest_zran.pyx":439 + * + * # If no_fds is set, we can't detect the mode, so reading is always allowed. + * expected = 1 if no_fds else mode == 'r' # <<<<<<<<<<<<<< + * + * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, 0, 0, 0, 0) + */ + __Pyx_TraceLine(439,0,__PYX_ERR(0, 439, __pyx_L13_error)) + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 439, __pyx_L13_error) + if (__pyx_t_15) { + __Pyx_INCREF(__pyx_int_1); + __pyx_t_5 = __pyx_int_1; + } else { + __pyx_t_6 = PyObject_RichCompare(__pyx_v_mode, __pyx_n_s_r, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 439, __pyx_L13_error) + __pyx_t_5 = __pyx_t_6; + __pyx_t_6 = 0; + } + __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":441 + * expected = 1 if no_fds else mode == 'r' + * + * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, 0, 0, 0, 0) # <<<<<<<<<<<<<< + * + * assert result == expected + */ + __Pyx_TraceLine(441,0,__PYX_ERR(0, 441, __pyx_L13_error)) + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 441, __pyx_L13_error) + if (__pyx_t_15) { + __pyx_t_16 = NULL; + } else { + __pyx_t_16 = __pyx_v_cfid; + } + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 441, __pyx_L13_error) + if (__pyx_t_15) { + __pyx_t_17 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_17 = NULL; + } + __pyx_v_result = (!(zran_init((&__pyx_v_index), __pyx_t_16, __pyx_t_17, 0, 0, 0, 0) != 0)); + + /* "indexed_gzip/tests/ctest_zran.pyx":443 + * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, 0, 0, 0, 0) + * + * assert result == expected # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(443,0,__PYX_ERR(0, 443, __pyx_L13_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 443, __pyx_L13_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 443, __pyx_L13_error) + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_15)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 443, __pyx_L13_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":445 + * assert result == expected + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * if filename == 'dummy.gz' and op.exists(filename): + */ + __Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L13_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":432 + * for filename, mode in zip(files, modes): + * + * with open(filename, mode) as pyfid: # <<<<<<<<<<<<<< + * + * bmode = mode.encode() + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L20_try_end; + __pyx_L13_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init_file_modes", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 432, __pyx_L15_except_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 432, __pyx_L15_except_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_7, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 432, __pyx_L15_except_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_18); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 432, __pyx_L15_except_error) + __pyx_t_19 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_19) { + __Pyx_GIVEREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_5, __pyx_t_2); + __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 432, __pyx_L15_except_error) + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L14_exception_handled; + } + __pyx_L15_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L1_error; + __pyx_L14_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L20_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 432, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L12; + } + __pyx_L12:; + } + goto __pyx_L24; + __pyx_L7_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L1_error; + __pyx_L24:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":447 + * zran.zran_free(&index) + * + * if filename == 'dummy.gz' and op.exists(filename): # <<<<<<<<<<<<<< + * os.remove(filename) + * + */ + __Pyx_TraceLine(447,0,__PYX_ERR(0, 447, __pyx_L1_error)) + __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_v_filename, __pyx_kp_s_dummy_gz, Py_EQ)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 447, __pyx_L1_error) + if (__pyx_t_15) { + } else { + __pyx_t_19 = __pyx_t_15; + goto __pyx_L26_bool_binop_done; + } + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_op); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 447, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_exists); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 447, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_filename); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 447, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 447, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_19 = __pyx_t_15; + __pyx_L26_bool_binop_done:; + if (__pyx_t_19) { + + /* "indexed_gzip/tests/ctest_zran.pyx":448 + * + * if filename == 'dummy.gz' and op.exists(filename): + * os.remove(filename) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(448,0,__PYX_ERR(0, 448, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_os); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 448, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_remove); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 448, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_filename); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 448, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":447 + * zran.zran_free(&index) + * + * if filename == 'dummy.gz' and op.exists(filename): # <<<<<<<<<<<<<< + * os.remove(filename) + * + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":430 + * cdef char *cmode + * + * for filename, mode in zip(files, modes): # <<<<<<<<<<<<<< + * + * with open(filename, mode) as pyfid: + */ + __Pyx_TraceLine(430,0,__PYX_ERR(0, 430, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":418 + * + * + * def test_init_file_modes(testfile, no_fds): # <<<<<<<<<<<<<< + * + * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init_file_modes", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_modes); + __Pyx_XDECREF(__pyx_v_files); + __Pyx_XDECREF(__pyx_v_bmode); + __Pyx_XDECREF(__pyx_v_filename); + __Pyx_XDECREF(__pyx_v_mode); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_expected); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":451 + * + * + * def test_no_auto_build(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build = {"test_no_auto_build", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_no_auto_build (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_no_auto_build", 1, 3, 3, 1); __PYX_ERR(0, 451, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_no_auto_build", 1, 3, 3, 2); __PYX_ERR(0, 451, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_no_auto_build") < 0)) __PYX_ERR(0, 451, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_no_auto_build", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 451, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_no_auto_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_26test_no_auto_build(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_26test_no_auto_build(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { + zran_index_t __pyx_v_index; + void *__pyx_v_buffer; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + long __pyx_v_bufSize; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_gotread = NULL; + uint64_t __pyx_v_gottell; + PyObject *__pyx_v_expread = NULL; + PyObject *__pyx_v_exptell = NULL; + PyObject *__pyx_v_pybuf = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + void *__pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + PyObject *__pyx_t_13; + uint32_t __pyx_t_14; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + Py_ssize_t __pyx_t_21; + Py_ssize_t __pyx_t_22; + int __pyx_t_23; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__25) + __Pyx_RefNannySetupContext("test_no_auto_build", 0); + __Pyx_TraceCall("test_no_auto_build", __pyx_f[0], 451, 0, __PYX_ERR(0, 451, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":456 + * cdef void *buffer + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * indexSpacing = max(1048576, filesize // 1500) + * bufSize = 1048576 + */ + __Pyx_TraceLine(456,0,__PYX_ERR(0, 456, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":457 + * + * filesize = nelems * 8 + * indexSpacing = max(1048576, filesize // 1500) # <<<<<<<<<<<<<< + * bufSize = 1048576 + * buf = ReadBuffer(bufSize) + */ + __Pyx_TraceLine(457,0,__PYX_ERR(0, 457, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 457, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x100000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 457, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 457, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 457, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 457, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":458 + * filesize = nelems * 8 + * indexSpacing = max(1048576, filesize // 1500) + * bufSize = 1048576 # <<<<<<<<<<<<<< + * buf = ReadBuffer(bufSize) + * buffer = buf.buffer + */ + __Pyx_TraceLine(458,0,__PYX_ERR(0, 458, __pyx_L1_error)) + __pyx_v_bufSize = 0x100000; + + /* "indexed_gzip/tests/ctest_zran.pyx":459 + * indexSpacing = max(1048576, filesize // 1500) + * bufSize = 1048576 + * buf = ReadBuffer(bufSize) # <<<<<<<<<<<<<< + * buffer = buf.buffer + * + */ + __Pyx_TraceLine(459,0,__PYX_ERR(0, 459, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 459, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":460 + * bufSize = 1048576 + * buf = ReadBuffer(bufSize) + * buffer = buf.buffer # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(460,0,__PYX_ERR(0, 460, __pyx_L1_error)) + __pyx_t_7 = __pyx_v_buf->buffer; + __pyx_v_buffer = __pyx_t_7; + + /* "indexed_gzip/tests/ctest_zran.pyx":462 + * buffer = buf.buffer + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(462,0,__PYX_ERR(0, 462, __pyx_L1_error)) + /*with:*/ { + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 462, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 462, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 462, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 462, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":463 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(463,0,__PYX_ERR(0, 463, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 463, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 463, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_cfid = fdopen(__pyx_t_12, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":465 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":466 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(466,0,__PYX_ERR(0, 466, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 466, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_7 = NULL; + } else { + __pyx_t_7 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":467 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(467,0,__PYX_ERR(0, 467, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 467, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_13 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":468 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(468,0,__PYX_ERR(0, 468, __pyx_L7_error)) + __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 468, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":465 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_7, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, 0) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 465, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":473 + * 0) + * + * assert zran.zran_seek(&index, 0, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == 0 + * assert zran.zran_seek(&index, 1, SEEK_SET, NULL) == zran.ZRAN_SEEK_NOT_COVERED + */ + __Pyx_TraceLine(473,0,__PYX_ERR(0, 473, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), 0, SEEK_SET, NULL) == ZRAN_SEEK_OK) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 473, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":474 + * + * assert zran.zran_seek(&index, 0, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == 0 # <<<<<<<<<<<<<< + * assert zran.zran_seek(&index, 1, SEEK_SET, NULL) == zran.ZRAN_SEEK_NOT_COVERED + * assert zran.zran_tell(&index) == 0 + */ + __Pyx_TraceLine(474,0,__PYX_ERR(0, 474, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_tell((&__pyx_v_index)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 474, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":475 + * assert zran.zran_seek(&index, 0, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == 0 + * assert zran.zran_seek(&index, 1, SEEK_SET, NULL) == zran.ZRAN_SEEK_NOT_COVERED # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == 0 + * + */ + __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), 1, SEEK_SET, NULL) == ZRAN_SEEK_NOT_COVERED) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 475, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":476 + * assert zran.zran_tell(&index) == 0 + * assert zran.zran_seek(&index, 1, SEEK_SET, NULL) == zran.ZRAN_SEEK_NOT_COVERED + * assert zran.zran_tell(&index) == 0 # <<<<<<<<<<<<<< + * + * gotread = zran.zran_read(&index, buffer, bufSize) + */ + __Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_tell((&__pyx_v_index)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 476, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":478 + * assert zran.zran_tell(&index) == 0 + * + * gotread = zran.zran_read(&index, buffer, bufSize) # <<<<<<<<<<<<<< + * gottell = zran.zran_tell(&index) + * + */ + __Pyx_TraceLine(478,0,__PYX_ERR(0, 478, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyInt_From_int64_t(zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_v_bufSize)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 478, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_gotread = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":479 + * + * gotread = zran.zran_read(&index, buffer, bufSize) + * gottell = zran.zran_tell(&index) # <<<<<<<<<<<<<< + * + * if bufSize > filesize: expread = filesize + */ + __Pyx_TraceLine(479,0,__PYX_ERR(0, 479, __pyx_L7_error)) + __pyx_v_gottell = zran_tell((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":481 + * gottell = zran.zran_tell(&index) + * + * if bufSize > filesize: expread = filesize # <<<<<<<<<<<<<< + * else: expread = bufSize + * + */ + __Pyx_TraceLine(481,0,__PYX_ERR(0, 481, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_v_filesize, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_v_filesize); + __pyx_v_expread = __pyx_v_filesize; + goto __pyx_L13; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":482 + * + * if bufSize > filesize: expread = filesize + * else: expread = bufSize # <<<<<<<<<<<<<< + * + * if bufSize > filesize: exptell = filesize + */ + __Pyx_TraceLine(482,0,__PYX_ERR(0, 482, __pyx_L7_error)) + /*else*/ { + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_expread = __pyx_t_1; + __pyx_t_1 = 0; + } + __pyx_L13:; + + /* "indexed_gzip/tests/ctest_zran.pyx":484 + * else: expread = bufSize + * + * if bufSize > filesize: exptell = filesize # <<<<<<<<<<<<<< + * else: exptell = bufSize + * + */ + __Pyx_TraceLine(484,0,__PYX_ERR(0, 484, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_v_filesize, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 484, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 484, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_v_filesize); + __pyx_v_exptell = __pyx_v_filesize; + goto __pyx_L14; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":485 + * + * if bufSize > filesize: exptell = filesize + * else: exptell = bufSize # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(485,0,__PYX_ERR(0, 485, __pyx_L7_error)) + /*else*/ { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 485, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_exptell = __pyx_t_5; + __pyx_t_5 = 0; + } + __pyx_L14:; + + /* "indexed_gzip/tests/ctest_zran.pyx":487 + * else: exptell = bufSize + * + * try: # <<<<<<<<<<<<<< + * assert gotread == expread + * assert gottell == exptell + */ + __Pyx_TraceLine(487,0,__PYX_ERR(0, 487, __pyx_L7_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_17); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":488 + * + * try: + * assert gotread == expread # <<<<<<<<<<<<<< + * assert gottell == exptell + * except: + */ + __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L15_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = PyObject_RichCompare(__pyx_v_gotread, __pyx_v_expread, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 488, __pyx_L15_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 488, __pyx_L15_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 488, __pyx_L15_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":489 + * try: + * assert gotread == expread + * assert gottell == exptell # <<<<<<<<<<<<<< + * except: + * print("expread: {}".format(expread)) + */ + __Pyx_TraceLine(489,0,__PYX_ERR(0, 489, __pyx_L15_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 489, __pyx_L15_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_v_exptell, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L15_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 489, __pyx_L15_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 489, __pyx_L15_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":487 + * else: exptell = bufSize + * + * try: # <<<<<<<<<<<<<< + * assert gotread == expread + * assert gottell == exptell + */ + } + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + goto __pyx_L20_try_end; + __pyx_L15_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":490 + * assert gotread == expread + * assert gottell == exptell + * except: # <<<<<<<<<<<<<< + * print("expread: {}".format(expread)) + * print("gotread: {}".format(gotread)) + */ + __Pyx_TraceLine(490,0,__PYX_ERR(0, 490, __pyx_L17_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_no_auto_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 490, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/tests/ctest_zran.pyx":491 + * assert gottell == exptell + * except: + * print("expread: {}".format(expread)) # <<<<<<<<<<<<<< + * print("gotread: {}".format(gotread)) + * print("exptell: {}".format(exptell)) + */ + __Pyx_TraceLine(491,0,__PYX_ERR(0, 491, __pyx_L17_except_error)) + __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_expread, __pyx_n_s_format); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 491, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_19 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { + __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18); + if (likely(__pyx_t_19)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); + __Pyx_INCREF(__pyx_t_19); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_18, function); + } + } + __pyx_t_4 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_19, __pyx_v_expread) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_v_expread); + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 491, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 491, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":492 + * except: + * print("expread: {}".format(expread)) + * print("gotread: {}".format(gotread)) # <<<<<<<<<<<<<< + * print("exptell: {}".format(exptell)) + * print("gottell: {}".format(gottell)) + */ + __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L17_except_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gotread, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 492, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_19 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_19)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_19); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_18 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_19, __pyx_v_gotread) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_gotread); + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 492, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 492, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":493 + * print("expread: {}".format(expread)) + * print("gotread: {}".format(gotread)) + * print("exptell: {}".format(exptell)) # <<<<<<<<<<<<<< + * print("gottell: {}".format(gottell)) + * raise + */ + __Pyx_TraceLine(493,0,__PYX_ERR(0, 493, __pyx_L17_except_error)) + __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_exptell, __pyx_n_s_format); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 493, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_19 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { + __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18); + if (likely(__pyx_t_19)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); + __Pyx_INCREF(__pyx_t_19); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_18, function); + } + } + __pyx_t_4 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_19, __pyx_v_exptell) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_v_exptell); + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 493, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 493, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":494 + * print("gotread: {}".format(gotread)) + * print("exptell: {}".format(exptell)) + * print("gottell: {}".format(gottell)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(494,0,__PYX_ERR(0, 494, __pyx_L17_except_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gottell, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 494, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_19 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 494, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_20 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_20)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_20); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_18 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_20, __pyx_t_19) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_19); + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 494, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 494, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":495 + * print("exptell: {}".format(exptell)) + * print("gottell: {}".format(gottell)) + * raise # <<<<<<<<<<<<<< + * + * pybuf = (buffer)[:gotread] + */ + __Pyx_TraceLine(495,0,__PYX_ERR(0, 495, __pyx_L17_except_error)) + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 495, __pyx_L17_except_error) + } + __pyx_L17_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":487 + * else: exptell = bufSize + * + * try: # <<<<<<<<<<<<<< + * assert gotread == expread + * assert gottell == exptell + */ + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_17); + __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); + goto __pyx_L7_error; + __pyx_L20_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":497 + * raise + * + * pybuf = (buffer)[:gotread] # <<<<<<<<<<<<<< + * data = np.ndarray(gotread // 8, np.uint64, pybuf) + * + */ + __Pyx_TraceLine(497,0,__PYX_ERR(0, 497, __pyx_L7_error)) + __Pyx_INCREF(__pyx_v_gotread); + __pyx_t_3 = __pyx_v_gotread; + __pyx_t_6 = (__pyx_t_3 == Py_None); + if (__pyx_t_6) { + __pyx_t_21 = PY_SSIZE_T_MAX; + } else { + __pyx_t_22 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_22 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 497, __pyx_L7_error) + __pyx_t_21 = __pyx_t_22; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, __pyx_t_21 - 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_pybuf = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":498 + * + * pybuf = (buffer)[:gotread] + * data = np.ndarray(gotread // 8, np.uint64, pybuf) # <<<<<<<<<<<<<< + * + * assert check_data_valid(data, 0) + */ + __Pyx_TraceLine(498,0,__PYX_ERR(0, 498, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_gotread, __pyx_int_8, 8, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 498, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_pybuf); + __Pyx_GIVEREF(__pyx_v_pybuf); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_pybuf); + __pyx_t_5 = 0; + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_ndarray), __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_data = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":500 + * data = np.ndarray(gotread // 8, np.uint64, pybuf) + * + * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< + * + * if bufSize < filesize: + */ + __Pyx_TraceLine(500,0,__PYX_ERR(0, 500, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_data); + __Pyx_GIVEREF(__pyx_v_data); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_v_data); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_int_0); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 500, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 500, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":502 + * assert check_data_valid(data, 0) + * + * if bufSize < filesize: # <<<<<<<<<<<<<< + * assert zran.zran_read(&index, buffer, bufSize) == zran.ZRAN_READ_NOT_COVERED + * + */ + __Pyx_TraceLine(502,0,__PYX_ERR(0, 502, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_filesize, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 502, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 502, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { + + /* "indexed_gzip/tests/ctest_zran.pyx":503 + * + * if bufSize < filesize: + * assert zran.zran_read(&index, buffer, bufSize) == zran.ZRAN_READ_NOT_COVERED # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(503,0,__PYX_ERR(0, 503, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_v_bufSize) == ZRAN_READ_NOT_COVERED) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 503, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":502 + * assert check_data_valid(data, 0) + * + * if bufSize < filesize: # <<<<<<<<<<<<<< + * assert zran.zran_read(&index, buffer, bufSize) == zran.ZRAN_READ_NOT_COVERED + * + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":462 + * buffer = buf.buffer + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_no_auto_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 462, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 462, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 462, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 462, __pyx_L9_except_error) + __pyx_t_23 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_23) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_4); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 462, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_8) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 462, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L27; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L1_error; + __pyx_L27:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":451 + * + * + * def test_no_auto_build(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_20); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_no_auto_build", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_gotread); + __Pyx_XDECREF(__pyx_v_expread); + __Pyx_XDECREF(__pyx_v_exptell); + __Pyx_XDECREF(__pyx_v_pybuf); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":506 + * + * + * def test_seek_to_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end = {"test_seek_to_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seek_to_end (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_to_end", 1, 3, 3, 1); __PYX_ERR(0, 506, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_to_end", 1, 3, 3, 2); __PYX_ERR(0, 506, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_to_end") < 0)) __PYX_ERR(0, 506, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_seek_to_end", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 506, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_28test_seek_to_end(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_28test_seek_to_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_seek_point = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + uint64_t __pyx_v_zt; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + void *__pyx_t_12; + PyObject *__pyx_t_13; + uint32_t __pyx_t_14; + int64_t __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__26) + __Pyx_RefNannySetupContext("test_seek_to_end", 0); + __Pyx_TraceCall("test_seek_to_end", __pyx_f[0], 506, 0, __PYX_ERR(0, 506, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":510 + * cdef zran.zran_index_t index + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * + * seek_point = filesize - 1 + */ + __Pyx_TraceLine(510,0,__PYX_ERR(0, 510, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 510, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":512 + * filesize = nelems * 8 + * + * seek_point = filesize - 1 # <<<<<<<<<<<<<< + * indexSpacing = max(524288, filesize // 1500) + * + */ + __Pyx_TraceLine(512,0,__PYX_ERR(0, 512, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_seek_point = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":513 + * + * seek_point = filesize - 1 + * indexSpacing = max(524288, filesize // 1500) # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(513,0,__PYX_ERR(0, 513, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x80000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 513, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 513, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 513, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 513, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":515 + * indexSpacing = max(524288, filesize // 1500) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(515,0,__PYX_ERR(0, 515, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 515, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 515, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":516 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(516,0,__PYX_ERR(0, 516, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 516, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 516, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 516, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_cfid = fdopen(__pyx_t_11, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":518 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":519 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 519, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_12 = NULL; + } else { + __pyx_t_12 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":520 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 520, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_13 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":521 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L7_error)) + __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 521, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":518 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_12, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 518, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":526 + * zran.ZRAN_AUTO_BUILD) + * + * assert zran.zran_seek(&index, seek_point, SEEK_SET, NULL) == 0 # <<<<<<<<<<<<<< + * + * zt = zran.zran_tell(&index) + */ + __Pyx_TraceLine(526,0,__PYX_ERR(0, 526, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_v_seek_point); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 526, __pyx_L7_error) + if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_SET, NULL) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 526, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":528 + * assert zran.zran_seek(&index, seek_point, SEEK_SET, NULL) == 0 + * + * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< + * + * assert zt == seek_point + */ + __Pyx_TraceLine(528,0,__PYX_ERR(0, 528, __pyx_L7_error)) + __pyx_v_zt = zran_tell((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":530 + * zt = zran.zran_tell(&index) + * + * assert zt == seek_point # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(530,0,__PYX_ERR(0, 530, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 530, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_seek_point, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 530, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 530, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 530, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":532 + * assert zt == seek_point + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(532,0,__PYX_ERR(0, 532, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":515 + * indexSpacing = max(524288, filesize // 1500) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 515, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 515, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_4, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 515, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 515, __pyx_L9_except_error) + __pyx_t_17 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 515, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_7) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 515, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":506 + * + * + * def test_seek_to_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_seek_point); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":535 + * + * + * def test_seek_cur(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur = {"test_seek_cur", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seek_cur (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_cur", 1, 3, 3, 1); __PYX_ERR(0, 535, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_cur", 1, 3, 3, 2); __PYX_ERR(0, 535, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_cur") < 0)) __PYX_ERR(0, 535, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_seek_cur", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 535, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_cur", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_30test_seek_cur(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_30test_seek_cur(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + PyObject *__pyx_v_seekstep = NULL; + PyObject *__pyx_v_curelem = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + int __pyx_v_exp; + int __pyx_v_out; + uint64_t __pyx_v_zt; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + void *__pyx_t_12; + PyObject *__pyx_t_13; + uint32_t __pyx_t_14; + int64_t __pyx_t_15; + struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + int __pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__27) + __Pyx_RefNannySetupContext("test_seek_cur", 0); + __Pyx_TraceCall("test_seek_cur", __pyx_f[0], 535, 0, __PYX_ERR(0, 535, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":539 + * cdef zran.zran_index_t index + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * indexSpacing = max(524288, filesize // 1500) + * seekstep = max(1, (nelems - 1) // 500) + */ + __Pyx_TraceLine(539,0,__PYX_ERR(0, 539, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 539, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":540 + * + * filesize = nelems * 8 + * indexSpacing = max(524288, filesize // 1500) # <<<<<<<<<<<<<< + * seekstep = max(1, (nelems - 1) // 500) + * curelem = 0; + */ + __Pyx_TraceLine(540,0,__PYX_ERR(0, 540, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x80000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":541 + * filesize = nelems * 8 + * indexSpacing = max(524288, filesize // 1500) + * seekstep = max(1, (nelems - 1) // 500) # <<<<<<<<<<<<<< + * curelem = 0; + * + */ + __Pyx_TraceLine(541,0,__PYX_ERR(0, 541, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyInt_FloorDivideObjC(__pyx_t_1, __pyx_int_500, 0x1F4, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_2 = 1; + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_3); + __pyx_t_1 = __pyx_t_3; + } else { + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __Pyx_INCREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_seekstep = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":542 + * indexSpacing = max(524288, filesize // 1500) + * seekstep = max(1, (nelems - 1) // 500) + * curelem = 0; # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(542,0,__PYX_ERR(0, 542, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_v_curelem = __pyx_int_0; + + /* "indexed_gzip/tests/ctest_zran.pyx":544 + * curelem = 0; + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(544,0,__PYX_ERR(0, 544, __pyx_L1_error)) + /*with:*/ { + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 544, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 544, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 544, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":545 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 545, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_cfid = fdopen(__pyx_t_11, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":547 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(547,0,__PYX_ERR(0, 547, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":548 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 548, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_12 = NULL; + } else { + __pyx_t_12 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":549 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(549,0,__PYX_ERR(0, 549, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 549, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_13 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":550 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(550,0,__PYX_ERR(0, 550, __pyx_L7_error)) + __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 550, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":547 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(547,0,__PYX_ERR(0, 547, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_12, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 547, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":555 + * zran.ZRAN_AUTO_BUILD) + * + * while curelem < nelems: # <<<<<<<<<<<<<< + * + * if (curelem + seekstep) * 8 < filesize: exp = zran.ZRAN_SEEK_OK + */ + __Pyx_TraceLine(555,0,__PYX_ERR(0, 555, __pyx_L7_error)) + while (1) { + __pyx_t_4 = PyObject_RichCompare(__pyx_v_curelem, __pyx_v_nelems, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 555, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 555, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!__pyx_t_6) break; + + /* "indexed_gzip/tests/ctest_zran.pyx":557 + * while curelem < nelems: + * + * if (curelem + seekstep) * 8 < filesize: exp = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * else: exp = zran.ZRAN_SEEK_EOF + * + */ + __Pyx_TraceLine(557,0,__PYX_ERR(0, 557, __pyx_L7_error)) + __pyx_t_4 = PyNumber_Add(__pyx_v_curelem, __pyx_v_seekstep); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyNumber_Multiply(__pyx_t_4, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_filesize, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 557, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + __pyx_v_exp = ZRAN_SEEK_OK; + goto __pyx_L15; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":558 + * + * if (curelem + seekstep) * 8 < filesize: exp = zran.ZRAN_SEEK_OK + * else: exp = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(558,0,__PYX_ERR(0, 558, __pyx_L7_error)) + /*else*/ { + __pyx_v_exp = ZRAN_SEEK_EOF; + } + __pyx_L15:; + + /* "indexed_gzip/tests/ctest_zran.pyx":561 + * + * + * out = zran.zran_seek(&index, seekstep * 8, SEEK_CUR, NULL) # <<<<<<<<<<<<<< + * assert out == exp, out + * + */ + __Pyx_TraceLine(561,0,__PYX_ERR(0, 561, __pyx_L7_error)) + __pyx_t_4 = PyNumber_Multiply(__pyx_v_seekstep, __pyx_int_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 561, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_t_4); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 561, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_out = zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_CUR, NULL); + + /* "indexed_gzip/tests/ctest_zran.pyx":562 + * + * out = zran.zran_seek(&index, seekstep * 8, SEEK_CUR, NULL) + * assert out == exp, out # <<<<<<<<<<<<<< + * + * if exp == zran.ZRAN_SEEK_EOF: + */ + __Pyx_TraceLine(562,0,__PYX_ERR(0, 562, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_out == __pyx_v_exp) != 0))) { + __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_out); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 562, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 562, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); + __pyx_t_4 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 562, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":564 + * assert out == exp, out + * + * if exp == zran.ZRAN_SEEK_EOF: # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(564,0,__PYX_ERR(0, 564, __pyx_L7_error)) + __pyx_t_6 = ((__pyx_v_exp == ZRAN_SEEK_EOF) != 0); + if (__pyx_t_6) { + + /* "indexed_gzip/tests/ctest_zran.pyx":565 + * + * if exp == zran.ZRAN_SEEK_EOF: + * break # <<<<<<<<<<<<<< + * + * curelem += seekstep + */ + __Pyx_TraceLine(565,0,__PYX_ERR(0, 565, __pyx_L7_error)) + goto __pyx_L14_break; + + /* "indexed_gzip/tests/ctest_zran.pyx":564 + * assert out == exp, out + * + * if exp == zran.ZRAN_SEEK_EOF: # <<<<<<<<<<<<<< + * break + * + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":567 + * break + * + * curelem += seekstep # <<<<<<<<<<<<<< + * zt = zran.zran_tell(&index) + * val = read_element(&index, curelem, nelems, False) + */ + __Pyx_TraceLine(567,0,__PYX_ERR(0, 567, __pyx_L7_error)) + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_curelem, __pyx_v_seekstep); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF_SET(__pyx_v_curelem, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":568 + * + * curelem += seekstep + * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< + * val = read_element(&index, curelem, nelems, False) + * + */ + __Pyx_TraceLine(568,0,__PYX_ERR(0, 568, __pyx_L7_error)) + __pyx_v_zt = zran_tell((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":569 + * curelem += seekstep + * zt = zran.zran_tell(&index) + * val = read_element(&index, curelem, nelems, False) # <<<<<<<<<<<<<< + * + * assert zt == curelem * 8 + */ + __Pyx_TraceLine(569,0,__PYX_ERR(0, 569, __pyx_L7_error)) + __pyx_t_16.__pyx_n = 1; + __pyx_t_16.seek = Py_False; + __pyx_t_1 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_curelem, __pyx_v_nelems, &__pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 569, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":571 + * val = read_element(&index, curelem, nelems, False) + * + * assert zt == curelem * 8 # <<<<<<<<<<<<<< + * assert val == curelem + * + */ + __Pyx_TraceLine(571,0,__PYX_ERR(0, 571, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyNumber_Multiply(__pyx_v_curelem, __pyx_int_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 571, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 571, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 571, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 571, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":572 + * + * assert zt == curelem * 8 + * assert val == curelem # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, -8, SEEK_CUR, NULL) == zran.ZRAN_SEEK_OK + */ + __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_val, __pyx_v_curelem, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 572, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 572, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":574 + * assert val == curelem + * + * assert zran.zran_seek(&index, -8, SEEK_CUR, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(574,0,__PYX_ERR(0, 574, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), -8L, SEEK_CUR, NULL) == ZRAN_SEEK_OK) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 574, __pyx_L7_error) + } + } + #endif + } + __pyx_L14_break:; + + /* "indexed_gzip/tests/ctest_zran.pyx":576 + * assert zran.zran_seek(&index, -8, SEEK_CUR, NULL) == zran.ZRAN_SEEK_OK + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(576,0,__PYX_ERR(0, 576, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":544 + * curelem = 0; + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_cur", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 544, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 544, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 544, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 544, __pyx_L9_except_error) + __pyx_t_18 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_4, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 544, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_7) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 544, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L20; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L1_error; + __pyx_L20:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":535 + * + * + * def test_seek_cur(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_cur", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF(__pyx_v_seekstep); + __Pyx_XDECREF(__pyx_v_curelem); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":579 + * + * + * def test_seek_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * cdef zran.zran_index_t index + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_33test_seek_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_33test_seek_end = {"test_seek_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_33test_seek_end, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_33test_seek_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seek_end (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_end", 1, 3, 3, 1); __PYX_ERR(0, 579, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_end", 1, 3, 3, 2); __PYX_ERR(0, 579, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_end") < 0)) __PYX_ERR(0, 579, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_seek_end", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 579, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_32test_seek_end(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_32test_seek_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + PyObject *__pyx_v_seekstep = NULL; + PyObject *__pyx_v_curelem = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_seekloc = NULL; + int __pyx_v_exp; + uint64_t __pyx_v_zt; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + int __pyx_t_11; + void *__pyx_t_12; + PyObject *__pyx_t_13; + uint32_t __pyx_t_14; + int64_t __pyx_t_15; + struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + int __pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__28) + __Pyx_RefNannySetupContext("test_seek_end", 0); + __Pyx_TraceCall("test_seek_end", __pyx_f[0], 579, 0, __PYX_ERR(0, 579, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":582 + * cdef zran.zran_index_t index + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * indexSpacing = max(131072, filesize // 1500) + * seekstep = max(1, (nelems - 1) // 500) + */ + __Pyx_TraceLine(582,0,__PYX_ERR(0, 582, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":583 + * + * filesize = nelems * 8 + * indexSpacing = max(131072, filesize // 1500) # <<<<<<<<<<<<<< + * seekstep = max(1, (nelems - 1) // 500) + * curelem = 0 + */ + __Pyx_TraceLine(583,0,__PYX_ERR(0, 583, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 583, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x20000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 583, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 583, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 583, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 583, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":584 + * filesize = nelems * 8 + * indexSpacing = max(131072, filesize // 1500) + * seekstep = max(1, (nelems - 1) // 500) # <<<<<<<<<<<<<< + * curelem = 0 + * + */ + __Pyx_TraceLine(584,0,__PYX_ERR(0, 584, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 584, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyInt_FloorDivideObjC(__pyx_t_1, __pyx_int_500, 0x1F4, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 584, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_2 = 1; + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 584, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 584, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_3); + __pyx_t_1 = __pyx_t_3; + } else { + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __Pyx_INCREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_seekstep = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":585 + * indexSpacing = max(131072, filesize // 1500) + * seekstep = max(1, (nelems - 1) // 500) + * curelem = 0 # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_v_curelem = __pyx_int_0; + + /* "indexed_gzip/tests/ctest_zran.pyx":587 + * curelem = 0 + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(587,0,__PYX_ERR(0, 587, __pyx_L1_error)) + /*with:*/ { + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 587, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 587, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 587, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 587, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":588 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(588,0,__PYX_ERR(0, 588, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_cfid = fdopen(__pyx_t_11, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":590 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(590,0,__PYX_ERR(0, 590, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":591 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(591,0,__PYX_ERR(0, 591, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 591, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_12 = NULL; + } else { + __pyx_t_12 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":592 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(592,0,__PYX_ERR(0, 592, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 592, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_13 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":593 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(593,0,__PYX_ERR(0, 593, __pyx_L7_error)) + __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 593, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":590 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(590,0,__PYX_ERR(0, 590, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_12, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 590, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":598 + * zran.ZRAN_AUTO_BUILD) + * + * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT # <<<<<<<<<<<<<< + * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == 20 + */ + __Pyx_TraceLine(598,0,__PYX_ERR(0, 598, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), -10L, SEEK_END, NULL) == ZRAN_SEEK_INDEX_NOT_BUILT) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 598, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":599 + * + * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT + * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == 20 + * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT + */ + __Pyx_TraceLine(599,0,__PYX_ERR(0, 599, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), 20, SEEK_SET, NULL) == ZRAN_SEEK_OK) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 599, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":600 + * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT + * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == 20 # <<<<<<<<<<<<<< + * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT + * + */ + __Pyx_TraceLine(600,0,__PYX_ERR(0, 600, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_tell((&__pyx_v_index)) == 20) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 600, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":601 + * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == 20 + * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT # <<<<<<<<<<<<<< + * + * assert zran.zran_build_index(&index, 0, 0) == 0 + */ + __Pyx_TraceLine(601,0,__PYX_ERR(0, 601, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), -10L, SEEK_END, NULL) == ZRAN_SEEK_INDEX_NOT_BUILT) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 601, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":603 + * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT + * + * assert zran.zran_build_index(&index, 0, 0) == 0 # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, 0, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF + */ + __Pyx_TraceLine(603,0,__PYX_ERR(0, 603, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_build_index((&__pyx_v_index), 0, 0) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 603, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":605 + * assert zran.zran_build_index(&index, 0, 0) == 0 + * + * assert zran.zran_seek(&index, 0, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == filesize + * assert zran.zran_seek(&index, -1, SEEK_END, NULL) == zran.ZRAN_SEEK_OK + */ + __Pyx_TraceLine(605,0,__PYX_ERR(0, 605, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), 0, SEEK_END, NULL) == ZRAN_SEEK_EOF) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 605, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":606 + * + * assert zran.zran_seek(&index, 0, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF + * assert zran.zran_tell(&index) == filesize # <<<<<<<<<<<<<< + * assert zran.zran_seek(&index, -1, SEEK_END, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == filesize - 1 + */ + __Pyx_TraceLine(606,0,__PYX_ERR(0, 606, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 606, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 606, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 606, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":607 + * assert zran.zran_seek(&index, 0, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF + * assert zran.zran_tell(&index) == filesize + * assert zran.zran_seek(&index, -1, SEEK_END, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == filesize - 1 + * + */ + __Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), -1L, SEEK_END, NULL) == ZRAN_SEEK_OK) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 607, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":608 + * assert zran.zran_tell(&index) == filesize + * assert zran.zran_seek(&index, -1, SEEK_END, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == filesize - 1 # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, 1, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF + */ + __Pyx_TraceLine(608,0,__PYX_ERR(0, 608, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 608, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 608, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 608, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 608, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":610 + * assert zran.zran_tell(&index) == filesize - 1 + * + * assert zran.zran_seek(&index, 1, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == filesize + * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL + */ + __Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_seek((&__pyx_v_index), 1, SEEK_END, NULL) == ZRAN_SEEK_EOF) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 610, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":611 + * + * assert zran.zran_seek(&index, 1, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF + * assert zran.zran_tell(&index) == filesize # <<<<<<<<<<<<<< + * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL + * assert zran.zran_seek(&index, -filesize, SEEK_END, NULL) == zran.ZRAN_SEEK_OK + */ + __Pyx_TraceLine(611,0,__PYX_ERR(0, 611, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 611, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 611, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 611, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 611, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":612 + * assert zran.zran_seek(&index, 1, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF + * assert zran.zran_tell(&index) == filesize + * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL # <<<<<<<<<<<<<< + * assert zran.zran_seek(&index, -filesize, SEEK_END, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == 0 + */ + __Pyx_TraceLine(612,0,__PYX_ERR(0, 612, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = PyNumber_Negative(__pyx_v_filesize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 612, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 612, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_t_3); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 612, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_END, NULL) == ZRAN_SEEK_FAIL) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 612, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":613 + * assert zran.zran_tell(&index) == filesize + * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL + * assert zran.zran_seek(&index, -filesize, SEEK_END, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == 0 + * + */ + __Pyx_TraceLine(613,0,__PYX_ERR(0, 613, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = PyNumber_Negative(__pyx_v_filesize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_t_3); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 613, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_END, NULL) == ZRAN_SEEK_OK) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 613, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":614 + * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL + * assert zran.zran_seek(&index, -filesize, SEEK_END, NULL) == zran.ZRAN_SEEK_OK + * assert zran.zran_tell(&index) == 0 # <<<<<<<<<<<<<< + * + * while curelem < nelems: + */ + __Pyx_TraceLine(614,0,__PYX_ERR(0, 614, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_tell((&__pyx_v_index)) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 614, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":616 + * assert zran.zran_tell(&index) == 0 + * + * while curelem < nelems: # <<<<<<<<<<<<<< + * seekloc = filesize - ((nelems + curelem - 1) * 8) + * + */ + __Pyx_TraceLine(616,0,__PYX_ERR(0, 616, __pyx_L7_error)) + while (1) { + __pyx_t_3 = PyObject_RichCompare(__pyx_v_curelem, __pyx_v_nelems, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 616, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!__pyx_t_6) break; + + /* "indexed_gzip/tests/ctest_zran.pyx":617 + * + * while curelem < nelems: + * seekloc = filesize - ((nelems + curelem - 1) * 8) # <<<<<<<<<<<<<< + * + * if seekloc >= 0: exp = zran.ZRAN_SEEK_EOF + */ + __Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L7_error)) + __pyx_t_3 = PyNumber_Add(__pyx_v_nelems, __pyx_v_curelem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 617, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_int_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Subtract(__pyx_v_filesize, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 617, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF_SET(__pyx_v_seekloc, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":619 + * seekloc = filesize - ((nelems + curelem - 1) * 8) + * + * if seekloc >= 0: exp = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< + * else: exp = zran.ZRAN_SEEK_OK + * + */ + __Pyx_TraceLine(619,0,__PYX_ERR(0, 619, __pyx_L7_error)) + __pyx_t_4 = PyObject_RichCompare(__pyx_v_seekloc, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 619, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 619, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + __pyx_v_exp = ZRAN_SEEK_EOF; + goto __pyx_L15; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":620 + * + * if seekloc >= 0: exp = zran.ZRAN_SEEK_EOF + * else: exp = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, seekloc, SEEK_END, NULL) == exp + */ + __Pyx_TraceLine(620,0,__PYX_ERR(0, 620, __pyx_L7_error)) + /*else*/ { + __pyx_v_exp = ZRAN_SEEK_OK; + } + __pyx_L15:; + + /* "indexed_gzip/tests/ctest_zran.pyx":622 + * else: exp = zran.ZRAN_SEEK_OK + * + * assert zran.zran_seek(&index, seekloc, SEEK_END, NULL) == exp # <<<<<<<<<<<<<< + * + * if exp == zran.ZRAN_SEEK_EOF: + */ + __Pyx_TraceLine(622,0,__PYX_ERR(0, 622, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_v_seekloc); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 622, __pyx_L7_error) + if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_END, NULL) == __pyx_v_exp) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 622, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":624 + * assert zran.zran_seek(&index, seekloc, SEEK_END, NULL) == exp + * + * if exp == zran.ZRAN_SEEK_EOF: # <<<<<<<<<<<<<< + * break + * + */ + __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L7_error)) + __pyx_t_6 = ((__pyx_v_exp == ZRAN_SEEK_EOF) != 0); + if (__pyx_t_6) { + + /* "indexed_gzip/tests/ctest_zran.pyx":625 + * + * if exp == zran.ZRAN_SEEK_EOF: + * break # <<<<<<<<<<<<<< + * + * curelem += seekstep + */ + __Pyx_TraceLine(625,0,__PYX_ERR(0, 625, __pyx_L7_error)) + goto __pyx_L14_break; + + /* "indexed_gzip/tests/ctest_zran.pyx":624 + * assert zran.zran_seek(&index, seekloc, SEEK_END, NULL) == exp + * + * if exp == zran.ZRAN_SEEK_EOF: # <<<<<<<<<<<<<< + * break + * + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":627 + * break + * + * curelem += seekstep # <<<<<<<<<<<<<< + * zt = zran.zran_tell(&index) + * val = read_element(&index, curelem, nelems, False) + */ + __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L7_error)) + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_curelem, __pyx_v_seekstep); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 627, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF_SET(__pyx_v_curelem, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":628 + * + * curelem += seekstep + * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< + * val = read_element(&index, curelem, nelems, False) + * + */ + __Pyx_TraceLine(628,0,__PYX_ERR(0, 628, __pyx_L7_error)) + __pyx_v_zt = zran_tell((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":629 + * curelem += seekstep + * zt = zran.zran_tell(&index) + * val = read_element(&index, curelem, nelems, False) # <<<<<<<<<<<<<< + * + * assert zt == curelem * 8 + */ + __Pyx_TraceLine(629,0,__PYX_ERR(0, 629, __pyx_L7_error)) + __pyx_t_16.__pyx_n = 1; + __pyx_t_16.seek = Py_False; + __pyx_t_4 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_curelem, __pyx_v_nelems, &__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 629, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":631 + * val = read_element(&index, curelem, nelems, False) + * + * assert zt == curelem * 8 # <<<<<<<<<<<<<< + * assert val == curelem + * + */ + __Pyx_TraceLine(631,0,__PYX_ERR(0, 631, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 631, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyNumber_Multiply(__pyx_v_curelem, __pyx_int_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 631, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 631, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 631, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":632 + * + * assert zt == curelem * 8 + * assert val == curelem # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(632,0,__PYX_ERR(0, 632, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = PyObject_RichCompare(__pyx_v_val, __pyx_v_curelem, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 632, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 632, __pyx_L7_error) + } + } + #endif + } + __pyx_L14_break:; + + /* "indexed_gzip/tests/ctest_zran.pyx":634 + * assert val == curelem + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(634,0,__PYX_ERR(0, 634, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":587 + * curelem = 0 + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 587, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 587, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 587, __pyx_L9_except_error) + __pyx_t_18 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); + __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 587, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_7) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 587, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L20; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L1_error; + __pyx_L20:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":579 + * + * + * def test_seek_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * cdef zran.zran_index_t index + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF(__pyx_v_seekstep); + __Pyx_XDECREF(__pyx_v_curelem); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_seekloc); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":637 + * + * + * def test_seek_beyond_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end = {"test_seek_beyond_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seek_beyond_end (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_beyond_end", 1, 3, 3, 1); __PYX_ERR(0, 637, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_beyond_end", 1, 3, 3, 2); __PYX_ERR(0, 637, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_beyond_end") < 0)) __PYX_ERR(0, 637, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_seek_beyond_end", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 637, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_34test_seek_beyond_end(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_34test_seek_beyond_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + PyObject *__pyx_v_seekpoints = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_sp = NULL; + int __pyx_v_zs; + PyObject *__pyx_v_expected = NULL; + uint64_t __pyx_v_zt; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + int __pyx_t_14; + void *__pyx_t_15; + PyObject *__pyx_t_16; + uint32_t __pyx_t_17; + Py_ssize_t __pyx_t_18; + int64_t __pyx_t_19; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + int __pyx_t_25; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__29) + __Pyx_RefNannySetupContext("test_seek_beyond_end", 0); + __Pyx_TraceCall("test_seek_beyond_end", __pyx_f[0], 637, 0, __PYX_ERR(0, 637, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":641 + * cdef zran.zran_index_t index + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * indexSpacing = max(524288, filesize // 1500) + * seekpoints = [filesize - 10, + */ + __Pyx_TraceLine(641,0,__PYX_ERR(0, 641, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":642 + * + * filesize = nelems * 8 + * indexSpacing = max(524288, filesize // 1500) # <<<<<<<<<<<<<< + * seekpoints = [filesize - 10, + * filesize - 2, + */ + __Pyx_TraceLine(642,0,__PYX_ERR(0, 642, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x80000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 642, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 642, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":643 + * filesize = nelems * 8 + * indexSpacing = max(524288, filesize // 1500) + * seekpoints = [filesize - 10, # <<<<<<<<<<<<<< + * filesize - 2, + * filesize - 1, + */ + __Pyx_TraceLine(643,0,__PYX_ERR(0, 643, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "indexed_gzip/tests/ctest_zran.pyx":644 + * indexSpacing = max(524288, filesize // 1500) + * seekpoints = [filesize - 10, + * filesize - 2, # <<<<<<<<<<<<<< + * filesize - 1, + * filesize, + */ + __Pyx_TraceLine(644,0,__PYX_ERR(0, 644, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 644, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/tests/ctest_zran.pyx":645 + * seekpoints = [filesize - 10, + * filesize - 2, + * filesize - 1, # <<<<<<<<<<<<<< + * filesize, + * filesize + 1, + */ + __Pyx_TraceLine(645,0,__PYX_ERR(0, 645, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/tests/ctest_zran.pyx":647 + * filesize - 1, + * filesize, + * filesize + 1, # <<<<<<<<<<<<<< + * filesize + 2, + * filesize + 10] + */ + __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 647, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + + /* "indexed_gzip/tests/ctest_zran.pyx":648 + * filesize, + * filesize + 1, + * filesize + 2, # <<<<<<<<<<<<<< + * filesize + 10] + * + */ + __Pyx_TraceLine(648,0,__PYX_ERR(0, 648, __pyx_L1_error)) + __pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 648, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + + /* "indexed_gzip/tests/ctest_zran.pyx":649 + * filesize + 1, + * filesize + 2, + * filesize + 10] # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(649,0,__PYX_ERR(0, 649, __pyx_L1_error)) + __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 649, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + + /* "indexed_gzip/tests/ctest_zran.pyx":643 + * filesize = nelems * 8 + * indexSpacing = max(524288, filesize // 1500) + * seekpoints = [filesize - 10, # <<<<<<<<<<<<<< + * filesize - 2, + * filesize - 1, + */ + __Pyx_TraceLine(643,0,__PYX_ERR(0, 643, __pyx_L1_error)) + __pyx_t_9 = PyList_New(7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 643, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_GIVEREF(__pyx_t_1); + PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_5); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyList_SET_ITEM(__pyx_t_9, 3, __pyx_v_filesize); + __Pyx_GIVEREF(__pyx_t_4); + PyList_SET_ITEM(__pyx_t_9, 4, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_7); + PyList_SET_ITEM(__pyx_t_9, 5, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_8); + PyList_SET_ITEM(__pyx_t_9, 6, __pyx_t_8); + __pyx_t_1 = 0; + __pyx_t_3 = 0; + __pyx_t_5 = 0; + __pyx_t_4 = 0; + __pyx_t_7 = 0; + __pyx_t_8 = 0; + __pyx_v_seekpoints = ((PyObject*)__pyx_t_9); + __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":651 + * filesize + 10] + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(651,0,__PYX_ERR(0, 651, __pyx_L1_error)) + /*with:*/ { + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 651, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_n_s_rb); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 651, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_8, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 651, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_8, __pyx_n_s_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 651, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_9 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 651, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __pyx_t_9; + __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_7; + __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":652 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(652,0,__PYX_ERR(0, 652, __pyx_L7_error)) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 652, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_7 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 652, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_14 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 652, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_cfid = fdopen(__pyx_t_14, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":654 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(654,0,__PYX_ERR(0, 654, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":655 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(655,0,__PYX_ERR(0, 655, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 655, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_15 = NULL; + } else { + __pyx_t_15 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":656 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(656,0,__PYX_ERR(0, 656, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 656, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_16 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_16 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":657 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(657,0,__PYX_ERR(0, 657, __pyx_L7_error)) + __pyx_t_17 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_17 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 657, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":654 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(654,0,__PYX_ERR(0, 654, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_15, __pyx_t_16, __pyx_t_17, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 654, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":662 + * zran.ZRAN_AUTO_BUILD) + * + * for sp in seekpoints: # <<<<<<<<<<<<<< + * + * zs = zran.zran_seek(&index, sp, SEEK_SET, NULL) + */ + __Pyx_TraceLine(662,0,__PYX_ERR(0, 662, __pyx_L7_error)) + __pyx_t_7 = __pyx_v_seekpoints; __Pyx_INCREF(__pyx_t_7); __pyx_t_18 = 0; + for (;;) { + if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_7)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_8 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_18); __Pyx_INCREF(__pyx_t_8); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 662, __pyx_L7_error) + #else + __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 662, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_8); + #endif + __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_8); + __pyx_t_8 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":664 + * for sp in seekpoints: + * + * zs = zran.zran_seek(&index, sp, SEEK_SET, NULL) # <<<<<<<<<<<<<< + * + * if sp >= filesize: expected = zran.ZRAN_SEEK_EOF + */ + __Pyx_TraceLine(664,0,__PYX_ERR(0, 664, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyInt_As_int64_t(__pyx_v_sp); if (unlikely((__pyx_t_19 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 664, __pyx_L7_error) + __pyx_v_zs = zran_seek((&__pyx_v_index), __pyx_t_19, SEEK_SET, NULL); + + /* "indexed_gzip/tests/ctest_zran.pyx":666 + * zs = zran.zran_seek(&index, sp, SEEK_SET, NULL) + * + * if sp >= filesize: expected = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< + * else: expected = zran.ZRAN_SEEK_OK + * + */ + __Pyx_TraceLine(666,0,__PYX_ERR(0, 666, __pyx_L7_error)) + __pyx_t_8 = PyObject_RichCompare(__pyx_v_sp, __pyx_v_filesize, Py_GE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 666, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 666, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_6) { + __pyx_t_8 = __Pyx_PyInt_From_int(ZRAN_SEEK_EOF); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 666, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_8); + __pyx_t_8 = 0; + goto __pyx_L15; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":667 + * + * if sp >= filesize: expected = zran.ZRAN_SEEK_EOF + * else: expected = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(667,0,__PYX_ERR(0, 667, __pyx_L7_error)) + /*else*/ { + __pyx_t_8 = __Pyx_PyInt_From_int(ZRAN_SEEK_OK); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 667, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_8); + __pyx_t_8 = 0; + } + __pyx_L15:; + + /* "indexed_gzip/tests/ctest_zran.pyx":669 + * else: expected = zran.ZRAN_SEEK_OK + * + * try: # <<<<<<<<<<<<<< + * assert zs == expected + * + */ + __Pyx_TraceLine(669,0,__PYX_ERR(0, 669, __pyx_L7_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_21); + __Pyx_XGOTREF(__pyx_t_22); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":670 + * + * try: + * assert zs == expected # <<<<<<<<<<<<<< + * + * except: + */ + __Pyx_TraceLine(670,0,__PYX_ERR(0, 670, __pyx_L16_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_zs); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 670, __pyx_L16_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_9 = PyObject_RichCompare(__pyx_t_8, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 670, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 670, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 670, __pyx_L16_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":669 + * else: expected = zran.ZRAN_SEEK_OK + * + * try: # <<<<<<<<<<<<<< + * assert zs == expected + * + */ + } + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + goto __pyx_L23_try_end; + __pyx_L16_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":672 + * assert zs == expected + * + * except: # <<<<<<<<<<<<<< + * print("{} != {} [sp={}, size={}]".format(zs, expected, sp, filesize)) + * raise + */ + __Pyx_TraceLine(672,0,__PYX_ERR(0, 672, __pyx_L18_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_8, &__pyx_t_4) < 0) __PYX_ERR(0, 672, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_4); + + /* "indexed_gzip/tests/ctest_zran.pyx":673 + * + * except: + * print("{} != {} [sp={}, size={}]".format(zs, expected, sp, filesize)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L18_except_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_sp_size, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_zs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 673, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_23 = NULL; + __pyx_t_14 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_23)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_23); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_14 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[5] = {__pyx_t_23, __pyx_t_1, __pyx_v_expected, __pyx_v_sp, __pyx_v_filesize}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_14, 4+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L18_except_error) + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[5] = {__pyx_t_23, __pyx_t_1, __pyx_v_expected, __pyx_v_sp, __pyx_v_filesize}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_14, 4+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L18_except_error) + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } else + #endif + { + __pyx_t_24 = PyTuple_New(4+__pyx_t_14); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 673, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_24); + if (__pyx_t_23) { + __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; + } + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_14, __pyx_t_1); + __Pyx_INCREF(__pyx_v_expected); + __Pyx_GIVEREF(__pyx_v_expected); + PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_14, __pyx_v_expected); + __Pyx_INCREF(__pyx_v_sp); + __Pyx_GIVEREF(__pyx_v_sp); + PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_14, __pyx_v_sp); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_14, __pyx_v_filesize); + __pyx_t_1 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_24, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":674 + * except: + * print("{} != {} [sp={}, size={}]".format(zs, expected, sp, filesize)) + * raise # <<<<<<<<<<<<<< + * + * zt = zran.zran_tell(&index) + */ + __Pyx_TraceLine(674,0,__PYX_ERR(0, 674, __pyx_L18_except_error)) + __Pyx_GIVEREF(__pyx_t_9); + __Pyx_GIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_8, __pyx_t_4); + __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 674, __pyx_L18_except_error) + } + __pyx_L18_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":669 + * else: expected = zran.ZRAN_SEEK_OK + * + * try: # <<<<<<<<<<<<<< + * assert zs == expected + * + */ + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); + goto __pyx_L7_error; + __pyx_L23_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":676 + * raise + * + * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< + * + * if sp >= filesize: expected = filesize + */ + __Pyx_TraceLine(676,0,__PYX_ERR(0, 676, __pyx_L7_error)) + __pyx_v_zt = zran_tell((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":678 + * zt = zran.zran_tell(&index) + * + * if sp >= filesize: expected = filesize # <<<<<<<<<<<<<< + * else: expected = sp + * + */ + __Pyx_TraceLine(678,0,__PYX_ERR(0, 678, __pyx_L7_error)) + __pyx_t_4 = PyObject_RichCompare(__pyx_v_sp, __pyx_v_filesize, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 678, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 678, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_DECREF_SET(__pyx_v_expected, __pyx_v_filesize); + goto __pyx_L26; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":679 + * + * if sp >= filesize: expected = filesize + * else: expected = sp # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L7_error)) + /*else*/ { + __Pyx_INCREF(__pyx_v_sp); + __Pyx_DECREF_SET(__pyx_v_expected, __pyx_v_sp); + } + __pyx_L26:; + + /* "indexed_gzip/tests/ctest_zran.pyx":681 + * else: expected = sp + * + * try: # <<<<<<<<<<<<<< + * assert zt == expected + * + */ + __Pyx_TraceLine(681,0,__PYX_ERR(0, 681, __pyx_L7_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_21); + __Pyx_XGOTREF(__pyx_t_20); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":682 + * + * try: + * assert zt == expected # <<<<<<<<<<<<<< + * + * except: + */ + __Pyx_TraceLine(682,0,__PYX_ERR(0, 682, __pyx_L27_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 682, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = PyObject_RichCompare(__pyx_t_4, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 682, __pyx_L27_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 682, __pyx_L27_error) + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 682, __pyx_L27_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":681 + * else: expected = sp + * + * try: # <<<<<<<<<<<<<< + * assert zt == expected + * + */ + } + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + goto __pyx_L34_try_end; + __pyx_L27_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":684 + * assert zt == expected + * + * except: # <<<<<<<<<<<<<< + * print("{} != {}".format(zt, expected)) + * raise + */ + __Pyx_TraceLine(684,0,__PYX_ERR(0, 684, __pyx_L29_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_4, &__pyx_t_9) < 0) __PYX_ERR(0, 684, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_9); + + /* "indexed_gzip/tests/ctest_zran.pyx":685 + * + * except: + * print("{} != {}".format(zt, expected)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(685,0,__PYX_ERR(0, 685, __pyx_L29_except_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__30, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 685, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_24 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 685, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_24); + __pyx_t_1 = NULL; + __pyx_t_14 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + __pyx_t_14 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_24, __pyx_v_expected}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L29_except_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_24, __pyx_v_expected}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L29_except_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; + } else + #endif + { + __pyx_t_23 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 685, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_23); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_GIVEREF(__pyx_t_24); + PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_14, __pyx_t_24); + __Pyx_INCREF(__pyx_v_expected); + __Pyx_GIVEREF(__pyx_v_expected); + PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_14, __pyx_v_expected); + __pyx_t_24 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_23, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 685, __pyx_L29_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":686 + * except: + * print("{} != {}".format(zt, expected)) + * raise # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L29_except_error)) + __Pyx_GIVEREF(__pyx_t_8); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ErrRestoreWithState(__pyx_t_8, __pyx_t_4, __pyx_t_9); + __pyx_t_8 = 0; __pyx_t_4 = 0; __pyx_t_9 = 0; + __PYX_ERR(0, 686, __pyx_L29_except_error) + } + __pyx_L29_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":681 + * else: expected = sp + * + * try: # <<<<<<<<<<<<<< + * assert zt == expected + * + */ + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_21, __pyx_t_20); + goto __pyx_L7_error; + __pyx_L34_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":662 + * zran.ZRAN_AUTO_BUILD) + * + * for sp in seekpoints: # <<<<<<<<<<<<<< + * + * zs = zran.zran_seek(&index, sp, SEEK_SET, NULL) + */ + __Pyx_TraceLine(662,0,__PYX_ERR(0, 662, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":688 + * raise + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(688,0,__PYX_ERR(0, 688, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":651 + * filesize + 10] + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_9, &__pyx_t_4) < 0) __PYX_ERR(0, 651, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_9); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = PyTuple_Pack(3, __pyx_t_7, __pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 651, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_8, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 651, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 651, __pyx_L9_except_error) + __pyx_t_25 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_25) { + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_9, __pyx_t_4); + __pyx_t_7 = 0; __pyx_t_9 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 651, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 651, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L40; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L1_error; + __pyx_L40:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":637 + * + * + * def test_seek_beyond_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF(__pyx_v_seekpoints); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_sp); + __Pyx_XDECREF(__pyx_v_expected); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":691 + * + * + * def test_sequential_seek_to_end(testfile, no_fds, nelems, niters): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end = {"test_sequential_seek_to_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_niters = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_sequential_seek_to_end (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,0}; + PyObject* values[4] = {0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_sequential_seek_to_end", 1, 4, 4, 1); __PYX_ERR(0, 691, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_sequential_seek_to_end", 1, 4, 4, 2); __PYX_ERR(0, 691, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_sequential_seek_to_end", 1, 4, 4, 3); __PYX_ERR(0, 691, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_sequential_seek_to_end") < 0)) __PYX_ERR(0, 691, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + __pyx_v_niters = values[3]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_sequential_seek_to_end", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 691, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_sequential_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_36test_sequential_seek_to_end(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_36test_sequential_seek_to_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_seek_points = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_sp = NULL; + int __pyx_v_expseek; + PyObject *__pyx_v_exptell = NULL; + int __pyx_v_seek; + uint64_t __pyx_v_tell; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + long __pyx_t_6; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + void *__pyx_t_13; + PyObject *__pyx_t_14; + uint32_t __pyx_t_15; + Py_ssize_t __pyx_t_16; + PyObject *(*__pyx_t_17)(PyObject *); + int64_t __pyx_t_18; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + int __pyx_t_25; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__31) + __Pyx_RefNannySetupContext("test_sequential_seek_to_end", 0); + __Pyx_TraceCall("test_sequential_seek_to_end", __pyx_f[0], 691, 0, __PYX_ERR(0, 691, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":695 + * cdef zran.zran_index_t index + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * + * seek_points = np.random.randint(0, filesize, niters, dtype=np.uint64) + */ + __Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":697 + * filesize = nelems * 8 + * + * seek_points = np.random.randint(0, filesize, niters, dtype=np.uint64) # <<<<<<<<<<<<<< + * seek_points = np.sort(seek_points) + * indexSpacing = max(524288, filesize // 2000) + */ + __Pyx_TraceLine(697,0,__PYX_ERR(0, 697, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_filesize); + __Pyx_INCREF(__pyx_v_niters); + __Pyx_GIVEREF(__pyx_v_niters); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_niters); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 697, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_seek_points = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":698 + * + * seek_points = np.random.randint(0, filesize, niters, dtype=np.uint64) + * seek_points = np.sort(seek_points) # <<<<<<<<<<<<<< + * indexSpacing = max(524288, filesize // 2000) + * + */ + __Pyx_TraceLine(698,0,__PYX_ERR(0, 698, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 698, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sort); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 698, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_seek_points) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_seek_points); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_seek_points, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":699 + * seek_points = np.random.randint(0, filesize, niters, dtype=np.uint64) + * seek_points = np.sort(seek_points) + * indexSpacing = max(524288, filesize // 2000) # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(699,0,__PYX_ERR(0, 699, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_2000, 0x7D0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = 0x80000; + __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_7) { + __Pyx_INCREF(__pyx_t_5); + __pyx_t_2 = __pyx_t_5; + } else { + __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_2; + __Pyx_INCREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_indexSpacing = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":701 + * indexSpacing = max(524288, filesize // 2000) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(701,0,__PYX_ERR(0, 701, __pyx_L1_error)) + /*with:*/ { + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 701, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 701, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":702 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(702,0,__PYX_ERR(0, 702, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 702, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 702, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 702, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_12, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":704 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(704,0,__PYX_ERR(0, 704, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":705 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(705,0,__PYX_ERR(0, 705, __pyx_L7_error)) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 705, __pyx_L7_error) + if (__pyx_t_7) { + __pyx_t_13 = NULL; + } else { + __pyx_t_13 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":706 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(706,0,__PYX_ERR(0, 706, __pyx_L7_error)) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 706, __pyx_L7_error) + if (__pyx_t_7) { + __pyx_t_14 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_14 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":707 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(707,0,__PYX_ERR(0, 707, __pyx_L7_error)) + __pyx_t_15 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_15 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 707, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":704 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(704,0,__PYX_ERR(0, 704, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_13, __pyx_t_14, __pyx_t_15, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 704, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":712 + * zran.ZRAN_AUTO_BUILD) + * + * for sp in seek_points: # <<<<<<<<<<<<<< + * + * if sp >= filesize: + */ + __Pyx_TraceLine(712,0,__PYX_ERR(0, 712, __pyx_L7_error)) + if (likely(PyList_CheckExact(__pyx_v_seek_points)) || PyTuple_CheckExact(__pyx_v_seek_points)) { + __pyx_t_1 = __pyx_v_seek_points; __Pyx_INCREF(__pyx_t_1); __pyx_t_16 = 0; + __pyx_t_17 = NULL; + } else { + __pyx_t_16 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_seek_points); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_17 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 712, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_17)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 712, __pyx_L7_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 712, __pyx_L7_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } + } else { + __pyx_t_2 = __pyx_t_17(__pyx_t_1); + if (unlikely(!__pyx_t_2)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 712, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_2); + } + __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":714 + * for sp in seek_points: + * + * if sp >= filesize: # <<<<<<<<<<<<<< + * expseek = zran.ZRAN_SEEK_EOF + * exptell = filesize + */ + __Pyx_TraceLine(714,0,__PYX_ERR(0, 714, __pyx_L7_error)) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_sp, __pyx_v_filesize, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __pyx_L7_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 714, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_7) { + + /* "indexed_gzip/tests/ctest_zran.pyx":715 + * + * if sp >= filesize: + * expseek = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< + * exptell = filesize + * else: + */ + __Pyx_TraceLine(715,0,__PYX_ERR(0, 715, __pyx_L7_error)) + __pyx_v_expseek = ZRAN_SEEK_EOF; + + /* "indexed_gzip/tests/ctest_zran.pyx":716 + * if sp >= filesize: + * expseek = zran.ZRAN_SEEK_EOF + * exptell = filesize # <<<<<<<<<<<<<< + * else: + * expseek = zran.ZRAN_SEEK_OK + */ + __Pyx_TraceLine(716,0,__PYX_ERR(0, 716, __pyx_L7_error)) + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_XDECREF_SET(__pyx_v_exptell, __pyx_v_filesize); + + /* "indexed_gzip/tests/ctest_zran.pyx":714 + * for sp in seek_points: + * + * if sp >= filesize: # <<<<<<<<<<<<<< + * expseek = zran.ZRAN_SEEK_EOF + * exptell = filesize + */ + goto __pyx_L15; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":718 + * exptell = filesize + * else: + * expseek = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * exptell = sp + * + */ + __Pyx_TraceLine(718,0,__PYX_ERR(0, 718, __pyx_L7_error)) + /*else*/ { + __pyx_v_expseek = ZRAN_SEEK_OK; + + /* "indexed_gzip/tests/ctest_zran.pyx":719 + * else: + * expseek = zran.ZRAN_SEEK_OK + * exptell = sp # <<<<<<<<<<<<<< + * + * seek = zran.zran_seek(&index, sp, SEEK_SET, NULL) + */ + __Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L7_error)) + __Pyx_INCREF(__pyx_v_sp); + __Pyx_XDECREF_SET(__pyx_v_exptell, __pyx_v_sp); + } + __pyx_L15:; + + /* "indexed_gzip/tests/ctest_zran.pyx":721 + * exptell = sp + * + * seek = zran.zran_seek(&index, sp, SEEK_SET, NULL) # <<<<<<<<<<<<<< + * tell = zran.zran_tell(&index) + * + */ + __Pyx_TraceLine(721,0,__PYX_ERR(0, 721, __pyx_L7_error)) + __pyx_t_18 = __Pyx_PyInt_As_int64_t(__pyx_v_sp); if (unlikely((__pyx_t_18 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 721, __pyx_L7_error) + __pyx_v_seek = zran_seek((&__pyx_v_index), __pyx_t_18, SEEK_SET, NULL); + + /* "indexed_gzip/tests/ctest_zran.pyx":722 + * + * seek = zran.zran_seek(&index, sp, SEEK_SET, NULL) + * tell = zran.zran_tell(&index) # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(722,0,__PYX_ERR(0, 722, __pyx_L7_error)) + __pyx_v_tell = zran_tell((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":724 + * tell = zran.zran_tell(&index) + * + * try: # <<<<<<<<<<<<<< + * assert seek == expseek + * assert tell == exptell + */ + __Pyx_TraceLine(724,0,__PYX_ERR(0, 724, __pyx_L7_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_21); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":725 + * + * try: + * assert seek == expseek # <<<<<<<<<<<<<< + * assert tell == exptell + * except: + */ + __Pyx_TraceLine(725,0,__PYX_ERR(0, 725, __pyx_L16_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_seek == __pyx_v_expseek) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 725, __pyx_L16_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":726 + * try: + * assert seek == expseek + * assert tell == exptell # <<<<<<<<<<<<<< + * except: + * print("expseek: {}".format(expseek)) + */ + __Pyx_TraceLine(726,0,__PYX_ERR(0, 726, __pyx_L16_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L16_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_v_exptell, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 726, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 726, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_7)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 726, __pyx_L16_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":724 + * tell = zran.zran_tell(&index) + * + * try: # <<<<<<<<<<<<<< + * assert seek == expseek + * assert tell == exptell + */ + } + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + goto __pyx_L23_try_end; + __pyx_L16_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":727 + * assert seek == expseek + * assert tell == exptell + * except: # <<<<<<<<<<<<<< + * print("expseek: {}".format(expseek)) + * print("exptell: {}".format(exptell)) + */ + __Pyx_TraceLine(727,0,__PYX_ERR(0, 727, __pyx_L18_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_sequential_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 727, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_3); + + /* "indexed_gzip/tests/ctest_zran.pyx":728 + * assert tell == exptell + * except: + * print("expseek: {}".format(expseek)) # <<<<<<<<<<<<<< + * print("exptell: {}".format(exptell)) + * print("seek: {}".format(seek)) + */ + __Pyx_TraceLine(728,0,__PYX_ERR(0, 728, __pyx_L18_except_error)) + __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_expseek, __pyx_n_s_format); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 728, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_22); + __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_expseek); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 728, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_23); + __pyx_t_24 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { + __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_22); + if (likely(__pyx_t_24)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); + __Pyx_INCREF(__pyx_t_24); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_22, function); + } + } + __pyx_t_4 = (__pyx_t_24) ? __Pyx_PyObject_Call2Args(__pyx_t_22, __pyx_t_24, __pyx_t_23) : __Pyx_PyObject_CallOneArg(__pyx_t_22, __pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + __pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 728, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":729 + * except: + * print("expseek: {}".format(expseek)) + * print("exptell: {}".format(exptell)) # <<<<<<<<<<<<<< + * print("seek: {}".format(seek)) + * print("tell: {}".format(tell)) + */ + __Pyx_TraceLine(729,0,__PYX_ERR(0, 729, __pyx_L18_except_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_exptell, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_23 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_23)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_23); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_22 = (__pyx_t_23) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_23, __pyx_v_exptell) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_exptell); + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 729, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":730 + * print("expseek: {}".format(expseek)) + * print("exptell: {}".format(exptell)) + * print("seek: {}".format(seek)) # <<<<<<<<<<<<<< + * print("tell: {}".format(tell)) + * raise + */ + __Pyx_TraceLine(730,0,__PYX_ERR(0, 730, __pyx_L18_except_error)) + __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_seek_2, __pyx_n_s_format); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 730, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_22); + __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_seek); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 730, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_23); + __pyx_t_24 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { + __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_22); + if (likely(__pyx_t_24)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); + __Pyx_INCREF(__pyx_t_24); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_22, function); + } + } + __pyx_t_4 = (__pyx_t_24) ? __Pyx_PyObject_Call2Args(__pyx_t_22, __pyx_t_24, __pyx_t_23) : __Pyx_PyObject_CallOneArg(__pyx_t_22, __pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 730, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + __pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 730, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":731 + * print("exptell: {}".format(exptell)) + * print("seek: {}".format(seek)) + * print("tell: {}".format(tell)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L18_except_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_tell_2, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 731, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_23 = __Pyx_PyInt_From_uint64_t(__pyx_v_tell); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 731, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_23); + __pyx_t_24 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_24)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_24); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_22 = (__pyx_t_24) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_24, __pyx_t_23) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 731, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 731, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":732 + * print("seek: {}".format(seek)) + * print("tell: {}".format(tell)) + * raise # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L18_except_error)) + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_3); + __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 732, __pyx_L18_except_error) + } + __pyx_L18_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":724 + * tell = zran.zran_tell(&index) + * + * try: # <<<<<<<<<<<<<< + * assert seek == expseek + * assert tell == exptell + */ + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21); + goto __pyx_L7_error; + __pyx_L23_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":712 + * zran.ZRAN_AUTO_BUILD) + * + * for sp in seek_points: # <<<<<<<<<<<<<< + * + * if sp >= filesize: + */ + __Pyx_TraceLine(712,0,__PYX_ERR(0, 712, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":735 + * + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(735,0,__PYX_ERR(0, 735, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":701 + * indexSpacing = max(524288, filesize // 2000) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_sequential_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 701, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 701, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (__pyx_t_7 < 0) __PYX_ERR(0, 701, __pyx_L9_except_error) + __pyx_t_25 = ((!(__pyx_t_7 != 0)) != 0); + if (__pyx_t_25) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_2); + __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 701, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_8) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 701, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L29; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L1_error; + __pyx_L29:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":691 + * + * + * def test_sequential_seek_to_end(testfile, no_fds, nelems, niters): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_22); + __Pyx_XDECREF(__pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_sequential_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_seek_points); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_sp); + __Pyx_XDECREF(__pyx_v_exptell); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":738 + * + * + * def test_random_seek(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_39test_random_seek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_39test_random_seek = {"test_random_seek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_39test_random_seek, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_39test_random_seek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_niters = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_random_seek (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,&__pyx_n_s_seed,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, 1); __PYX_ERR(0, 738, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, 2); __PYX_ERR(0, 738, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, 3); __PYX_ERR(0, 738, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, 4); __PYX_ERR(0, 738, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_random_seek") < 0)) __PYX_ERR(0, 738, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + __pyx_v_niters = values[3]; + __pyx_v_seed = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 738, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_38test_random_seek(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_38test_random_seek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_seekpoints = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_sp = NULL; + uint64_t __pyx_v_zt; + CYTHON_UNUSED PyObject *__pyx_v_i = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + PyObject *(*__pyx_t_5)(PyObject *); + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + PyObject *__pyx_t_9 = NULL; + long __pyx_t_10; + int __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + void *__pyx_t_16; + PyObject *__pyx_t_17; + uint32_t __pyx_t_18; + int64_t __pyx_t_19; + PyObject *__pyx_t_20 = NULL; + int __pyx_t_21; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__32) + __Pyx_RefNannySetupContext("test_random_seek", 0); + __Pyx_TraceCall("test_random_seek", __pyx_f[0], 738, 0, __PYX_ERR(0, 738, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":742 + * cdef zran.zran_index_t index + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * + * seekpoints = [random.randint(0, filesize) for i in range(niters)] + */ + __Pyx_TraceLine(742,0,__PYX_ERR(0, 742, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 742, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":744 + * filesize = nelems * 8 + * + * seekpoints = [random.randint(0, filesize) for i in range(niters)] # <<<<<<<<<<<<<< + * indexSpacing = max(524288, filesize // 1000) + * + */ + __Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L1_error)) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_niters); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { + __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; + __pyx_t_5 = NULL; + } else { + __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + for (;;) { + if (likely(!__pyx_t_5)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 744, __pyx_L1_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 744, __pyx_L1_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } + } else { + __pyx_t_2 = __pyx_t_5(__pyx_t_3); + if (unlikely(!__pyx_t_2)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 744, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_2); + } + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); + __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_random); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_randint); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = NULL; + __pyx_t_8 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_8 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_int_0, __pyx_v_filesize}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_int_0, __pyx_v_filesize}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + } else + #endif + { + __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + if (__pyx_t_6) { + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_int_0); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_filesize); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 744, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_seekpoints = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":745 + * + * seekpoints = [random.randint(0, filesize) for i in range(niters)] + * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(745,0,__PYX_ERR(0, 745, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 745, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = 0x80000; + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 745, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 745, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_11) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_7 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 745, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_3 = __pyx_t_7; + __pyx_t_7 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":747 + * indexSpacing = max(524288, filesize // 1000) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(747,0,__PYX_ERR(0, 747, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 747, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L5_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_7; + __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":748 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(748,0,__PYX_ERR(0, 748, __pyx_L9_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 748, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_7 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 748, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 748, __pyx_L9_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_v_cfid = fdopen(__pyx_t_8, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":750 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L9_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":751 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L9_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 751, __pyx_L9_error) + if (__pyx_t_11) { + __pyx_t_16 = NULL; + } else { + __pyx_t_16 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":752 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(752,0,__PYX_ERR(0, 752, __pyx_L9_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 752, __pyx_L9_error) + if (__pyx_t_11) { + __pyx_t_17 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_17 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":753 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(753,0,__PYX_ERR(0, 753, __pyx_L9_error)) + __pyx_t_18 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_18 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 753, __pyx_L9_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":750 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L9_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_16, __pyx_t_17, __pyx_t_18, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 750, __pyx_L9_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":758 + * zran.ZRAN_AUTO_BUILD) + * + * for sp in seekpoints: # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, sp, SEEK_SET, NULL) == 0 + */ + __Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L9_error)) + __pyx_t_7 = __pyx_v_seekpoints; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0; + for (;;) { + if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 758, __pyx_L9_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 758, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":760 + * for sp in seekpoints: + * + * assert zran.zran_seek(&index, sp, SEEK_SET, NULL) == 0 # <<<<<<<<<<<<<< + * + * zt = zran.zran_tell(&index) + */ + __Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L9_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_19 = __Pyx_PyInt_As_int64_t(__pyx_v_sp); if (unlikely((__pyx_t_19 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 760, __pyx_L9_error) + if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_19, SEEK_SET, NULL) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 760, __pyx_L9_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":762 + * assert zran.zran_seek(&index, sp, SEEK_SET, NULL) == 0 + * + * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< + * + * assert zt == sp + */ + __Pyx_TraceLine(762,0,__PYX_ERR(0, 762, __pyx_L9_error)) + __pyx_v_zt = zran_tell((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":764 + * zt = zran.zran_tell(&index) + * + * assert zt == sp # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L9_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 764, __pyx_L9_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_sp, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 764, __pyx_L9_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 764, __pyx_L9_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_11)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 764, __pyx_L9_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":758 + * zran.ZRAN_AUTO_BUILD) + * + * for sp in seekpoints: # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, sp, SEEK_SET, NULL) == 0 + */ + __Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L9_error)) + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":766 + * assert zt == sp + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(766,0,__PYX_ERR(0, 766, __pyx_L9_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":747 + * indexSpacing = max(524288, filesize // 1000) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L14_try_end; + __pyx_L9_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 747, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_7, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 747, __pyx_L11_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_11 < 0) __PYX_ERR(0, 747, __pyx_L11_except_error) + __pyx_t_21 = ((!(__pyx_t_11 != 0)) != 0); + if (__pyx_t_21) { + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_1, __pyx_t_3); + __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 747, __pyx_L11_except_error) + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L10_exception_handled; + } + __pyx_L11_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + goto __pyx_L1_error; + __pyx_L10_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); + __pyx_L14_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_12) { + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + goto __pyx_L8; + } + __pyx_L8:; + } + goto __pyx_L20; + __pyx_L5_error:; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L1_error; + __pyx_L20:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":738 + * + * + * def test_random_seek(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_seekpoints); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_sp); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":769 + * + * + * def test_read_all(testfile, no_fds, nelems, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_41test_read_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_41test_read_all = {"test_read_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_41test_read_all, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_41test_read_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_use_mmap = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_read_all (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_use_mmap,0}; + PyObject* values[4] = {0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 1); __PYX_ERR(0, 769, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 2); __PYX_ERR(0, 769, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 3); __PYX_ERR(0, 769, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_all") < 0)) __PYX_ERR(0, 769, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + __pyx_v_use_mmap = values[3]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 769, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_40test_read_all(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_use_mmap); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_40test_read_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap) { + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + zran_index_t __pyx_v_index; + void *__pyx_v_buffer; + npy_intp __pyx_v_nelemsp; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_nbytes = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + void *__pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + PyObject *__pyx_t_13; + uint32_t __pyx_t_14; + uint64_t __pyx_t_15; + PyObject *__pyx_t_16 = NULL; + int __pyx_t_17; + npy_intp __pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__33) + __Pyx_RefNannySetupContext("test_read_all", 0); + __Pyx_TraceCall("test_read_all", __pyx_f[0], 769, 0, __PYX_ERR(0, 769, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":771 + * def test_read_all(testfile, no_fds, nelems, use_mmap): + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * indexSpacing = max(524288, filesize // 1000) + * + */ + __Pyx_TraceLine(771,0,__PYX_ERR(0, 771, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 771, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":772 + * + * filesize = nelems * 8 + * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(772,0,__PYX_ERR(0, 772, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x80000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":778 + * cdef np.npy_intp nelemsp + * + * buf = ReadBuffer(filesize, use_mmap=use_mmap) # <<<<<<<<<<<<<< + * buffer = buf.buffer + * + */ + __Pyx_TraceLine(778,0,__PYX_ERR(0, 778, __pyx_L1_error)) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 778, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_filesize); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_use_mmap, __pyx_v_use_mmap) < 0) __PYX_ERR(0, 778, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 778, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":779 + * + * buf = ReadBuffer(filesize, use_mmap=use_mmap) + * buffer = buf.buffer # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(779,0,__PYX_ERR(0, 779, __pyx_L1_error)) + __pyx_t_7 = __pyx_v_buf->buffer; + __pyx_v_buffer = __pyx_t_7; + + /* "indexed_gzip/tests/ctest_zran.pyx":781 + * buffer = buf.buffer + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(781,0,__PYX_ERR(0, 781, __pyx_L1_error)) + /*with:*/ { + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 781, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 781, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 781, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 781, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_5; + __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":782 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(782,0,__PYX_ERR(0, 782, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 782, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 782, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_12, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":784 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(784,0,__PYX_ERR(0, 784, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":785 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 785, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_7 = NULL; + } else { + __pyx_t_7 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":786 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(786,0,__PYX_ERR(0, 786, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 786, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_13 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":787 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(787,0,__PYX_ERR(0, 787, __pyx_L7_error)) + __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 787, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":784 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(784,0,__PYX_ERR(0, 784, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_7, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 784, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":792 + * zran.ZRAN_AUTO_BUILD) + * + * nbytes = zran.zran_read(&index, buffer, filesize) # <<<<<<<<<<<<<< + * + * assert nbytes == filesize + */ + __Pyx_TraceLine(792,0,__PYX_ERR(0, 792, __pyx_L7_error)) + __pyx_t_15 = __Pyx_PyInt_As_uint64_t(__pyx_v_filesize); if (unlikely((__pyx_t_15 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 792, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyInt_From_int64_t(zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_t_15)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 792, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_nbytes = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":794 + * nbytes = zran.zran_read(&index, buffer, filesize) + * + * assert nbytes == filesize # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == nbytes + * + */ + __Pyx_TraceLine(794,0,__PYX_ERR(0, 794, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 794, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 794, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 794, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":795 + * + * assert nbytes == filesize + * assert zran.zran_tell(&index) == nbytes # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(795,0,__PYX_ERR(0, 795, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 795, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_nbytes, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 795, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 795, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 795, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":797 + * assert zran.zran_tell(&index) == nbytes + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * nelemsp = nbytes / 8. + */ + __Pyx_TraceLine(797,0,__PYX_ERR(0, 797, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":781 + * buffer = buf.buffer + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 781, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 781, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 781, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 781, __pyx_L9_except_error) + __pyx_t_17 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 781, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_8) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 781, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L16; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L1_error; + __pyx_L16:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":799 + * zran.zran_free(&index) + * + * nelemsp = nbytes / 8. # <<<<<<<<<<<<<< + * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) + * + */ + __Pyx_TraceLine(799,0,__PYX_ERR(0, 799, __pyx_L1_error)) + if (unlikely(!__pyx_v_nbytes)) { __Pyx_RaiseUnboundLocalError("nbytes"); __PYX_ERR(0, 799, __pyx_L1_error) } + __pyx_t_5 = __Pyx_PyFloat_TrueDivideObjC(__pyx_v_nbytes, __pyx_float_8_, 8., 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 799, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_18 = __Pyx_PyInt_As_Py_intptr_t(__pyx_t_5); if (unlikely((__pyx_t_18 == ((npy_intp)-1)) && PyErr_Occurred())) __PYX_ERR(0, 799, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_nelemsp = __pyx_t_18; + + /* "indexed_gzip/tests/ctest_zran.pyx":800 + * + * nelemsp = nbytes / 8. + * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) # <<<<<<<<<<<<<< + * + * assert check_data_valid(data, 0) + */ + __Pyx_TraceLine(800,0,__PYX_ERR(0, 800, __pyx_L1_error)) + __pyx_t_5 = PyArray_SimpleNewFromData(1, (&__pyx_v_nelemsp), NPY_UINT64, __pyx_v_buffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 800, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_data = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":802 + * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) + * + * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(802,0,__PYX_ERR(0, 802, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 802, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_data); + __Pyx_GIVEREF(__pyx_v_data); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_v_data); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_int_0); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 802, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 802, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":769 + * + * + * def test_read_all(testfile, no_fds, nelems, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_nbytes); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":805 + * + * + * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block = {"test_seek_then_read_block", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_niters = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + PyObject *__pyx_v_use_mmap = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_seek_then_read_block (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,&__pyx_n_s_seed,&__pyx_n_s_use_mmap,0}; + PyObject* values[6] = {0,0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + CYTHON_FALLTHROUGH; + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 1); __PYX_ERR(0, 805, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 2); __PYX_ERR(0, 805, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 3); __PYX_ERR(0, 805, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 4); __PYX_ERR(0, 805, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 5: + if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 5); __PYX_ERR(0, 805, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_then_read_block") < 0)) __PYX_ERR(0, 805, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + values[5] = PyTuple_GET_ITEM(__pyx_args, 5); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + __pyx_v_niters = values[3]; + __pyx_v_seed = values[4]; + __pyx_v_use_mmap = values[5]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 805, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_then_read_block", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_42test_seek_then_read_block(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed, __pyx_v_use_mmap); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_42test_seek_then_read_block(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_use_mmap) { + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; + PyObject *__pyx_v_seekelems = NULL; + zran_index_t __pyx_v_index; + void *__pyx_v_buffer; + npy_intp __pyx_v_nelemsp; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + int __pyx_v_ret; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_se = NULL; + PyObject *__pyx_v_readelems = NULL; + PyObject *__pyx_v_start = NULL; + PyObject *__pyx_v_nbytes = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_end = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + void *__pyx_t_8; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + PyObject *__pyx_t_14; + uint32_t __pyx_t_15; + Py_ssize_t __pyx_t_16; + PyObject *(*__pyx_t_17)(PyObject *); + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + Py_ssize_t __pyx_t_20; + int64_t __pyx_t_21; + uint64_t __pyx_t_22; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + PyObject *__pyx_t_25 = NULL; + PyObject *__pyx_t_26 = NULL; + PyObject *__pyx_t_27 = NULL; + npy_intp __pyx_t_28; + int __pyx_t_29; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__34) + __Pyx_RefNannySetupContext("test_seek_then_read_block", 0); + __Pyx_TraceCall("test_seek_then_read_block", __pyx_f[0], 805, 0, __PYX_ERR(0, 805, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":807 + * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * + * indexSpacing = max(524288, filesize // 1000) + */ + __Pyx_TraceLine(807,0,__PYX_ERR(0, 807, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":809 + * filesize = nelems * 8 + * + * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< + * buf = ReadBuffer(filesize, use_mmap=use_mmap) + * seekelems = np.random.randint(0, nelems - 1, niters, dtype=np.uint64) + */ + __Pyx_TraceLine(809,0,__PYX_ERR(0, 809, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x80000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":810 + * + * indexSpacing = max(524288, filesize // 1000) + * buf = ReadBuffer(filesize, use_mmap=use_mmap) # <<<<<<<<<<<<<< + * seekelems = np.random.randint(0, nelems - 1, niters, dtype=np.uint64) + * + */ + __Pyx_TraceLine(810,0,__PYX_ERR(0, 810, __pyx_L1_error)) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 810, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_filesize); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 810, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_use_mmap, __pyx_v_use_mmap) < 0) __PYX_ERR(0, 810, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 810, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":811 + * indexSpacing = max(524288, filesize // 1000) + * buf = ReadBuffer(filesize, use_mmap=use_mmap) + * seekelems = np.random.randint(0, nelems - 1, niters, dtype=np.uint64) # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(811,0,__PYX_ERR(0, 811, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); + __Pyx_INCREF(__pyx_v_niters); + __Pyx_GIVEREF(__pyx_v_niters); + PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_niters); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 811, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_seekelems = __pyx_t_7; + __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":814 + * + * cdef zran.zran_index_t index + * cdef void *buffer = buf.buffer # <<<<<<<<<<<<<< + * cdef np.npy_intp nelemsp + * + */ + __Pyx_TraceLine(814,0,__PYX_ERR(0, 814, __pyx_L1_error)) + __pyx_t_8 = __pyx_v_buf->buffer; + __pyx_v_buffer = __pyx_t_8; + + /* "indexed_gzip/tests/ctest_zran.pyx":817 + * cdef np.npy_intp nelemsp + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(817,0,__PYX_ERR(0, 817, __pyx_L1_error)) + /*with:*/ { + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 817, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_s_rb); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 817, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 817, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 817, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 817, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_7; + __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":818 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * ret = zran.zran_init(&index, + */ + __Pyx_TraceLine(818,0,__PYX_ERR(0, 818, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 818, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_13 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 818, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_13, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":821 + * + * ret = zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(821,0,__PYX_ERR(0, 821, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 821, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_8 = NULL; + } else { + __pyx_t_8 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":822 + * ret = zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(822,0,__PYX_ERR(0, 822, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 822, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_14 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_14 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":823 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(823,0,__PYX_ERR(0, 823, __pyx_L7_error)) + __pyx_t_15 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_15 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 823, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":820 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * ret = zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(820,0,__PYX_ERR(0, 820, __pyx_L7_error)) + __pyx_v_ret = zran_init((&__pyx_v_index), __pyx_t_8, __pyx_t_14, __pyx_t_15, 0x8000, 0x20000, ZRAN_AUTO_BUILD); + + /* "indexed_gzip/tests/ctest_zran.pyx":827 + * 131072, + * zran.ZRAN_AUTO_BUILD) + * assert not ret, ret # <<<<<<<<<<<<<< + * + * for i, se in enumerate(seekelems): + */ + __Pyx_TraceLine(827,0,__PYX_ERR(0, 827, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((!(__pyx_v_ret != 0)) != 0))) { + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 827, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); + __pyx_t_1 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 827, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":829 + * assert not ret, ret + * + * for i, se in enumerate(seekelems): # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L7_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_t_3 = __pyx_int_0; + if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { + __pyx_t_1 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_1); __pyx_t_16 = 0; + __pyx_t_17 = NULL; + } else { + __pyx_t_16 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 829, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_17 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 829, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_17)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_7 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_7); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 829, __pyx_L7_error) + #else + __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 829, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + #endif + } else { + if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_7); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 829, __pyx_L7_error) + #else + __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 829, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + #endif + } + } else { + __pyx_t_7 = __pyx_t_17(__pyx_t_1); + if (unlikely(!__pyx_t_7)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 829, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_7); + } + __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_7); + __pyx_t_7 = 0; + __Pyx_INCREF(__pyx_t_3); + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); + __pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 829, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); + __pyx_t_3 = __pyx_t_7; + __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":832 + * + * + * if se == nelems - 1: # <<<<<<<<<<<<<< + * readelems = 1 + * else: + */ + __Pyx_TraceLine(832,0,__PYX_ERR(0, 832, __pyx_L7_error)) + __pyx_t_7 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_se, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + + /* "indexed_gzip/tests/ctest_zran.pyx":833 + * + * if se == nelems - 1: + * readelems = 1 # <<<<<<<<<<<<<< + * else: + * readelems = np.random.randint(1, nelems - se) + */ + __Pyx_TraceLine(833,0,__PYX_ERR(0, 833, __pyx_L7_error)) + __Pyx_INCREF(__pyx_int_1); + __Pyx_XDECREF_SET(__pyx_v_readelems, __pyx_int_1); + + /* "indexed_gzip/tests/ctest_zran.pyx":832 + * + * + * if se == nelems - 1: # <<<<<<<<<<<<<< + * readelems = 1 + * else: + */ + goto __pyx_L15; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":835 + * readelems = 1 + * else: + * readelems = np.random.randint(1, nelems - se) # <<<<<<<<<<<<<< + * + * start = time.time() + */ + __Pyx_TraceLine(835,0,__PYX_ERR(0, 835, __pyx_L7_error)) + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_random); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_randint); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Subtract(__pyx_v_nelems, __pyx_v_se); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_18 = NULL; + __pyx_t_13 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_18)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_18); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + __pyx_t_13 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[3] = {__pyx_t_18, __pyx_int_1, __pyx_t_4}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { + PyObject *__pyx_temp[3] = {__pyx_t_18, __pyx_int_1, __pyx_t_4}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_19 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_18); __pyx_t_18 = NULL; + } + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_13, __pyx_int_1); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_13, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_19, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF_SET(__pyx_v_readelems, __pyx_t_5); + __pyx_t_5 = 0; + } + __pyx_L15:; + + /* "indexed_gzip/tests/ctest_zran.pyx":837 + * readelems = np.random.randint(1, nelems - se) + * + * start = time.time() # <<<<<<<<<<<<<< + * + * print("{} / {}: reading {} elements from {} ... ".format( + */ + __Pyx_TraceLine(837,0,__PYX_ERR(0, 837, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_time); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 837, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_time); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 837, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_19); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_19, function); + } + } + __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 837, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF_SET(__pyx_v_start, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":839 + * start = time.time() + * + * print("{} / {}: reading {} elements from {} ... ".format( # <<<<<<<<<<<<<< + * i, len(seekelems), readelems, se), end='') + * + */ + __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_reading_elements_from, __pyx_n_s_format); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 839, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + + /* "indexed_gzip/tests/ctest_zran.pyx":840 + * + * print("{} / {}: reading {} elements from {} ... ".format( + * i, len(seekelems), readelems, se), end='') # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK + */ + __Pyx_TraceLine(840,0,__PYX_ERR(0, 840, __pyx_L7_error)) + __pyx_t_20 = PyObject_Length(__pyx_v_seekelems); if (unlikely(__pyx_t_20 == ((Py_ssize_t)-1))) __PYX_ERR(0, 840, __pyx_L7_error) + __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_20); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 840, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = NULL; + __pyx_t_13 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_19); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_19, function); + __pyx_t_13 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_19)) { + PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_v_i, __pyx_t_7, __pyx_v_readelems, __pyx_v_se}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_13, 4+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { + PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_v_i, __pyx_t_7, __pyx_v_readelems, __pyx_v_se}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_13, 4+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_18 = PyTuple_New(4+__pyx_t_13); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 839, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_18); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_v_i); + __Pyx_GIVEREF(__pyx_v_i); + PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_13, __pyx_v_i); + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_13, __pyx_t_7); + __Pyx_INCREF(__pyx_v_readelems); + __Pyx_GIVEREF(__pyx_v_readelems); + PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_13, __pyx_v_readelems); + __Pyx_INCREF(__pyx_v_se); + __Pyx_GIVEREF(__pyx_v_se); + PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_13, __pyx_v_se); + __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":839 + * start = time.time() + * + * print("{} / {}: reading {} elements from {} ... ".format( # <<<<<<<<<<<<<< + * i, len(seekelems), readelems, se), end='') + * + */ + __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L7_error)) + __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 839, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":840 + * + * print("{} / {}: reading {} elements from {} ... ".format( + * i, len(seekelems), readelems, se), end='') # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK + */ + __Pyx_TraceLine(840,0,__PYX_ERR(0, 840, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 840, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_end, __pyx_kp_s__35) < 0) __PYX_ERR(0, 840, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":839 + * start = time.time() + * + * print("{} / {}: reading {} elements from {} ... ".format( # <<<<<<<<<<<<<< + * i, len(seekelems), readelems, se), end='') + * + */ + __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L7_error)) + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_19, __pyx_t_5); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 839, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":842 + * i, len(seekelems), readelems, se), end='') + * + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * + * nbytes = zran.zran_read(&index, buffer, readelems * 8) + */ + __Pyx_TraceLine(842,0,__PYX_ERR(0, 842, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_18 = PyNumber_Multiply(__pyx_v_se, __pyx_int_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 842, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_21 = __Pyx_PyInt_As_int64_t(__pyx_t_18); if (unlikely((__pyx_t_21 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 842, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_21, SEEK_SET, NULL) == ZRAN_SEEK_OK) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 842, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":844 + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK + * + * nbytes = zran.zran_read(&index, buffer, readelems * 8) # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(844,0,__PYX_ERR(0, 844, __pyx_L7_error)) + __pyx_t_18 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 844, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_22 = __Pyx_PyInt_As_uint64_t(__pyx_t_18); if (unlikely((__pyx_t_22 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 844, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = __Pyx_PyInt_From_int64_t(zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_t_22)); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 844, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_XDECREF_SET(__pyx_v_nbytes, __pyx_t_18); + __pyx_t_18 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":846 + * nbytes = zran.zran_read(&index, buffer, readelems * 8) + * + * try: # <<<<<<<<<<<<<< + * assert nbytes == readelems * 8 + * assert zran.zran_tell(&index) == (se + readelems) * 8 + */ + __Pyx_TraceLine(846,0,__PYX_ERR(0, 846, __pyx_L7_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_25); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":847 + * + * try: + * assert nbytes == readelems * 8 # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == (se + readelems) * 8 + * except: + */ + __Pyx_TraceLine(847,0,__PYX_ERR(0, 847, __pyx_L16_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_18 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 847, __pyx_L16_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 847, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 847, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 847, __pyx_L16_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":848 + * try: + * assert nbytes == readelems * 8 + * assert zran.zran_tell(&index) == (se + readelems) * 8 # <<<<<<<<<<<<<< + * except: + * print('seekelem: {}'.format(se)) + */ + __Pyx_TraceLine(848,0,__PYX_ERR(0, 848, __pyx_L16_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 848, __pyx_L16_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_18 = PyNumber_Add(__pyx_v_se, __pyx_v_readelems); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 848, __pyx_L16_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_19 = PyNumber_Multiply(__pyx_t_18, __pyx_int_8); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 848, __pyx_L16_error) + __Pyx_GOTREF(__pyx_t_19); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = PyObject_RichCompare(__pyx_t_5, __pyx_t_19, Py_EQ); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 848, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 848, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 848, __pyx_L16_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":846 + * nbytes = zran.zran_read(&index, buffer, readelems * 8) + * + * try: # <<<<<<<<<<<<<< + * assert nbytes == readelems * 8 + * assert zran.zran_tell(&index) == (se + readelems) * 8 + */ + } + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; + goto __pyx_L23_try_end; + __pyx_L16_error:; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":849 + * assert nbytes == readelems * 8 + * assert zran.zran_tell(&index) == (se + readelems) * 8 + * except: # <<<<<<<<<<<<<< + * print('seekelem: {}'.format(se)) + * print('readelems: {}'.format(readelems)) + */ + __Pyx_TraceLine(849,0,__PYX_ERR(0, 849, __pyx_L18_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_then_read_block", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_5) < 0) __PYX_ERR(0, 849, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_GOTREF(__pyx_t_19); + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/tests/ctest_zran.pyx":850 + * assert zran.zran_tell(&index) == (se + readelems) * 8 + * except: + * print('seekelem: {}'.format(se)) # <<<<<<<<<<<<<< + * print('readelems: {}'.format(readelems)) + * print('nbytes: {}'.format(nbytes)) + */ + __Pyx_TraceLine(850,0,__PYX_ERR(0, 850, __pyx_L18_except_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_seekelem, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 850, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_26 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_26)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_26); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_7 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_26, __pyx_v_se) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_se); + __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 850, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 850, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":851 + * except: + * print('seekelem: {}'.format(se)) + * print('readelems: {}'.format(readelems)) # <<<<<<<<<<<<<< + * print('nbytes: {}'.format(nbytes)) + * print(' should be: {}'.format(readelems * 8)) + */ + __Pyx_TraceLine(851,0,__PYX_ERR(0, 851, __pyx_L18_except_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_readelems, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 851, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_26 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_26)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_26); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_4 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_26, __pyx_v_readelems) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_readelems); + __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 851, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 851, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":852 + * print('seekelem: {}'.format(se)) + * print('readelems: {}'.format(readelems)) + * print('nbytes: {}'.format(nbytes)) # <<<<<<<<<<<<<< + * print(' should be: {}'.format(readelems * 8)) + * print('ftell: {}'.format(zran.zran_tell(&index))) + */ + __Pyx_TraceLine(852,0,__PYX_ERR(0, 852, __pyx_L18_except_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_nbytes, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_26 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_26)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_26); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_7 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_26, __pyx_v_nbytes) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_nbytes); + __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 852, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":853 + * print('readelems: {}'.format(readelems)) + * print('nbytes: {}'.format(nbytes)) + * print(' should be: {}'.format(readelems * 8)) # <<<<<<<<<<<<<< + * print('ftell: {}'.format(zran.zran_tell(&index))) + * print(' should be: {}'.format((se + readelems) * 8)) + */ + __Pyx_TraceLine(853,0,__PYX_ERR(0, 853, __pyx_L18_except_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_should_be, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 853, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_26 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 853, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_26); + __pyx_t_27 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_27)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_27); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_4 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_27, __pyx_t_26) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_26); + __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; + __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 853, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 853, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":854 + * print('nbytes: {}'.format(nbytes)) + * print(' should be: {}'.format(readelems * 8)) + * print('ftell: {}'.format(zran.zran_tell(&index))) # <<<<<<<<<<<<<< + * print(' should be: {}'.format((se + readelems) * 8)) + * raise + */ + __Pyx_TraceLine(854,0,__PYX_ERR(0, 854, __pyx_L18_except_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_ftell, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 854, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_26 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 854, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_26); + __pyx_t_27 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_27)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_27); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_7 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_27, __pyx_t_26) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_26); + __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; + __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 854, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 854, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":855 + * print(' should be: {}'.format(readelems * 8)) + * print('ftell: {}'.format(zran.zran_tell(&index))) + * print(' should be: {}'.format((se + readelems) * 8)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(855,0,__PYX_ERR(0, 855, __pyx_L18_except_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_should_be, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 855, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_26 = PyNumber_Add(__pyx_v_se, __pyx_v_readelems); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 855, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_26); + __pyx_t_27 = PyNumber_Multiply(__pyx_t_26, __pyx_int_8); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 855, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_27); + __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; + __pyx_t_26 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_26)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_26); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_4 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_26, __pyx_t_27) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_27); + __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; + __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 855, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 855, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":856 + * print('ftell: {}'.format(zran.zran_tell(&index))) + * print(' should be: {}'.format((se + readelems) * 8)) + * raise # <<<<<<<<<<<<<< + * + * nelemsp = nbytes / 8. + */ + __Pyx_TraceLine(856,0,__PYX_ERR(0, 856, __pyx_L18_except_error)) + __Pyx_GIVEREF(__pyx_t_18); + __Pyx_GIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_18, __pyx_t_19, __pyx_t_5); + __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 856, __pyx_L18_except_error) + } + __pyx_L18_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":846 + * nbytes = zran.zran_read(&index, buffer, readelems * 8) + * + * try: # <<<<<<<<<<<<<< + * assert nbytes == readelems * 8 + * assert zran.zran_tell(&index) == (se + readelems) * 8 + */ + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_25); + __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); + goto __pyx_L7_error; + __pyx_L23_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":858 + * raise + * + * nelemsp = nbytes / 8. # <<<<<<<<<<<<<< + * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) + * + */ + __Pyx_TraceLine(858,0,__PYX_ERR(0, 858, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyFloat_TrueDivideObjC(__pyx_v_nbytes, __pyx_float_8_, 8., 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_28 = __Pyx_PyInt_As_Py_intptr_t(__pyx_t_5); if (unlikely((__pyx_t_28 == ((npy_intp)-1)) && PyErr_Occurred())) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_nelemsp = __pyx_t_28; + + /* "indexed_gzip/tests/ctest_zran.pyx":859 + * + * nelemsp = nbytes / 8. + * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) # <<<<<<<<<<<<<< + * + * assert check_data_valid(data, se, se + readelems) + */ + __Pyx_TraceLine(859,0,__PYX_ERR(0, 859, __pyx_L7_error)) + __pyx_t_5 = PyArray_SimpleNewFromData(1, (&__pyx_v_nelemsp), NPY_UINT64, __pyx_v_buffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 859, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":861 + * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) + * + * assert check_data_valid(data, se, se + readelems) # <<<<<<<<<<<<<< + * + * end = time.time() + */ + __Pyx_TraceLine(861,0,__PYX_ERR(0, 861, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 861, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_18 = PyNumber_Add(__pyx_v_se, __pyx_v_readelems); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 861, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_18); + __pyx_t_7 = NULL; + __pyx_t_13 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_19); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_19, function); + __pyx_t_13 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_19)) { + PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_data, __pyx_v_se, __pyx_t_18}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { + PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_data, __pyx_v_se, __pyx_t_18}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + } else + #endif + { + __pyx_t_4 = PyTuple_New(3+__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 861, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_7) { + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = NULL; + } + __Pyx_INCREF(__pyx_v_data); + __Pyx_GIVEREF(__pyx_v_data); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_13, __pyx_v_data); + __Pyx_INCREF(__pyx_v_se); + __Pyx_GIVEREF(__pyx_v_se); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_13, __pyx_v_se); + __Pyx_GIVEREF(__pyx_t_18); + PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_13, __pyx_t_18); + __pyx_t_18 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 861, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 861, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":863 + * assert check_data_valid(data, se, se + readelems) + * + * end = time.time() # <<<<<<<<<<<<<< + * + * print("{:0.2f} seconds".format(end - start)) + */ + __Pyx_TraceLine(863,0,__PYX_ERR(0, 863, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_time); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 863, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_n_s_time); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 863, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_t_19 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_19)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_19); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_19) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_19) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 863, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF_SET(__pyx_v_end, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":865 + * end = time.time() + * + * print("{:0.2f} seconds".format(end - start)) # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L7_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_2f_seconds, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 865, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_19 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 865, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_18 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_18)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_18); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_18, __pyx_t_19) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_19); + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 865, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 865, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":829 + * assert not ret, ret + * + * for i, se in enumerate(seekelems): # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":867 + * print("{:0.2f} seconds".format(end - start)) + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":817 + * cdef np.npy_intp nelemsp + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; + __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_then_read_block", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 817, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 817, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_25); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_25); + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 817, __pyx_L9_except_error) + __pyx_t_29 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_29) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_4); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 817, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 817, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L29; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L1_error; + __pyx_L29:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":805 + * + * + * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_18); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_26); + __Pyx_XDECREF(__pyx_t_27); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_then_read_block", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_seekelems); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_se); + __Pyx_XDECREF(__pyx_v_readelems); + __Pyx_XDECREF(__pyx_v_start); + __Pyx_XDECREF(__pyx_v_nbytes); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_end); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":870 + * + * + * def test_random_seek_and_read(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read = {"test_random_seek_and_read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_niters = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_random_seek_and_read (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,&__pyx_n_s_seed,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, 1); __PYX_ERR(0, 870, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, 2); __PYX_ERR(0, 870, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, 3); __PYX_ERR(0, 870, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, 4); __PYX_ERR(0, 870, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_random_seek_and_read") < 0)) __PYX_ERR(0, 870, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + __pyx_v_niters = values[3]; + __pyx_v_seed = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 870, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_44test_random_seek_and_read(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_44test_random_seek_and_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_seekelems = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_se = NULL; + PyObject *__pyx_v_expval = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + long __pyx_t_6; + int __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + void *__pyx_t_12; + PyObject *__pyx_t_13; + uint32_t __pyx_t_14; + Py_ssize_t __pyx_t_15; + PyObject *(*__pyx_t_16)(PyObject *); + struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + int __pyx_t_25; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__36) + __Pyx_RefNannySetupContext("test_random_seek_and_read", 0); + __Pyx_TraceCall("test_random_seek_and_read", __pyx_f[0], 870, 0, __PYX_ERR(0, 870, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":874 + * cdef zran.zran_index_t index + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * + * seekelems = np.random.randint(0, nelems, niters) + */ + __Pyx_TraceLine(874,0,__PYX_ERR(0, 874, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 874, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":876 + * filesize = nelems * 8 + * + * seekelems = np.random.randint(0, nelems, niters) # <<<<<<<<<<<<<< + * indexSpacing = max(524288, filesize // 1000) + * + */ + __Pyx_TraceLine(876,0,__PYX_ERR(0, 876, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_4 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_4 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_nelems); + __Pyx_INCREF(__pyx_v_niters); + __Pyx_GIVEREF(__pyx_v_niters); + PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_niters); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_seekelems = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":877 + * + * seekelems = np.random.randint(0, nelems, niters) + * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(877,0,__PYX_ERR(0, 877, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 877, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = 0x80000; + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 877, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 877, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_7) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_2 = __pyx_t_1; + } else { + __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __pyx_t_3; + __pyx_t_3 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":879 + * indexSpacing = max(524288, filesize // 1000) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(879,0,__PYX_ERR(0, 879, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 879, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 879, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 879, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 879, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":880 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(880,0,__PYX_ERR(0, 880, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 880, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_cfid = fdopen(__pyx_t_4, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":882 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(882,0,__PYX_ERR(0, 882, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":883 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(883,0,__PYX_ERR(0, 883, __pyx_L7_error)) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 883, __pyx_L7_error) + if (__pyx_t_7) { + __pyx_t_12 = NULL; + } else { + __pyx_t_12 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":884 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(884,0,__PYX_ERR(0, 884, __pyx_L7_error)) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 884, __pyx_L7_error) + if (__pyx_t_7) { + __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_13 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":885 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(885,0,__PYX_ERR(0, 885, __pyx_L7_error)) + __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 885, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":882 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(882,0,__PYX_ERR(0, 882, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_12, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 882, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":890 + * zran.ZRAN_AUTO_BUILD) + * + * for se in seekelems: # <<<<<<<<<<<<<< + * + * # Should never happen + */ + __Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L7_error)) + if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { + __pyx_t_3 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; + __pyx_t_16 = NULL; + } else { + __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_16 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 890, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_16)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 890, __pyx_L7_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 890, __pyx_L7_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } + } else { + __pyx_t_2 = __pyx_t_16(__pyx_t_3); + if (unlikely(!__pyx_t_2)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 890, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_2); + } + __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":893 + * + * # Should never happen + * if se >= nelems: expval = None # <<<<<<<<<<<<<< + * else: expval = se + * + */ + __Pyx_TraceLine(893,0,__PYX_ERR(0, 893, __pyx_L7_error)) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_se, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 893, __pyx_L7_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_7) { + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_expval, Py_None); + goto __pyx_L15; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":894 + * # Should never happen + * if se >= nelems: expval = None + * else: expval = se # <<<<<<<<<<<<<< + * + * val = read_element(&index, se, nelems, True) + */ + __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L7_error)) + /*else*/ { + __Pyx_INCREF(__pyx_v_se); + __Pyx_XDECREF_SET(__pyx_v_expval, __pyx_v_se); + } + __pyx_L15:; + + /* "indexed_gzip/tests/ctest_zran.pyx":896 + * else: expval = se + * + * val = read_element(&index, se, nelems, True) # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(896,0,__PYX_ERR(0, 896, __pyx_L7_error)) + __pyx_t_17.__pyx_n = 1; + __pyx_t_17.seek = Py_True; + __pyx_t_2 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_se, __pyx_v_nelems, &__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 896, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":898 + * val = read_element(&index, se, nelems, True) + * + * try: # <<<<<<<<<<<<<< + * assert val == expval + * except: + */ + __Pyx_TraceLine(898,0,__PYX_ERR(0, 898, __pyx_L7_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":899 + * + * try: + * assert val == expval # <<<<<<<<<<<<<< + * except: + * print("{} != {}".format(val, se)) + */ + __Pyx_TraceLine(899,0,__PYX_ERR(0, 899, __pyx_L16_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = PyObject_RichCompare(__pyx_v_val, __pyx_v_expval, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 899, __pyx_L16_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 899, __pyx_L16_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_7)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 899, __pyx_L16_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":898 + * val = read_element(&index, se, nelems, True) + * + * try: # <<<<<<<<<<<<<< + * assert val == expval + * except: + */ + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + goto __pyx_L23_try_end; + __pyx_L16_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":900 + * try: + * assert val == expval + * except: # <<<<<<<<<<<<<< + * print("{} != {}".format(val, se)) + * raise + */ + __Pyx_TraceLine(900,0,__PYX_ERR(0, 900, __pyx_L18_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 900, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_5); + + /* "indexed_gzip/tests/ctest_zran.pyx":901 + * assert val == expval + * except: + * print("{} != {}".format(val, se)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L18_except_error)) + __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__30, __pyx_n_s_format); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 901, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_22); + __pyx_t_23 = NULL; + __pyx_t_4 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { + __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_22); + if (likely(__pyx_t_23)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); + __Pyx_INCREF(__pyx_t_23); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_22, function); + __pyx_t_4 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_22)) { + PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_v_val, __pyx_v_se}; + __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 901, __pyx_L18_except_error) + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_GOTREF(__pyx_t_21); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { + PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_v_val, __pyx_v_se}; + __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 901, __pyx_L18_except_error) + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_GOTREF(__pyx_t_21); + } else + #endif + { + __pyx_t_24 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 901, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_24); + if (__pyx_t_23) { + __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; + } + __Pyx_INCREF(__pyx_v_val); + __Pyx_GIVEREF(__pyx_v_val); + PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_4, __pyx_v_val); + __Pyx_INCREF(__pyx_v_se); + __Pyx_GIVEREF(__pyx_v_se); + PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_4, __pyx_v_se); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_24, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 901, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; + } + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + __pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_21); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 901, __pyx_L18_except_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":902 + * except: + * print("{} != {}".format(val, se)) + * raise # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(902,0,__PYX_ERR(0, 902, __pyx_L18_except_error)) + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 902, __pyx_L18_except_error) + } + __pyx_L18_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":898 + * val = read_element(&index, se, nelems, True) + * + * try: # <<<<<<<<<<<<<< + * assert val == expval + * except: + */ + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + goto __pyx_L7_error; + __pyx_L23_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":890 + * zran.ZRAN_AUTO_BUILD) + * + * for se in seekelems: # <<<<<<<<<<<<<< + * + * # Should never happen + */ + __Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":904 + * raise + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(904,0,__PYX_ERR(0, 904, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":879 + * indexSpacing = max(524288, filesize // 1000) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 879, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 879, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_7 < 0) __PYX_ERR(0, 879, __pyx_L9_except_error) + __pyx_t_25 = ((!(__pyx_t_7 != 0)) != 0); + if (__pyx_t_25) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); + __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 879, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_8) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 879, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L29; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L1_error; + __pyx_L29:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":870 + * + * + * def test_random_seek_and_read(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_21); + __Pyx_XDECREF(__pyx_t_22); + __Pyx_XDECREF(__pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_seekelems); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_se); + __Pyx_XDECREF(__pyx_v_expval); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":907 + * + * + * def test_read_all_sequential(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential = {"test_read_all_sequential", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_read_all_sequential (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; + PyObject* values[3] = {0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_all_sequential", 1, 3, 3, 1); __PYX_ERR(0, 907, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_read_all_sequential", 1, 3, 3, 2); __PYX_ERR(0, 907, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_all_sequential") < 0)) __PYX_ERR(0, 907, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_read_all_sequential", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 907, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all_sequential", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_46test_read_all_sequential(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_46test_read_all_sequential(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + PyObject *__pyx_v_seekelems = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_se = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + void *__pyx_t_13; + PyObject *__pyx_t_14; + uint32_t __pyx_t_15; + Py_ssize_t __pyx_t_16; + PyObject *(*__pyx_t_17)(PyObject *); + struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_18; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + int __pyx_t_25; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__37) + __Pyx_RefNannySetupContext("test_read_all_sequential", 0); + __Pyx_TraceCall("test_read_all_sequential", __pyx_f[0], 907, 0, __PYX_ERR(0, 907, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":911 + * cdef zran.zran_index_t index + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * + * indexSpacing = max(524288, filesize // 1000) + */ + __Pyx_TraceLine(911,0,__PYX_ERR(0, 911, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 911, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":913 + * filesize = nelems * 8 + * + * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< + * + * # Takes too long to read all elements + */ + __Pyx_TraceLine(913,0,__PYX_ERR(0, 913, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 913, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x80000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 913, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 913, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 913, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 913, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":916 + * + * # Takes too long to read all elements + * seekelems = np.random.randint(0, nelems - 1, 10000, dtype=np.uint64) # <<<<<<<<<<<<<< + * seekelems = np.sort(seekelems) + * + */ + __Pyx_TraceLine(916,0,__PYX_ERR(0, 916, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); + __Pyx_INCREF(__pyx_int_10000); + __Pyx_GIVEREF(__pyx_int_10000); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_int_10000); + __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 916, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_seekelems = __pyx_t_7; + __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":917 + * # Takes too long to read all elements + * seekelems = np.random.randint(0, nelems - 1, 10000, dtype=np.uint64) + * seekelems = np.sort(seekelems) # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 917, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sort); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_seekelems) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_seekelems); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 917, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_seekelems, __pyx_t_7); + __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":919 + * seekelems = np.sort(seekelems) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(919,0,__PYX_ERR(0, 919, __pyx_L1_error)) + /*with:*/ { + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 919, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_s_rb); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 919, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 919, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 919, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_7 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 919, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_7; + __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":920 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 920, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_cfid = fdopen(__pyx_t_12, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":922 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":923 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(923,0,__PYX_ERR(0, 923, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 923, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_13 = NULL; + } else { + __pyx_t_13 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":924 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(924,0,__PYX_ERR(0, 924, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 924, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_14 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_14 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":925 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(925,0,__PYX_ERR(0, 925, __pyx_L7_error)) + __pyx_t_15 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_15 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 925, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":922 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_13, __pyx_t_14, __pyx_t_15, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 922, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":930 + * zran.ZRAN_AUTO_BUILD) + * + * for se in seekelems: # <<<<<<<<<<<<<< + * + * val = read_element(&index, se, nelems, True) + */ + __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L7_error)) + if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { + __pyx_t_3 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_3); __pyx_t_16 = 0; + __pyx_t_17 = NULL; + } else { + __pyx_t_16 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 930, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_17)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_16); __Pyx_INCREF(__pyx_t_5); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 930, __pyx_L7_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } else { + if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_16); __Pyx_INCREF(__pyx_t_5); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 930, __pyx_L7_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } + } else { + __pyx_t_5 = __pyx_t_17(__pyx_t_3); + if (unlikely(!__pyx_t_5)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 930, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_5); + } + __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":932 + * for se in seekelems: + * + * val = read_element(&index, se, nelems, True) # <<<<<<<<<<<<<< + * try: + * assert val == se + */ + __Pyx_TraceLine(932,0,__PYX_ERR(0, 932, __pyx_L7_error)) + __pyx_t_18.__pyx_n = 1; + __pyx_t_18.seek = Py_True; + __pyx_t_5 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_se, __pyx_v_nelems, &__pyx_t_18); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 932, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":933 + * + * val = read_element(&index, se, nelems, True) + * try: # <<<<<<<<<<<<<< + * assert val == se + * except: + */ + __Pyx_TraceLine(933,0,__PYX_ERR(0, 933, __pyx_L7_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_21); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":934 + * val = read_element(&index, se, nelems, True) + * try: + * assert val == se # <<<<<<<<<<<<<< + * except: + * print("{} != {}".format(val, se)) + */ + __Pyx_TraceLine(934,0,__PYX_ERR(0, 934, __pyx_L15_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_5 = PyObject_RichCompare(__pyx_v_val, __pyx_v_se, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 934, __pyx_L15_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 934, __pyx_L15_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 934, __pyx_L15_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":933 + * + * val = read_element(&index, se, nelems, True) + * try: # <<<<<<<<<<<<<< + * assert val == se + * except: + */ + } + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + goto __pyx_L22_try_end; + __pyx_L15_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":935 + * try: + * assert val == se + * except: # <<<<<<<<<<<<<< + * print("{} != {}".format(val, se)) + * print("{:x} != {:x}".format(val, se)) + */ + __Pyx_TraceLine(935,0,__PYX_ERR(0, 935, __pyx_L17_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all_sequential", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_7, &__pyx_t_1) < 0) __PYX_ERR(0, 935, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GOTREF(__pyx_t_1); + + /* "indexed_gzip/tests/ctest_zran.pyx":936 + * assert val == se + * except: + * print("{} != {}".format(val, se)) # <<<<<<<<<<<<<< + * print("{:x} != {:x}".format(val, se)) + * raise + */ + __Pyx_TraceLine(936,0,__PYX_ERR(0, 936, __pyx_L17_except_error)) + __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__30, __pyx_n_s_format); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 936, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_22); + __pyx_t_23 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { + __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_22); + if (likely(__pyx_t_23)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); + __Pyx_INCREF(__pyx_t_23); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_22, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_22)) { + PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_v_val, __pyx_v_se}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L17_except_error) + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { + PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_v_val, __pyx_v_se}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L17_except_error) + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_GOTREF(__pyx_t_4); + } else + #endif + { + __pyx_t_24 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 936, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_24); + if (__pyx_t_23) { + __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; + } + __Pyx_INCREF(__pyx_v_val); + __Pyx_GIVEREF(__pyx_v_val); + PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_12, __pyx_v_val); + __Pyx_INCREF(__pyx_v_se); + __Pyx_GIVEREF(__pyx_v_se); + PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_12, __pyx_v_se); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_24, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; + } + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + __pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 936, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":937 + * except: + * print("{} != {}".format(val, se)) + * print("{:x} != {:x}".format(val, se)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(937,0,__PYX_ERR(0, 937, __pyx_L17_except_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_x_x, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 937, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_24 = NULL; + __pyx_t_12 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_24)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_24); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_12 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_24, __pyx_v_val, __pyx_v_se}; + __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 937, __pyx_L17_except_error) + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_GOTREF(__pyx_t_22); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[3] = {__pyx_t_24, __pyx_v_val, __pyx_v_se}; + __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 937, __pyx_L17_except_error) + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_GOTREF(__pyx_t_22); + } else + #endif + { + __pyx_t_23 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 937, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_23); + if (__pyx_t_24) { + __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_24); __pyx_t_24 = NULL; + } + __Pyx_INCREF(__pyx_v_val); + __Pyx_GIVEREF(__pyx_v_val); + PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_12, __pyx_v_val); + __Pyx_INCREF(__pyx_v_se); + __Pyx_GIVEREF(__pyx_v_se); + PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_12, __pyx_v_se); + __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_23, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 937, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 937, __pyx_L17_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":938 + * print("{} != {}".format(val, se)) + * print("{:x} != {:x}".format(val, se)) + * raise # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(938,0,__PYX_ERR(0, 938, __pyx_L17_except_error)) + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_7, __pyx_t_1); + __pyx_t_5 = 0; __pyx_t_7 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 938, __pyx_L17_except_error) + } + __pyx_L17_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":933 + * + * val = read_element(&index, se, nelems, True) + * try: # <<<<<<<<<<<<<< + * assert val == se + * except: + */ + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_XGIVEREF(__pyx_t_21); + __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21); + goto __pyx_L7_error; + __pyx_L22_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":930 + * zran.ZRAN_AUTO_BUILD) + * + * for se in seekelems: # <<<<<<<<<<<<<< + * + * val = read_element(&index, se, nelems, True) + */ + __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":940 + * raise + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(940,0,__PYX_ERR(0, 940, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":919 + * seekelems = np.sort(seekelems) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all_sequential", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 919, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 919, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 919, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 919, __pyx_L9_except_error) + __pyx_t_25 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_25) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_7); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_7 = 0; + __PYX_ERR(0, 919, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_8) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 919, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L28; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L1_error; + __pyx_L28:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":907 + * + * + * def test_read_all_sequential(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_22); + __Pyx_XDECREF(__pyx_t_23); + __Pyx_XDECREF(__pyx_t_24); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all_sequential", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF(__pyx_v_seekelems); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_se); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":943 + * + * + * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read = {"test_build_then_read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + PyObject *__pyx_v_use_mmap = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_build_then_read (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_seed,&__pyx_n_s_use_mmap,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, 1); __PYX_ERR(0, 943, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, 2); __PYX_ERR(0, 943, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, 3); __PYX_ERR(0, 943, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, 4); __PYX_ERR(0, 943, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_build_then_read") < 0)) __PYX_ERR(0, 943, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + __pyx_v_seed = values[3]; + __pyx_v_use_mmap = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 943, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_build_then_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_48test_build_then_read(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_seed, __pyx_v_use_mmap); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_48test_build_then_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_use_mmap) { + PyObject *__pyx_v_filesize = NULL; + PyObject *__pyx_v_indexSpacing = NULL; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; + PyObject *__pyx_v_seekelems = NULL; + zran_index_t __pyx_v_index; + void *__pyx_v_buffer; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_se = NULL; + PyObject *__pyx_v_readelems = NULL; + PyObject *__pyx_v_nbytes = NULL; + PyObject *__pyx_v_pybuf = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + long __pyx_t_2; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + void *__pyx_t_8; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + PyObject *__pyx_t_14; + uint32_t __pyx_t_15; + Py_ssize_t __pyx_t_16; + PyObject *(*__pyx_t_17)(PyObject *); + int64_t __pyx_t_18; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + uint64_t __pyx_t_21; + Py_ssize_t __pyx_t_22; + Py_ssize_t __pyx_t_23; + PyObject *(*__pyx_t_24)(PyObject *); + PyObject *__pyx_t_25 = NULL; + int __pyx_t_26; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__38) + __Pyx_RefNannySetupContext("test_build_then_read", 0); + __Pyx_TraceCall("test_build_then_read", __pyx_f[0], 943, 0, __PYX_ERR(0, 943, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":945 + * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): + * + * filesize = nelems * 8 # <<<<<<<<<<<<<< + * + * indexSpacing = max(524288, filesize // 1000) + */ + __Pyx_TraceLine(945,0,__PYX_ERR(0, 945, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_filesize = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":947 + * filesize = nelems * 8 + * + * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< + * buf = ReadBuffer(filesize, use_mmap) + * seekelems = np.random.randint(0, nelems - 1, 5000, dtype=np.uint64) + */ + __Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = 0x80000; + __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 947, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 947, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__pyx_t_6) { + __Pyx_INCREF(__pyx_t_1); + __pyx_t_3 = __pyx_t_1; + } else { + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __pyx_t_5; + __pyx_t_5 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_indexSpacing = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":948 + * + * indexSpacing = max(524288, filesize // 1000) + * buf = ReadBuffer(filesize, use_mmap) # <<<<<<<<<<<<<< + * seekelems = np.random.randint(0, nelems - 1, 5000, dtype=np.uint64) + * + */ + __Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L1_error)) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 948, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_filesize); + __Pyx_GIVEREF(__pyx_v_filesize); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_filesize); + __Pyx_INCREF(__pyx_v_use_mmap); + __Pyx_GIVEREF(__pyx_v_use_mmap); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_use_mmap); + __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":949 + * indexSpacing = max(524288, filesize // 1000) + * buf = ReadBuffer(filesize, use_mmap) + * seekelems = np.random.randint(0, nelems - 1, 5000, dtype=np.uint64) # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(949,0,__PYX_ERR(0, 949, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_int_5000); + __Pyx_GIVEREF(__pyx_int_5000); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_int_5000); + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 949, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_seekelems = __pyx_t_7; + __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":952 + * + * cdef zran.zran_index_t index + * cdef void *buffer = buf.buffer # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L1_error)) + __pyx_t_8 = __pyx_v_buf->buffer; + __pyx_v_buffer = __pyx_t_8; + + /* "indexed_gzip/tests/ctest_zran.pyx":954 + * cdef void *buffer = buf.buffer + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(954,0,__PYX_ERR(0, 954, __pyx_L1_error)) + /*with:*/ { + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 954, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_s_rb); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 954, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 954, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 954, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_t_7; + __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":955 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(955,0,__PYX_ERR(0, 955, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 955, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_13 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 955, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_cfid = fdopen(__pyx_t_13, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":957 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":958 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(958,0,__PYX_ERR(0, 958, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 958, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_8 = NULL; + } else { + __pyx_t_8 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":959 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * 32768, + */ + __Pyx_TraceLine(959,0,__PYX_ERR(0, 959, __pyx_L7_error)) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 959, __pyx_L7_error) + if (__pyx_t_6) { + __pyx_t_14 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_14 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":960 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * indexSpacing, # <<<<<<<<<<<<<< + * 32768, + * 131072, + */ + __Pyx_TraceLine(960,0,__PYX_ERR(0, 960, __pyx_L7_error)) + __pyx_t_15 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_15 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 960, __pyx_L7_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":957 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_8, __pyx_t_14, __pyx_t_15, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 957, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":965 + * zran.ZRAN_AUTO_BUILD) + * + * assert not zran.zran_build_index(&index, 0, 0) # <<<<<<<<<<<<<< + * + * for se in seekelems: + */ + __Pyx_TraceLine(965,0,__PYX_ERR(0, 965, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((!(zran_build_index((&__pyx_v_index), 0, 0) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 965, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":967 + * assert not zran.zran_build_index(&index, 0, 0) + * + * for se in seekelems: # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 + */ + __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L7_error)) + if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { + __pyx_t_5 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_5); __pyx_t_16 = 0; + __pyx_t_17 = NULL; + } else { + __pyx_t_16 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_17 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 967, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_17)) { + if (likely(PyList_CheckExact(__pyx_t_5))) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 967, __pyx_L7_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 967, __pyx_L7_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } + } else { + __pyx_t_1 = __pyx_t_17(__pyx_t_5); + if (unlikely(!__pyx_t_1)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 967, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_1); + } + __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":969 + * for se in seekelems: + * + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 # <<<<<<<<<<<<<< + * + * if se == nelems - 1: + */ + __Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = PyNumber_Multiply(__pyx_v_se, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_18 = __Pyx_PyInt_As_int64_t(__pyx_t_1); if (unlikely((__pyx_t_18 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 969, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_18, SEEK_SET, NULL) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 969, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":971 + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 + * + * if se == nelems - 1: # <<<<<<<<<<<<<< + * readelems = 1 + * else: + */ + __Pyx_TraceLine(971,0,__PYX_ERR(0, 971, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 971, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = PyObject_RichCompare(__pyx_v_se, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 971, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 971, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__pyx_t_6) { + + /* "indexed_gzip/tests/ctest_zran.pyx":972 + * + * if se == nelems - 1: + * readelems = 1 # <<<<<<<<<<<<<< + * else: + * readelems = np.random.randint(1, min(nelems - se, 5000)) + */ + __Pyx_TraceLine(972,0,__PYX_ERR(0, 972, __pyx_L7_error)) + __Pyx_INCREF(__pyx_int_1); + __Pyx_XDECREF_SET(__pyx_v_readelems, __pyx_int_1); + + /* "indexed_gzip/tests/ctest_zran.pyx":971 + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 + * + * if se == nelems - 1: # <<<<<<<<<<<<<< + * readelems = 1 + * else: + */ + goto __pyx_L15; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":974 + * readelems = 1 + * else: + * readelems = np.random.randint(1, min(nelems - se, 5000)) # <<<<<<<<<<<<<< + * + * nbytes = zran.zran_read(&index, buffer, readelems * 8) + */ + __Pyx_TraceLine(974,0,__PYX_ERR(0, 974, __pyx_L7_error)) + /*else*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_2 = 0x1388; + __pyx_t_3 = PyNumber_Subtract(__pyx_v_nelems, __pyx_v_se); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_19 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_19); + __pyx_t_20 = PyObject_RichCompare(__pyx_t_19, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (__pyx_t_6) { + __pyx_t_20 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_4 = __pyx_t_20; + __pyx_t_20 = 0; + } else { + __Pyx_INCREF(__pyx_t_3); + __pyx_t_4 = __pyx_t_3; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + __pyx_t_13 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_13 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_1, __pyx_t_4}; + __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_1, __pyx_t_4}; + __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_20 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_20); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_13, __pyx_int_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_13, __pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_20, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 974, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_readelems, __pyx_t_7); + __pyx_t_7 = 0; + } + __pyx_L15:; + + /* "indexed_gzip/tests/ctest_zran.pyx":976 + * readelems = np.random.randint(1, min(nelems - se, 5000)) + * + * nbytes = zran.zran_read(&index, buffer, readelems * 8) # <<<<<<<<<<<<<< + * + * assert nbytes == readelems * 8 + */ + __Pyx_TraceLine(976,0,__PYX_ERR(0, 976, __pyx_L7_error)) + __pyx_t_7 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 976, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_21 = __Pyx_PyInt_As_uint64_t(__pyx_t_7); if (unlikely((__pyx_t_21 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 976, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyInt_From_int64_t(zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_t_21)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 976, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_XDECREF_SET(__pyx_v_nbytes, __pyx_t_7); + __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":978 + * nbytes = zran.zran_read(&index, buffer, readelems * 8) + * + * assert nbytes == readelems * 8 # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == (se + readelems) * 8 + * + */ + __Pyx_TraceLine(978,0,__PYX_ERR(0, 978, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_7 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 978, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 978, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 978, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 978, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":979 + * + * assert nbytes == readelems * 8 + * assert zran.zran_tell(&index) == (se + readelems) * 8 # <<<<<<<<<<<<<< + * + * pybuf = (buffer)[:nbytes] + */ + __Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = PyNumber_Add(__pyx_v_se, __pyx_v_readelems); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 979, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_20 = PyNumber_Multiply(__pyx_t_7, __pyx_int_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 979, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_20, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 979, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 979, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 979, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":981 + * assert zran.zran_tell(&index) == (se + readelems) * 8 + * + * pybuf = (buffer)[:nbytes] # <<<<<<<<<<<<<< + * data = np.ndarray(nbytes // 8, np.uint64, pybuf) + * + */ + __Pyx_TraceLine(981,0,__PYX_ERR(0, 981, __pyx_L7_error)) + __Pyx_INCREF(__pyx_v_nbytes); + __pyx_t_7 = __pyx_v_nbytes; + __pyx_t_6 = (__pyx_t_7 == Py_None); + if (__pyx_t_6) { + __pyx_t_22 = PY_SSIZE_T_MAX; + } else { + __pyx_t_23 = __Pyx_PyIndex_AsSsize_t(__pyx_t_7); if (unlikely((__pyx_t_23 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 981, __pyx_L7_error) + __pyx_t_22 = __pyx_t_23; + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, __pyx_t_22 - 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 981, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_20 = __pyx_t_7; + __Pyx_INCREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF_SET(__pyx_v_pybuf, ((PyObject*)__pyx_t_20)); + __pyx_t_20 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":982 + * + * pybuf = (buffer)[:nbytes] + * data = np.ndarray(nbytes // 8, np.uint64, pybuf) # <<<<<<<<<<<<<< + * + * for i, val in enumerate(data, se): + */ + __Pyx_TraceLine(982,0,__PYX_ERR(0, 982, __pyx_L7_error)) + __pyx_t_20 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_nbytes, __pyx_int_8, 8, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 982, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 982, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 982, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_20); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_20); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1); + __Pyx_INCREF(__pyx_v_pybuf); + __Pyx_GIVEREF(__pyx_v_pybuf); + PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_v_pybuf); + __pyx_t_20 = 0; + __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_ndarray), __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":984 + * data = np.ndarray(nbytes // 8, np.uint64, pybuf) + * + * for i, val in enumerate(data, se): # <<<<<<<<<<<<<< + * assert val == i + * + */ + __Pyx_TraceLine(984,0,__PYX_ERR(0, 984, __pyx_L7_error)) + __Pyx_INCREF(__pyx_v_se); + __pyx_t_1 = __pyx_v_se; + if (likely(PyList_CheckExact(__pyx_v_data)) || PyTuple_CheckExact(__pyx_v_data)) { + __pyx_t_7 = __pyx_v_data; __Pyx_INCREF(__pyx_t_7); __pyx_t_22 = 0; + __pyx_t_24 = NULL; + } else { + __pyx_t_22 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_data); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 984, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_24 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 984, __pyx_L7_error) + } + for (;;) { + if (likely(!__pyx_t_24)) { + if (likely(PyList_CheckExact(__pyx_t_7))) { + if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_7)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_20 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_22); __Pyx_INCREF(__pyx_t_20); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 984, __pyx_L7_error) + #else + __pyx_t_20 = PySequence_ITEM(__pyx_t_7, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_20); + #endif + } else { + if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_7)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_20 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_22); __Pyx_INCREF(__pyx_t_20); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 984, __pyx_L7_error) + #else + __pyx_t_20 = PySequence_ITEM(__pyx_t_7, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_20); + #endif + } + } else { + __pyx_t_20 = __pyx_t_24(__pyx_t_7); + if (unlikely(!__pyx_t_20)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 984, __pyx_L7_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_20); + } + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_20); + __pyx_t_20 = 0; + __Pyx_INCREF(__pyx_t_1); + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); + __pyx_t_20 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_1); + __pyx_t_1 = __pyx_t_20; + __pyx_t_20 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":985 + * + * for i, val in enumerate(data, se): + * assert val == i # <<<<<<<<<<<<<< + * + * zran.zran_free(&index) + */ + __Pyx_TraceLine(985,0,__PYX_ERR(0, 985, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_20 = PyObject_RichCompare(__pyx_v_val, __pyx_v_i, Py_EQ); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 985, __pyx_L7_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 985, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (unlikely(!__pyx_t_6)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 985, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":984 + * data = np.ndarray(nbytes // 8, np.uint64, pybuf) + * + * for i, val in enumerate(data, se): # <<<<<<<<<<<<<< + * assert val == i + * + */ + __Pyx_TraceLine(984,0,__PYX_ERR(0, 984, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":967 + * assert not zran.zran_build_index(&index, 0, 0) + * + * for se in seekelems: # <<<<<<<<<<<<<< + * + * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 + */ + __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L7_error)) + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":987 + * assert val == i + * + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(987,0,__PYX_ERR(0, 987, __pyx_L7_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":954 + * cdef void *buffer = buf.buffer + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_build_then_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 954, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_20 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 954, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_20, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 954, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_25); + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_25); + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + if (__pyx_t_6 < 0) __PYX_ERR(0, 954, __pyx_L9_except_error) + __pyx_t_26 = ((!(__pyx_t_6 != 0)) != 0); + if (__pyx_t_26) { + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_7); + __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_7 = 0; + __PYX_ERR(0, 954, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 954, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L21; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L1_error; + __pyx_L21:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":943 + * + * + * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_19); + __Pyx_XDECREF(__pyx_t_20); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_build_then_read", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_filesize); + __Pyx_XDECREF(__pyx_v_indexSpacing); + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_seekelems); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_se); + __Pyx_XDECREF(__pyx_v_readelems); + __Pyx_XDECREF(__pyx_v_nbytes); + __Pyx_XDECREF(__pyx_v_pybuf); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":990 + * + * + * def test_readbuf_spacing_sizes(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes = {"test_readbuf_spacing_sizes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + PyObject *__pyx_v_nelems = 0; + PyObject *__pyx_v_niters = 0; + CYTHON_UNUSED PyObject *__pyx_v_seed = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_readbuf_spacing_sizes (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,&__pyx_n_s_seed,0}; + PyObject* values[5] = {0,0,0,0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + CYTHON_FALLTHROUGH; + case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + CYTHON_FALLTHROUGH; + case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + CYTHON_FALLTHROUGH; + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, 1); __PYX_ERR(0, 990, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 2: + if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, 2); __PYX_ERR(0, 990, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 3: + if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, 3); __PYX_ERR(0, 990, __pyx_L3_error) + } + CYTHON_FALLTHROUGH; + case 4: + if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, 4); __PYX_ERR(0, 990, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_readbuf_spacing_sizes") < 0)) __PYX_ERR(0, 990, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + values[2] = PyTuple_GET_ITEM(__pyx_args, 2); + values[3] = PyTuple_GET_ITEM(__pyx_args, 3); + values[4] = PyTuple_GET_ITEM(__pyx_args, 4); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + __pyx_v_nelems = values[2]; + __pyx_v_niters = values[3]; + __pyx_v_seed = values[4]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 990, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_readbuf_spacing_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_50test_readbuf_spacing_sizes(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_50test_readbuf_spacing_sizes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_spacings = NULL; + PyObject *__pyx_v_bufsizes = NULL; + PyObject *__pyx_v_seekelems = NULL; + PyObject *__pyx_v_sbi = NULL; + PyObject *__pyx_v_spacing = NULL; + PyObject *__pyx_v_bufsize = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + CYTHON_UNUSED PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_se = NULL; + PyObject *__pyx_v_expval = NULL; + PyObject *__pyx_v_val = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + int __pyx_t_5; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; + PyObject *(*__pyx_t_8)(PyObject *); + PyObject *__pyx_t_9 = NULL; + PyObject *(*__pyx_t_10)(PyObject *); + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + Py_ssize_t __pyx_t_15; + Py_ssize_t __pyx_t_16; + PyObject *__pyx_t_17 = NULL; + void *__pyx_t_18; + int __pyx_t_19; + PyObject *__pyx_t_20; + uint32_t __pyx_t_21; + uint32_t __pyx_t_22; + PyObject *(*__pyx_t_23)(PyObject *); + struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_24; + PyObject *__pyx_t_25 = NULL; + PyObject *__pyx_t_26 = NULL; + PyObject *__pyx_t_27 = NULL; + PyObject *__pyx_t_28 = NULL; + PyObject *__pyx_t_29 = NULL; + PyObject *__pyx_t_30 = NULL; + PyObject *__pyx_t_31 = NULL; + int __pyx_t_32; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__39) + __Pyx_RefNannySetupContext("test_readbuf_spacing_sizes", 0); + __Pyx_TraceCall("test_readbuf_spacing_sizes", __pyx_f[0], 990, 0, __PYX_ERR(0, 990, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":994 + * cdef zran.zran_index_t index + * + * spacings = [262144, 524288, 1048576, # <<<<<<<<<<<<<< + * 2097152, 4194304, 8388608] + * bufsizes = [16384, 65536, 131072, 262144, + */ + __Pyx_TraceLine(994,0,__PYX_ERR(0, 994, __pyx_L1_error)) + __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 994, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_262144); + __Pyx_GIVEREF(__pyx_int_262144); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_262144); + __Pyx_INCREF(__pyx_int_524288); + __Pyx_GIVEREF(__pyx_int_524288); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_524288); + __Pyx_INCREF(__pyx_int_1048576); + __Pyx_GIVEREF(__pyx_int_1048576); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_1048576); + __Pyx_INCREF(__pyx_int_2097152); + __Pyx_GIVEREF(__pyx_int_2097152); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_2097152); + __Pyx_INCREF(__pyx_int_4194304); + __Pyx_GIVEREF(__pyx_int_4194304); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_4194304); + __Pyx_INCREF(__pyx_int_8388608); + __Pyx_GIVEREF(__pyx_int_8388608); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_8388608); + __pyx_v_spacings = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":996 + * spacings = [262144, 524288, 1048576, + * 2097152, 4194304, 8388608] + * bufsizes = [16384, 65536, 131072, 262144, # <<<<<<<<<<<<<< + * 524288, 1048575, 1048576, 1048577, + * 2097152, 4194304, 8388608] + */ + __Pyx_TraceLine(996,0,__PYX_ERR(0, 996, __pyx_L1_error)) + __pyx_t_1 = PyList_New(11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_int_16384); + __Pyx_GIVEREF(__pyx_int_16384); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_16384); + __Pyx_INCREF(__pyx_int_65536); + __Pyx_GIVEREF(__pyx_int_65536); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_65536); + __Pyx_INCREF(__pyx_int_131072); + __Pyx_GIVEREF(__pyx_int_131072); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_131072); + __Pyx_INCREF(__pyx_int_262144); + __Pyx_GIVEREF(__pyx_int_262144); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_262144); + __Pyx_INCREF(__pyx_int_524288); + __Pyx_GIVEREF(__pyx_int_524288); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_524288); + __Pyx_INCREF(__pyx_int_1048575); + __Pyx_GIVEREF(__pyx_int_1048575); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_1048575); + __Pyx_INCREF(__pyx_int_1048576); + __Pyx_GIVEREF(__pyx_int_1048576); + PyList_SET_ITEM(__pyx_t_1, 6, __pyx_int_1048576); + __Pyx_INCREF(__pyx_int_1048577); + __Pyx_GIVEREF(__pyx_int_1048577); + PyList_SET_ITEM(__pyx_t_1, 7, __pyx_int_1048577); + __Pyx_INCREF(__pyx_int_2097152); + __Pyx_GIVEREF(__pyx_int_2097152); + PyList_SET_ITEM(__pyx_t_1, 8, __pyx_int_2097152); + __Pyx_INCREF(__pyx_int_4194304); + __Pyx_GIVEREF(__pyx_int_4194304); + PyList_SET_ITEM(__pyx_t_1, 9, __pyx_int_4194304); + __Pyx_INCREF(__pyx_int_8388608); + __Pyx_GIVEREF(__pyx_int_8388608); + PyList_SET_ITEM(__pyx_t_1, 10, __pyx_int_8388608); + __pyx_v_bufsizes = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1000 + * 2097152, 4194304, 8388608] + * + * seekelems = np.random.randint(0, nelems, niters // 2) # <<<<<<<<<<<<<< + * seekelems = np.concatenate((spacings, bufsizes, seekelems)) + * + */ + __Pyx_TraceLine(1000,0,__PYX_ERR(0, 1000, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_niters, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_int_0, __pyx_v_nelems, __pyx_t_3}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_int_0, __pyx_v_nelems, __pyx_t_3}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1000, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + if (__pyx_t_4) { + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; + } + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_int_0); + __Pyx_INCREF(__pyx_v_nelems); + __Pyx_GIVEREF(__pyx_v_nelems); + PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_nelems); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_seekelems = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1001 + * + * seekelems = np.random.randint(0, nelems, niters // 2) + * seekelems = np.concatenate((spacings, bufsizes, seekelems)) # <<<<<<<<<<<<<< + * + * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): + */ + __Pyx_TraceLine(1001,0,__PYX_ERR(0, 1001, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1001, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1001, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1001, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_spacings); + __Pyx_GIVEREF(__pyx_v_spacings); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_spacings); + __Pyx_INCREF(__pyx_v_bufsizes); + __Pyx_GIVEREF(__pyx_v_bufsizes); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_bufsizes); + __Pyx_INCREF(__pyx_v_seekelems); + __Pyx_GIVEREF(__pyx_v_seekelems); + PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_seekelems); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1001, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF_SET(__pyx_v_seekelems, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1003 + * seekelems = np.concatenate((spacings, bufsizes, seekelems)) + * + * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_t_1 = __pyx_int_0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_it); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_product); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_spacings, __pyx_v_bufsizes}; + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_spacings, __pyx_v_bufsizes}; + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GOTREF(__pyx_t_6); + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_2) { + __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL; + } + __Pyx_INCREF(__pyx_v_spacings); + __Pyx_GIVEREF(__pyx_v_spacings); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_spacings); + __Pyx_INCREF(__pyx_v_bufsizes); + __Pyx_GIVEREF(__pyx_v_bufsizes); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_bufsizes); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { + __pyx_t_3 = __pyx_t_6; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0; + __pyx_t_8 = NULL; + } else { + __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1003, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + for (;;) { + if (likely(!__pyx_t_8)) { + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1003, __pyx_L1_error) + #else + __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + } else { + if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1003, __pyx_L1_error) + #else + __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + #endif + } + } else { + __pyx_t_6 = __pyx_t_8(__pyx_t_3); + if (unlikely(!__pyx_t_6)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1003, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_6); + } + if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) { + PyObject* sequence = __pyx_t_6; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1003, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_4 = PyList_GET_ITEM(sequence, 0); + __pyx_t_2 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(__pyx_t_2); + #else + __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext; + index = 0; __pyx_t_4 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + index = 1; __pyx_t_2 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 1003, __pyx_L1_error) + __pyx_t_10 = NULL; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L6_unpacking_done; + __pyx_L5_unpacking_failed:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_10 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1003, __pyx_L1_error) + __pyx_L6_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_spacing, __pyx_t_4); + __pyx_t_4 = 0; + __Pyx_XDECREF_SET(__pyx_v_bufsize, __pyx_t_2); + __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_t_1); + __Pyx_XDECREF_SET(__pyx_v_sbi, __pyx_t_1); + __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); + __pyx_t_1 = __pyx_t_6; + __pyx_t_6 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1005 + * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * + * print('{} / {}: spacing={}, bufsize={} ... '.format( + */ + __Pyx_TraceLine(1005,0,__PYX_ERR(0, 1005, __pyx_L1_error)) + /*with:*/ { + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_rb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1005, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1005, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1005, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_9 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_6; + __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1007 + * with open(testfile, 'rb') as pyfid: + * + * print('{} / {}: spacing={}, bufsize={} ... '.format( # <<<<<<<<<<<<<< + * sbi, + * len(spacings) * len(bufsizes), + */ + __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L13_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_spacing_bufsize, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1007, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + + /* "indexed_gzip/tests/ctest_zran.pyx":1009 + * print('{} / {}: spacing={}, bufsize={} ... '.format( + * sbi, + * len(spacings) * len(bufsizes), # <<<<<<<<<<<<<< + * spacing, bufsize), end='') + * + */ + __Pyx_TraceLine(1009,0,__PYX_ERR(0, 1009, __pyx_L13_error)) + __pyx_t_15 = PyList_GET_SIZE(__pyx_v_spacings); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1009, __pyx_L13_error) + __pyx_t_16 = PyList_GET_SIZE(__pyx_v_bufsizes); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1009, __pyx_L13_error) + __pyx_t_6 = PyInt_FromSsize_t((__pyx_t_15 * __pyx_t_16)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1009, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_6); + + /* "indexed_gzip/tests/ctest_zran.pyx":1010 + * sbi, + * len(spacings) * len(bufsizes), + * spacing, bufsize), end='') # <<<<<<<<<<<<<< + * + * cfid = fdopen(pyfid.fileno(), 'rb') + */ + __Pyx_TraceLine(1010,0,__PYX_ERR(0, 1010, __pyx_L13_error)) + __pyx_t_9 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_9)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_9); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_v_sbi, __pyx_t_6, __pyx_v_spacing, __pyx_v_bufsize}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1007, __pyx_L13_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_v_sbi, __pyx_t_6, __pyx_v_spacing, __pyx_v_bufsize}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1007, __pyx_L13_error) + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_17 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1007, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_17); + if (__pyx_t_9) { + __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_9); __pyx_t_9 = NULL; + } + __Pyx_INCREF(__pyx_v_sbi); + __Pyx_GIVEREF(__pyx_v_sbi); + PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_5, __pyx_v_sbi); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_5, __pyx_t_6); + __Pyx_INCREF(__pyx_v_spacing); + __Pyx_GIVEREF(__pyx_v_spacing); + PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_5, __pyx_v_spacing); + __Pyx_INCREF(__pyx_v_bufsize); + __Pyx_GIVEREF(__pyx_v_bufsize); + PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_5, __pyx_v_bufsize); + __pyx_t_6 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_17, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1007, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1007 + * with open(testfile, 'rb') as pyfid: + * + * print('{} / {}: spacing={}, bufsize={} ... '.format( # <<<<<<<<<<<<<< + * sbi, + * len(spacings) * len(bufsizes), + */ + __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L13_error)) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1007, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1010 + * sbi, + * len(spacings) * len(bufsizes), + * spacing, bufsize), end='') # <<<<<<<<<<<<<< + * + * cfid = fdopen(pyfid.fileno(), 'rb') + */ + __Pyx_TraceLine(1010,0,__PYX_ERR(0, 1010, __pyx_L13_error)) + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1010, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_4); + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_end, __pyx_kp_s__35) < 0) __PYX_ERR(0, 1010, __pyx_L13_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1007 + * with open(testfile, 'rb') as pyfid: + * + * print('{} / {}: spacing={}, bufsize={} ... '.format( # <<<<<<<<<<<<<< + * sbi, + * len(spacings) * len(bufsizes), + */ + __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L13_error)) + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1007, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1012 + * spacing, bufsize), end='') + * + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(1012,0,__PYX_ERR(0, 1012, __pyx_L13_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1012, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_17 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1012, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_17); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1012, __pyx_L13_error) + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + __pyx_v_cfid = fdopen(__pyx_t_5, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1014 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L13_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1015 + * + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * spacing, + */ + __Pyx_TraceLine(1015,0,__PYX_ERR(0, 1015, __pyx_L13_error)) + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1015, __pyx_L13_error) + if (__pyx_t_19) { + __pyx_t_18 = NULL; + } else { + __pyx_t_18 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1016 + * assert not zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * spacing, + * 32768, + */ + __Pyx_TraceLine(1016,0,__PYX_ERR(0, 1016, __pyx_L13_error)) + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1016, __pyx_L13_error) + if (__pyx_t_19) { + __pyx_t_20 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_20 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1017 + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + * spacing, # <<<<<<<<<<<<<< + * 32768, + * bufsize, + */ + __Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L13_error)) + __pyx_t_21 = __Pyx_PyInt_As_uint32_t(__pyx_v_spacing); if (unlikely((__pyx_t_21 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1017, __pyx_L13_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1019 + * spacing, + * 32768, + * bufsize, # <<<<<<<<<<<<<< + * zran.ZRAN_AUTO_BUILD) + * + */ + __Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L13_error)) + __pyx_t_22 = __Pyx_PyInt_As_uint32_t(__pyx_v_bufsize); if (unlikely((__pyx_t_22 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1019, __pyx_L13_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1014 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L13_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_18, __pyx_t_20, __pyx_t_21, 0x8000, __pyx_t_22, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1014, __pyx_L13_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1022 + * zran.ZRAN_AUTO_BUILD) + * + * for i, se in enumerate(seekelems): # <<<<<<<<<<<<<< + * + * # print('{} / {}: {}'.format(i, len(seekelems), se)) + */ + __Pyx_TraceLine(1022,0,__PYX_ERR(0, 1022, __pyx_L13_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_t_17 = __pyx_int_0; + if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { + __pyx_t_4 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_4); __pyx_t_16 = 0; + __pyx_t_23 = NULL; + } else { + __pyx_t_16 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1022, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_23 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1022, __pyx_L13_error) + } + for (;;) { + if (likely(!__pyx_t_23)) { + if (likely(PyList_CheckExact(__pyx_t_4))) { + if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 1022, __pyx_L13_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1022, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } else { + if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 1022, __pyx_L13_error) + #else + __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1022, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + } + } else { + __pyx_t_2 = __pyx_t_23(__pyx_t_4); + if (unlikely(!__pyx_t_2)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1022, __pyx_L13_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_2); + } + __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_2); + __pyx_t_2 = 0; + __Pyx_INCREF(__pyx_t_17); + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_17); + __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_17, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1022, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_17); + __pyx_t_17 = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1026 + * # print('{} / {}: {}'.format(i, len(seekelems), se)) + * + * if se >= nelems: expval = None # <<<<<<<<<<<<<< + * else: expval = se + * + */ + __Pyx_TraceLine(1026,0,__PYX_ERR(0, 1026, __pyx_L13_error)) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_se, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1026, __pyx_L13_error) + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1026, __pyx_L13_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__pyx_t_19) { + __Pyx_INCREF(Py_None); + __Pyx_XDECREF_SET(__pyx_v_expval, Py_None); + goto __pyx_L23; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1027 + * + * if se >= nelems: expval = None + * else: expval = se # <<<<<<<<<<<<<< + * + * val = read_element(&index, se, nelems, seek=True) + */ + __Pyx_TraceLine(1027,0,__PYX_ERR(0, 1027, __pyx_L13_error)) + /*else*/ { + __Pyx_INCREF(__pyx_v_se); + __Pyx_XDECREF_SET(__pyx_v_expval, __pyx_v_se); + } + __pyx_L23:; + + /* "indexed_gzip/tests/ctest_zran.pyx":1029 + * else: expval = se + * + * val = read_element(&index, se, nelems, seek=True) # <<<<<<<<<<<<<< + * + * try: + */ + __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L13_error)) + __pyx_t_24.__pyx_n = 1; + __pyx_t_24.seek = Py_True; + __pyx_t_2 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_se, __pyx_v_nelems, &__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1031 + * val = read_element(&index, se, nelems, seek=True) + * + * try: # <<<<<<<<<<<<<< + * assert val == expval + * except: + */ + __Pyx_TraceLine(1031,0,__PYX_ERR(0, 1031, __pyx_L13_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_25, &__pyx_t_26, &__pyx_t_27); + __Pyx_XGOTREF(__pyx_t_25); + __Pyx_XGOTREF(__pyx_t_26); + __Pyx_XGOTREF(__pyx_t_27); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":1032 + * + * try: + * assert val == expval # <<<<<<<<<<<<<< + * except: + * print('{} != {}'.format(val, expval)) + */ + __Pyx_TraceLine(1032,0,__PYX_ERR(0, 1032, __pyx_L24_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = PyObject_RichCompare(__pyx_v_val, __pyx_v_expval, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1032, __pyx_L24_error) + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1032, __pyx_L24_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_19)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1032, __pyx_L24_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1031 + * val = read_element(&index, se, nelems, seek=True) + * + * try: # <<<<<<<<<<<<<< + * assert val == expval + * except: + */ + } + __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; + __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; + __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; + goto __pyx_L31_try_end; + __pyx_L24_error:; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1033 + * try: + * assert val == expval + * except: # <<<<<<<<<<<<<< + * print('{} != {}'.format(val, expval)) + * raise + */ + __Pyx_TraceLine(1033,0,__PYX_ERR(0, 1033, __pyx_L26_except_error)) + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_readbuf_spacing_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_9) < 0) __PYX_ERR(0, 1033, __pyx_L26_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_9); + + /* "indexed_gzip/tests/ctest_zran.pyx":1034 + * assert val == expval + * except: + * print('{} != {}'.format(val, expval)) # <<<<<<<<<<<<<< + * raise + * + */ + __Pyx_TraceLine(1034,0,__PYX_ERR(0, 1034, __pyx_L26_except_error)) + __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__30, __pyx_n_s_format); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 1034, __pyx_L26_except_error) + __Pyx_GOTREF(__pyx_t_29); + __pyx_t_30 = NULL; + __pyx_t_5 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_29))) { + __pyx_t_30 = PyMethod_GET_SELF(__pyx_t_29); + if (likely(__pyx_t_30)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_29); + __Pyx_INCREF(__pyx_t_30); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_29, function); + __pyx_t_5 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_29)) { + PyObject *__pyx_temp[3] = {__pyx_t_30, __pyx_v_val, __pyx_v_expval}; + __pyx_t_28 = __Pyx_PyFunction_FastCall(__pyx_t_29, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 1034, __pyx_L26_except_error) + __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; + __Pyx_GOTREF(__pyx_t_28); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_29)) { + PyObject *__pyx_temp[3] = {__pyx_t_30, __pyx_v_val, __pyx_v_expval}; + __pyx_t_28 = __Pyx_PyCFunction_FastCall(__pyx_t_29, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 1034, __pyx_L26_except_error) + __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; + __Pyx_GOTREF(__pyx_t_28); + } else + #endif + { + __pyx_t_31 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1034, __pyx_L26_except_error) + __Pyx_GOTREF(__pyx_t_31); + if (__pyx_t_30) { + __Pyx_GIVEREF(__pyx_t_30); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_30); __pyx_t_30 = NULL; + } + __Pyx_INCREF(__pyx_v_val); + __Pyx_GIVEREF(__pyx_v_val); + PyTuple_SET_ITEM(__pyx_t_31, 0+__pyx_t_5, __pyx_v_val); + __Pyx_INCREF(__pyx_v_expval); + __Pyx_GIVEREF(__pyx_v_expval); + PyTuple_SET_ITEM(__pyx_t_31, 1+__pyx_t_5, __pyx_v_expval); + __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_29, __pyx_t_31, NULL); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 1034, __pyx_L26_except_error) + __Pyx_GOTREF(__pyx_t_28); + __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; + } + __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; + __pyx_t_29 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_28); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 1034, __pyx_L26_except_error) + __Pyx_GOTREF(__pyx_t_29); + __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; + __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1035 + * except: + * print('{} != {}'.format(val, expval)) + * raise # <<<<<<<<<<<<<< + * + * print() + */ + __Pyx_TraceLine(1035,0,__PYX_ERR(0, 1035, __pyx_L26_except_error)) + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_6, __pyx_t_9); + __pyx_t_2 = 0; __pyx_t_6 = 0; __pyx_t_9 = 0; + __PYX_ERR(0, 1035, __pyx_L26_except_error) + } + __pyx_L26_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":1031 + * val = read_element(&index, se, nelems, seek=True) + * + * try: # <<<<<<<<<<<<<< + * assert val == expval + * except: + */ + __Pyx_XGIVEREF(__pyx_t_25); + __Pyx_XGIVEREF(__pyx_t_26); + __Pyx_XGIVEREF(__pyx_t_27); + __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_26, __pyx_t_27); + goto __pyx_L13_error; + __pyx_L31_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1022 + * zran.ZRAN_AUTO_BUILD) + * + * for i, se in enumerate(seekelems): # <<<<<<<<<<<<<< + * + * # print('{} / {}: {}'.format(i, len(seekelems), se)) + */ + __Pyx_TraceLine(1022,0,__PYX_ERR(0, 1022, __pyx_L13_error)) + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1037 + * raise + * + * print() # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1037,0,__PYX_ERR(0, 1037, __pyx_L13_error)) + __pyx_t_17 = __Pyx_PyObject_CallNoArg(__pyx_builtin_print); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1037, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1038 + * + * print() + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1038,0,__PYX_ERR(0, 1038, __pyx_L13_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1005 + * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * + * print('{} / {}: spacing={}, bufsize={} ... '.format( + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L20_try_end; + __pyx_L13_error:; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; + __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; + __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; + __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_readbuf_spacing_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_17, &__pyx_t_4, &__pyx_t_9) < 0) __PYX_ERR(0, 1005, __pyx_L15_except_error) + __Pyx_GOTREF(__pyx_t_17); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_6 = PyTuple_Pack(3, __pyx_t_17, __pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L15_except_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_6, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1005, __pyx_L15_except_error) + __Pyx_GOTREF(__pyx_t_27); + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_27); + __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; + if (__pyx_t_19 < 0) __PYX_ERR(0, 1005, __pyx_L15_except_error) + __pyx_t_32 = ((!(__pyx_t_19 != 0)) != 0); + if (__pyx_t_32) { + __Pyx_GIVEREF(__pyx_t_17); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ErrRestoreWithState(__pyx_t_17, __pyx_t_4, __pyx_t_9); + __pyx_t_17 = 0; __pyx_t_4 = 0; __pyx_t_9 = 0; + __PYX_ERR(0, 1005, __pyx_L15_except_error) + } + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L14_exception_handled; + } + __pyx_L15_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + goto __pyx_L1_error; + __pyx_L14_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); + __pyx_L20_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_11) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1005, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L12; + } + __pyx_L12:; + } + goto __pyx_L37; + __pyx_L7_error:; + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L1_error; + __pyx_L37:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1003 + * seekelems = np.concatenate((spacings, bufsizes, seekelems)) + * + * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":990 + * + * + * def test_readbuf_spacing_sizes(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_17); + __Pyx_XDECREF(__pyx_t_28); + __Pyx_XDECREF(__pyx_t_29); + __Pyx_XDECREF(__pyx_t_30); + __Pyx_XDECREF(__pyx_t_31); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_readbuf_spacing_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_spacings); + __Pyx_XDECREF(__pyx_v_bufsizes); + __Pyx_XDECREF(__pyx_v_seekelems); + __Pyx_XDECREF(__pyx_v_sbi); + __Pyx_XDECREF(__pyx_v_spacing); + __Pyx_XDECREF(__pyx_v_bufsize); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_se); + __Pyx_XDECREF(__pyx_v_expval); + __Pyx_XDECREF(__pyx_v_val); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1041 + * + * + * cdef _compare_indexes(zran.zran_index_t *index1, # <<<<<<<<<<<<<< + * zran.zran_index_t *index2): + * """Check that two indexes are equivalent. """ + */ + +static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran__compare_indexes(zran_index_t *__pyx_v_index1, zran_index_t *__pyx_v_index2) { + zran_point_t *__pyx_v_p1; + zran_point_t *__pyx_v_p2; + uint32_t __pyx_v_ws; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_v_msg = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + uint32_t __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + Py_ssize_t __pyx_t_4; + PyObject *(*__pyx_t_5)(PyObject *); + Py_ssize_t __pyx_t_6; + int __pyx_t_7; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_compare_indexes", 0); + __Pyx_TraceCall("_compare_indexes", __pyx_f[0], 1041, 0, __PYX_ERR(0, 1041, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1047 + * cdef zran.zran_point_t *p2 + * + * assert index2.compressed_size == index1.compressed_size # <<<<<<<<<<<<<< + * assert index2.uncompressed_size == index1.uncompressed_size + * assert index2.spacing == index1.spacing + */ + __Pyx_TraceLine(1047,0,__PYX_ERR(0, 1047, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_index2->compressed_size == __pyx_v_index1->compressed_size) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1047, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1048 + * + * assert index2.compressed_size == index1.compressed_size + * assert index2.uncompressed_size == index1.uncompressed_size # <<<<<<<<<<<<<< + * assert index2.spacing == index1.spacing + * assert index2.window_size == index1.window_size + */ + __Pyx_TraceLine(1048,0,__PYX_ERR(0, 1048, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_index2->uncompressed_size == __pyx_v_index1->uncompressed_size) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1048, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1049 + * assert index2.compressed_size == index1.compressed_size + * assert index2.uncompressed_size == index1.uncompressed_size + * assert index2.spacing == index1.spacing # <<<<<<<<<<<<<< + * assert index2.window_size == index1.window_size + * assert index2.npoints == index1.npoints + */ + __Pyx_TraceLine(1049,0,__PYX_ERR(0, 1049, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_index2->spacing == __pyx_v_index1->spacing) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1049, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1050 + * assert index2.uncompressed_size == index1.uncompressed_size + * assert index2.spacing == index1.spacing + * assert index2.window_size == index1.window_size # <<<<<<<<<<<<<< + * assert index2.npoints == index1.npoints + * + */ + __Pyx_TraceLine(1050,0,__PYX_ERR(0, 1050, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_index2->window_size == __pyx_v_index1->window_size) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1050, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1051 + * assert index2.spacing == index1.spacing + * assert index2.window_size == index1.window_size + * assert index2.npoints == index1.npoints # <<<<<<<<<<<<<< + * + * ws = index1.window_size + */ + __Pyx_TraceLine(1051,0,__PYX_ERR(0, 1051, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_index2->npoints == __pyx_v_index1->npoints) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1051, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1053 + * assert index2.npoints == index1.npoints + * + * ws = index1.window_size # <<<<<<<<<<<<<< + * + * for i in range(index1.npoints): + */ + __Pyx_TraceLine(1053,0,__PYX_ERR(0, 1053, __pyx_L1_error)) + __pyx_t_1 = __pyx_v_index1->window_size; + __pyx_v_ws = __pyx_t_1; + + /* "indexed_gzip/tests/ctest_zran.pyx":1055 + * ws = index1.window_size + * + * for i in range(index1.npoints): # <<<<<<<<<<<<<< + * + * p1 = &index1.list[i] + */ + __Pyx_TraceLine(1055,0,__PYX_ERR(0, 1055, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_index1->npoints); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1055, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1055, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { + __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; + __pyx_t_5 = NULL; + } else { + __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1055, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1055, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + for (;;) { + if (likely(!__pyx_t_5)) { + if (likely(PyList_CheckExact(__pyx_t_2))) { + if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1055, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1055, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } else { + if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1055, __pyx_L1_error) + #else + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1055, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + #endif + } + } else { + __pyx_t_3 = __pyx_t_5(__pyx_t_2); + if (unlikely(!__pyx_t_3)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1055, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_3); + } + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1057 + * for i in range(index1.npoints): + * + * p1 = &index1.list[i] # <<<<<<<<<<<<<< + * p2 = &index2.list[i] + * msg = 'Error at point %d' % i + */ + __Pyx_TraceLine(1057,0,__PYX_ERR(0, 1057, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1057, __pyx_L1_error) + __pyx_v_p1 = (&(__pyx_v_index1->list[__pyx_t_6])); + + /* "indexed_gzip/tests/ctest_zran.pyx":1058 + * + * p1 = &index1.list[i] + * p2 = &index2.list[i] # <<<<<<<<<<<<<< + * msg = 'Error at point %d' % i + * + */ + __Pyx_TraceLine(1058,0,__PYX_ERR(0, 1058, __pyx_L1_error)) + __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1058, __pyx_L1_error) + __pyx_v_p2 = (&(__pyx_v_index2->list[__pyx_t_6])); + + /* "indexed_gzip/tests/ctest_zran.pyx":1059 + * p1 = &index1.list[i] + * p2 = &index2.list[i] + * msg = 'Error at point %d' % i # <<<<<<<<<<<<<< + * + * assert p2.cmp_offset == p1.cmp_offset, msg + */ + __Pyx_TraceLine(1059,0,__PYX_ERR(0, 1059, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyString_FormatSafe(__pyx_kp_s_Error_at_point_d, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1059, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_XDECREF_SET(__pyx_v_msg, __pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1061 + * msg = 'Error at point %d' % i + * + * assert p2.cmp_offset == p1.cmp_offset, msg # <<<<<<<<<<<<<< + * assert p2.uncmp_offset == p1.uncmp_offset, msg + * assert p2.bits == p1.bits, msg + */ + __Pyx_TraceLine(1061,0,__PYX_ERR(0, 1061, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_p2->cmp_offset == __pyx_v_p1->cmp_offset) != 0))) { + __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1061, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 1061, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1062 + * + * assert p2.cmp_offset == p1.cmp_offset, msg + * assert p2.uncmp_offset == p1.uncmp_offset, msg # <<<<<<<<<<<<<< + * assert p2.bits == p1.bits, msg + * if (not p1.data): + */ + __Pyx_TraceLine(1062,0,__PYX_ERR(0, 1062, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_p2->uncmp_offset == __pyx_v_p1->uncmp_offset) != 0))) { + __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1062, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 1062, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1063 + * assert p2.cmp_offset == p1.cmp_offset, msg + * assert p2.uncmp_offset == p1.uncmp_offset, msg + * assert p2.bits == p1.bits, msg # <<<<<<<<<<<<<< + * if (not p1.data): + * assert p1.data == p2.data, msg + */ + __Pyx_TraceLine(1063,0,__PYX_ERR(0, 1063, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_p2->bits == __pyx_v_p1->bits) != 0))) { + __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1063, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 1063, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1064 + * assert p2.uncmp_offset == p1.uncmp_offset, msg + * assert p2.bits == p1.bits, msg + * if (not p1.data): # <<<<<<<<<<<<<< + * assert p1.data == p2.data, msg + * else: + */ + __Pyx_TraceLine(1064,0,__PYX_ERR(0, 1064, __pyx_L1_error)) + __pyx_t_7 = ((!(__pyx_v_p1->data != 0)) != 0); + if (__pyx_t_7) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1065 + * assert p2.bits == p1.bits, msg + * if (not p1.data): + * assert p1.data == p2.data, msg # <<<<<<<<<<<<<< + * else: + * assert not memcmp(p2.data, p1.data, ws), msg + */ + __Pyx_TraceLine(1065,0,__PYX_ERR(0, 1065, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_p1->data == __pyx_v_p2->data) != 0))) { + __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1065, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 1065, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1064 + * assert p2.uncmp_offset == p1.uncmp_offset, msg + * assert p2.bits == p1.bits, msg + * if (not p1.data): # <<<<<<<<<<<<<< + * assert p1.data == p2.data, msg + * else: + */ + goto __pyx_L5; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1067 + * assert p1.data == p2.data, msg + * else: + * assert not memcmp(p2.data, p1.data, ws), msg # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1067,0,__PYX_ERR(0, 1067, __pyx_L1_error)) + /*else*/ { + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((!(memcmp(__pyx_v_p2->data, __pyx_v_p1->data, __pyx_v_ws) != 0)) != 0))) { + __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1067, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 1067, __pyx_L1_error) + } + } + #endif + } + __pyx_L5:; + + /* "indexed_gzip/tests/ctest_zran.pyx":1055 + * ws = index1.window_size + * + * for i in range(index1.npoints): # <<<<<<<<<<<<<< + * + * p1 = &index1.list[i] + */ + __Pyx_TraceLine(1055,0,__PYX_ERR(0, 1055, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1041 + * + * + * cdef _compare_indexes(zran.zran_index_t *index1, # <<<<<<<<<<<<<< + * zran.zran_index_t *index2): + * """Check that two indexes are equivalent. """ + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran._compare_indexes", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XDECREF(__pyx_v_msg); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1070 + * + * + * def test_export_then_import(testfile, no_fds): # <<<<<<<<<<<<<< + * """Export-import round trip . Test exporting an index, then importing it + * back in. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import[] = "Export-import round trip . Test exporting an index, then importing it\n back in.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import = {"test_export_then_import", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_testfile = 0; + PyObject *__pyx_v_no_fds = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_export_then_import (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,0}; + PyObject* values[2] = {0,0}; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; + else { + __Pyx_RaiseArgtupleInvalid("test_export_then_import", 1, 2, 2, 1); __PYX_ERR(0, 1070, __pyx_L3_error) + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_export_then_import") < 0)) __PYX_ERR(0, 1070, __pyx_L3_error) + } + } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { + goto __pyx_L5_argtuple_error; + } else { + values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + } + __pyx_v_testfile = values[0]; + __pyx_v_no_fds = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("test_export_then_import", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1070, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds) { + zran_index_t __pyx_v_index1; + zran_index_t __pyx_v_index2; + long __pyx_v_indexSpacing; + long __pyx_v_windowSize; + long __pyx_v_readbufSize; + long __pyx_v_flag; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_pyexportfid = NULL; + int __pyx_v_ret; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_t_9; + void *__pyx_t_10; + int __pyx_t_11; + PyObject *__pyx_t_12; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; + PyObject *__pyx_t_17 = NULL; + int __pyx_t_18; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__40) + __Pyx_RefNannySetupContext("test_export_then_import", 0); + __Pyx_TraceCall("test_export_then_import", __pyx_f[0], 1070, 0, __PYX_ERR(0, 1070, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1078 + * cdef zran.zran_index_t index2 + * + * indexSpacing = 1048576 # <<<<<<<<<<<<<< + * windowSize = 32768 + * readbufSize = 131072 + */ + __Pyx_TraceLine(1078,0,__PYX_ERR(0, 1078, __pyx_L1_error)) + __pyx_v_indexSpacing = 0x100000; + + /* "indexed_gzip/tests/ctest_zran.pyx":1079 + * + * indexSpacing = 1048576 + * windowSize = 32768 # <<<<<<<<<<<<<< + * readbufSize = 131072 + * flag = 0 + */ + __Pyx_TraceLine(1079,0,__PYX_ERR(0, 1079, __pyx_L1_error)) + __pyx_v_windowSize = 0x8000; + + /* "indexed_gzip/tests/ctest_zran.pyx":1080 + * indexSpacing = 1048576 + * windowSize = 32768 + * readbufSize = 131072 # <<<<<<<<<<<<<< + * flag = 0 + * + */ + __Pyx_TraceLine(1080,0,__PYX_ERR(0, 1080, __pyx_L1_error)) + __pyx_v_readbufSize = 0x20000; + + /* "indexed_gzip/tests/ctest_zran.pyx":1081 + * windowSize = 32768 + * readbufSize = 131072 + * flag = 0 # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(1081,0,__PYX_ERR(0, 1081, __pyx_L1_error)) + __pyx_v_flag = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1083 + * flag = 0 + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + __Pyx_TraceLine(1083,0,__PYX_ERR(0, 1083, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1083, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1083, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1083, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1083, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1083, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1084 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * + * assert not zran.zran_init(&index1, + */ + __Pyx_TraceLine(1084,0,__PYX_ERR(0, 1084, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1084, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1084, __pyx_L7_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1086 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index1, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(1086,0,__PYX_ERR(0, 1086, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1087 + * + * assert not zran.zran_init(&index1, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(1087,0,__PYX_ERR(0, 1087, __pyx_L7_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1087, __pyx_L7_error) + if (__pyx_t_11) { + __pyx_t_10 = NULL; + } else { + __pyx_t_10 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1088 + * assert not zran.zran_init(&index1, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * windowSize, + */ + __Pyx_TraceLine(1088,0,__PYX_ERR(0, 1088, __pyx_L7_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1088, __pyx_L7_error) + if (__pyx_t_11) { + __pyx_t_12 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_12 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1086 + * cfid = fdopen(pyfid.fileno(), 'rb') + * + * assert not zran.zran_init(&index1, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(1086,0,__PYX_ERR(0, 1086, __pyx_L7_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index1), __pyx_t_10, __pyx_t_12, __pyx_v_indexSpacing, __pyx_v_windowSize, __pyx_v_readbufSize, __pyx_v_flag) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1086, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1094 + * flag) + * + * assert not zran.zran_build_index(&index1, 0, 0) # <<<<<<<<<<<<<< + * + * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: + */ + __Pyx_TraceLine(1094,0,__PYX_ERR(0, 1094, __pyx_L7_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((!(zran_build_index((&__pyx_v_index1), 0, 0) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1094, __pyx_L7_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1096 + * assert not zran.zran_build_index(&index1, 0, 0) + * + * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyexportfid.fileno(), 'ab') + * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) + */ + __Pyx_TraceLine(1096,0,__PYX_ERR(0, 1096, __pyx_L7_error)) + /*with:*/ { + __pyx_t_4 = PyNumber_Add(__pyx_v_testfile, __pyx_kp_s_idx_tmp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1096, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_wb); + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1096, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1096, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1096, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_16); + /*try:*/ { + __pyx_v_pyexportfid = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1097 + * + * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: + * cfid = fdopen(pyexportfid.fileno(), 'ab') # <<<<<<<<<<<<<< + * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) + * assert not ret, str(ret) + */ + __Pyx_TraceLine(1097,0,__PYX_ERR(0, 1097, __pyx_L17_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyexportfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1097, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1097, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"ab")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1098 + * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: + * cfid = fdopen(pyexportfid.fileno(), 'ab') + * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) # <<<<<<<<<<<<<< + * assert not ret, str(ret) + * + */ + __Pyx_TraceLine(1098,0,__PYX_ERR(0, 1098, __pyx_L17_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1098, __pyx_L17_error) + if (__pyx_t_11) { + __pyx_t_10 = NULL; + } else { + __pyx_t_10 = __pyx_v_cfid; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1098, __pyx_L17_error) + if (__pyx_t_11) { + __pyx_t_12 = ((PyObject *)__pyx_v_pyexportfid); + } else { + __pyx_t_12 = NULL; + } + __pyx_v_ret = zran_export_index((&__pyx_v_index1), __pyx_t_10, __pyx_t_12); + + /* "indexed_gzip/tests/ctest_zran.pyx":1099 + * cfid = fdopen(pyexportfid.fileno(), 'ab') + * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) + * assert not ret, str(ret) # <<<<<<<<<<<<<< + * + * with open(testfile, 'rb') as pyfid: + */ + __Pyx_TraceLine(1099,0,__PYX_ERR(0, 1099, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((!(__pyx_v_ret != 0)) != 0))) { + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1099, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1099, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_Pack(1, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1099, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 1099, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1096 + * assert not zran.zran_build_index(&index1, 0, 0) + * + * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyexportfid.fileno(), 'ab') + * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) + */ + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 1096, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1096, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1096, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_11 < 0) __PYX_ERR(0, 1096, __pyx_L19_except_error) + __pyx_t_18 = ((!(__pyx_t_11 != 0)) != 0); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); + __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1096, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_13) { + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1096, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1083 + * flag = 0 + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 1083, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1083, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1083, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_18 < 0) __PYX_ERR(0, 1083, __pyx_L9_except_error) + __pyx_t_11 = ((!(__pyx_t_18 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1083, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_3) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1083, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L30; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L1_error; + __pyx_L30:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1101 + * assert not ret, str(ret) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index2, + */ + __Pyx_TraceLine(1101,0,__PYX_ERR(0, 1101, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_testfile); + __Pyx_GIVEREF(__pyx_v_testfile); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1101, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_6); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1102 + * + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * assert not zran.zran_init(&index2, + * NULL if no_fds else cfid, + */ + __Pyx_TraceLine(1102,0,__PYX_ERR(0, 1102, __pyx_L35_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1102, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1102, __pyx_L35_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1103 + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index2, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L35_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1104 + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index2, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * indexSpacing, + */ + __Pyx_TraceLine(1104,0,__PYX_ERR(0, 1104, __pyx_L35_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1104, __pyx_L35_error) + if (__pyx_t_11) { + __pyx_t_10 = NULL; + } else { + __pyx_t_10 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1105 + * assert not zran.zran_init(&index2, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * indexSpacing, + * windowSize, + */ + __Pyx_TraceLine(1105,0,__PYX_ERR(0, 1105, __pyx_L35_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1105, __pyx_L35_error) + if (__pyx_t_11) { + __pyx_t_12 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_12 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1103 + * with open(testfile, 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index2, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L35_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index2), __pyx_t_10, __pyx_t_12, __pyx_v_indexSpacing, __pyx_v_windowSize, __pyx_v_readbufSize, __pyx_v_flag) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1103, __pyx_L35_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1111 + * flag) + * + * with open(testfile + '.idx.tmp', 'rb') as pyexportfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyexportfid.fileno(), 'rb') + * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) + */ + __Pyx_TraceLine(1111,0,__PYX_ERR(0, 1111, __pyx_L35_error)) + /*with:*/ { + __pyx_t_2 = PyNumber_Add(__pyx_v_testfile, __pyx_kp_s_idx_tmp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1111, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1111, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_rb); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1111, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1111, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1111, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1111, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); + __Pyx_XGOTREF(__pyx_t_16); + __Pyx_XGOTREF(__pyx_t_15); + __Pyx_XGOTREF(__pyx_t_14); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_pyexportfid, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1112 + * + * with open(testfile + '.idx.tmp', 'rb') as pyexportfid: + * cfid = fdopen(pyexportfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) + * assert not ret, str(ret) + */ + __Pyx_TraceLine(1112,0,__PYX_ERR(0, 1112, __pyx_L45_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyexportfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1112, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1112, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1112, __pyx_L45_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1113 + * with open(testfile + '.idx.tmp', 'rb') as pyexportfid: + * cfid = fdopen(pyexportfid.fileno(), 'rb') + * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) # <<<<<<<<<<<<<< + * assert not ret, str(ret) + * + */ + __Pyx_TraceLine(1113,0,__PYX_ERR(0, 1113, __pyx_L45_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1113, __pyx_L45_error) + if (__pyx_t_11) { + __pyx_t_10 = NULL; + } else { + __pyx_t_10 = __pyx_v_cfid; + } + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1113, __pyx_L45_error) + if (__pyx_t_11) { + __pyx_t_12 = ((PyObject *)__pyx_v_pyexportfid); + } else { + __pyx_t_12 = NULL; + } + __pyx_v_ret = zran_import_index((&__pyx_v_index2), __pyx_t_10, __pyx_t_12); + + /* "indexed_gzip/tests/ctest_zran.pyx":1114 + * cfid = fdopen(pyexportfid.fileno(), 'rb') + * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) + * assert not ret, str(ret) # <<<<<<<<<<<<<< + * + * _compare_indexes(&index1, &index2) + */ + __Pyx_TraceLine(1114,0,__PYX_ERR(0, 1114, __pyx_L45_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((!(__pyx_v_ret != 0)) != 0))) { + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1114, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_Pack(1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 1114, __pyx_L45_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1111 + * flag) + * + * with open(testfile + '.idx.tmp', 'rb') as pyexportfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyexportfid.fileno(), 'rb') + * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) + */ + } + __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L50_try_end; + __pyx_L45_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(0, 1111, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1111, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1111, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_17); + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); + __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; + if (__pyx_t_11 < 0) __PYX_ERR(0, 1111, __pyx_L47_except_error) + __pyx_t_18 = ((!(__pyx_t_11 != 0)) != 0); + if (__pyx_t_18) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_4); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 1111, __pyx_L47_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L46_exception_handled; + } + __pyx_L47_except_error:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_15, __pyx_t_14); + goto __pyx_L35_error; + __pyx_L46_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_16); + __Pyx_XGIVEREF(__pyx_t_15); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_15, __pyx_t_14); + __pyx_L50_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_13) { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1111, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + } + goto __pyx_L44; + } + __pyx_L44:; + } + goto __pyx_L54; + __pyx_L41_error:; + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L35_error; + __pyx_L54:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1116 + * assert not ret, str(ret) + * + * _compare_indexes(&index1, &index2) # <<<<<<<<<<<<<< + * + * zran.zran_free(&index1) + */ + __Pyx_TraceLine(1116,0,__PYX_ERR(0, 1116, __pyx_L35_error)) + __pyx_t_4 = __pyx_f_12indexed_gzip_5tests_10ctest_zran__compare_indexes((&__pyx_v_index1), (&__pyx_v_index2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1116, __pyx_L35_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1118 + * _compare_indexes(&index1, &index2) + * + * zran.zran_free(&index1) # <<<<<<<<<<<<<< + * zran.zran_free(&index2) + * + */ + __Pyx_TraceLine(1118,0,__PYX_ERR(0, 1118, __pyx_L35_error)) + zran_free((&__pyx_v_index1)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1119 + * + * zran.zran_free(&index1) + * zran.zran_free(&index2) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1119,0,__PYX_ERR(0, 1119, __pyx_L35_error)) + zran_free((&__pyx_v_index2)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1101 + * assert not ret, str(ret) + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index2, + */ + } + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L40_try_end; + __pyx_L35_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 1101, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1101, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1101, __pyx_L37_except_error) + __Pyx_GOTREF(__pyx_t_13); + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + if (__pyx_t_18 < 0) __PYX_ERR(0, 1101, __pyx_L37_except_error) + __pyx_t_11 = ((!(__pyx_t_18 != 0)) != 0); + if (__pyx_t_11) { + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_2, __pyx_t_1); + __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1101, __pyx_L37_except_error) + } + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L36_exception_handled; + } + __pyx_L37_except_error:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + goto __pyx_L1_error; + __pyx_L36_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); + __pyx_L40_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_3) { + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1101, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } + goto __pyx_L34; + } + __pyx_L34:; + } + goto __pyx_L58; + __pyx_L31_error:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L1_error; + __pyx_L58:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1070 + * + * + * def test_export_then_import(testfile, no_fds): # <<<<<<<<<<<<<< + * """Export-import round trip . Test exporting an index, then importing it + * back in. + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_pyexportfid); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1122 + * + * + * def test_export_import_no_points(no_fds): # <<<<<<<<<<<<<< + * """Test exporting and importing an index which does not contain any + * seek points. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points(PyObject *__pyx_self, PyObject *__pyx_v_no_fds); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points[] = "Test exporting and importing an index which does not contain any\n seek points.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points = {"test_export_import_no_points", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points, METH_O, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points(PyObject *__pyx_self, PyObject *__pyx_v_no_fds) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_export_import_no_points (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points(__pyx_self, ((PyObject *)__pyx_v_no_fds)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_no_fds) { + zran_index_t __pyx_v_index; + void *__pyx_v_buffer; + PyObject *__pyx_v_data = NULL; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + int64_t __pyx_v_output; + PyObject *__pyx_v_pybuf = NULL; + PyObject *__pyx_v_pyidxfid = NULL; + FILE *__pyx_v_cidxfid; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + void *__pyx_t_5; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + PyObject *__pyx_t_15 = NULL; + int __pyx_t_16; + int __pyx_t_17; + int __pyx_t_18; + PyObject *__pyx_t_19; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + PyObject *__pyx_t_22 = NULL; + PyObject *__pyx_t_23 = NULL; + PyObject *__pyx_t_24 = NULL; + PyObject *__pyx_t_25 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__41) + __Pyx_RefNannySetupContext("test_export_import_no_points", 0); + __Pyx_TraceCall("test_export_import_no_points", __pyx_f[0], 1122, 0, __PYX_ERR(0, 1122, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1129 + * cdef void *buffer + * + * data = np.random.randint(1, 255, 100, dtype=np.uint8) # <<<<<<<<<<<<<< + * buf = ReadBuffer(100) + * buffer = buf.buffer + */ + __Pyx_TraceLine(1129,0,__PYX_ERR(0, 1129, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__42, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_data = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1130 + * + * data = np.random.randint(1, 255, 100, dtype=np.uint8) + * buf = ReadBuffer(100) # <<<<<<<<<<<<<< + * buffer = buf.buffer + * + */ + __Pyx_TraceLine(1130,0,__PYX_ERR(0, 1130, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1131 + * data = np.random.randint(1, 255, 100, dtype=np.uint8) + * buf = ReadBuffer(100) + * buffer = buf.buffer # <<<<<<<<<<<<<< + * + * with tempdir(): + */ + __Pyx_TraceLine(1131,0,__PYX_ERR(0, 1131, __pyx_L1_error)) + __pyx_t_5 = __pyx_v_buf->buffer; + __pyx_v_buffer = __pyx_t_5; + + /* "indexed_gzip/tests/ctest_zran.pyx":1133 + * buffer = buf.buffer + * + * with tempdir(): # <<<<<<<<<<<<<< + * + * with gzip.open('data.gz', 'wb') as f: + */ + __Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_9); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":1135 + * with tempdir(): + * + * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + __Pyx_TraceLine(1135,0,__PYX_ERR(0, 1135, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_gzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1135, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1135, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1136 + * + * with gzip.open('data.gz', 'wb') as f: + * f.write(data.tostring()) # <<<<<<<<<<<<<< + * + * with open('data.gz', 'rb') as pyfid: + */ + __Pyx_TraceLine(1136,0,__PYX_ERR(0, 1136, __pyx_L17_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1136, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1136, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1136, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1136, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1135 + * with tempdir(): + * + * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 1135, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1135, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1135, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1135, __pyx_L19_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); + __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1135, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1138 + * f.write(data.tostring()) + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, + */ + __Pyx_TraceLine(1138,0,__PYX_ERR(0, 1138, __pyx_L7_error)) + /*with:*/ { + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1138, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1138, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1138, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1138, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1139 + * + * with open('data.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * assert zran.zran_init(&index, + * NULL if no_fds else cfid, + */ + __Pyx_TraceLine(1139,0,__PYX_ERR(0, 1139, __pyx_L31_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1139, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1139, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1139, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_18, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1140 + * with open('data.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1141 + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * 1048576, + */ + __Pyx_TraceLine(1141,0,__PYX_ERR(0, 1141, __pyx_L31_error)) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1141, __pyx_L31_error) + if (__pyx_t_17) { + __pyx_t_5 = NULL; + } else { + __pyx_t_5 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1142 + * assert zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * 1048576, + * 32768, + */ + __Pyx_TraceLine(1142,0,__PYX_ERR(0, 1142, __pyx_L31_error)) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1142, __pyx_L31_error) + if (__pyx_t_17) { + __pyx_t_19 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_19 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1146 + * 32768, + * 131072, + * 0) == 0 # <<<<<<<<<<<<<< + * output = zran.zran_read(&index, buffer, 100) + * assert output == 100, output + */ + __Pyx_TraceLine(1146,0,__PYX_ERR(0, 1146, __pyx_L31_error)) + if (unlikely(!((zran_init((&__pyx_v_index), __pyx_t_5, __pyx_t_19, 0x100000, 0x8000, 0x20000, 0) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1140, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1147 + * 131072, + * 0) == 0 + * output = zran.zran_read(&index, buffer, 100) # <<<<<<<<<<<<<< + * assert output == 100, output + * + */ + __Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L31_error)) + __pyx_v_output = zran_read((&__pyx_v_index), __pyx_v_buffer, 0x64); + + /* "indexed_gzip/tests/ctest_zran.pyx":1148 + * 0) == 0 + * output = zran.zran_read(&index, buffer, 100) + * assert output == 100, output # <<<<<<<<<<<<<< + * + * pybuf = (buffer)[:100] + */ + __Pyx_TraceLine(1148,0,__PYX_ERR(0, 1148, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_output == 0x64) != 0))) { + __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_v_output); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1148, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); + __pyx_t_1 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 1148, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1150 + * assert output == 100, output + * + * pybuf = (buffer)[:100] # <<<<<<<<<<<<<< + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) + * + */ + __Pyx_TraceLine(1150,0,__PYX_ERR(0, 1150, __pyx_L31_error)) + __pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, 0x64 - 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1150, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __pyx_t_2; + __Pyx_INCREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_pybuf = ((PyObject*)__pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1151 + * + * pybuf = (buffer)[:100] + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) # <<<<<<<<<<<<<< + * + * with open('data.gz.index', 'wb') as pyidxfid: + */ + __Pyx_TraceLine(1151,0,__PYX_ERR(0, 1151, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_all); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_pybuf); + __Pyx_GIVEREF(__pyx_v_pybuf); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_pybuf); + __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_np); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_20, __pyx_n_s_uint8); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_dtype, __pyx_t_21) < 0) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyObject_RichCompare(__pyx_t_21, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __pyx_t_21 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_21)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_21); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_21, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_14); + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1151, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_17)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1151, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1153 + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) + * + * with open('data.gz.index', 'wb') as pyidxfid: # <<<<<<<<<<<<<< + * cidxfid = fdopen(pyidxfid.fileno(), 'wb') + * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + */ + __Pyx_TraceLine(1153,0,__PYX_ERR(0, 1153, __pyx_L31_error)) + /*with:*/ { + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1153, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1153, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1153, __pyx_L37_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_21 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_21)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_21); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_4 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1153, __pyx_L37_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = __pyx_t_4; + __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_24); + /*try:*/ { + __pyx_v_pyidxfid = __pyx_t_14; + __pyx_t_14 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1154 + * + * with open('data.gz.index', 'wb') as pyidxfid: + * cidxfid = fdopen(pyidxfid.fileno(), 'wb') # <<<<<<<<<<<<<< + * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L41_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyidxfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_14 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1154, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1154, __pyx_L41_error) + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_v_cidxfid = fdopen(__pyx_t_18, ((char const *)"wb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1155 + * with open('data.gz.index', 'wb') as pyidxfid: + * cidxfid = fdopen(pyidxfid.fileno(), 'wb') + * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L41_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1155, __pyx_L41_error) + if (__pyx_t_17) { + __pyx_t_5 = NULL; + } else { + __pyx_t_5 = __pyx_v_cidxfid; + } + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1155, __pyx_L41_error) + if (__pyx_t_17) { + __pyx_t_19 = ((PyObject *)__pyx_v_pyidxfid); + } else { + __pyx_t_19 = NULL; + } + if (unlikely(!((zran_export_index((&__pyx_v_index), __pyx_t_5, __pyx_t_19) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1155, __pyx_L41_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1153 + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) + * + * with open('data.gz.index', 'wb') as pyidxfid: # <<<<<<<<<<<<<< + * cidxfid = fdopen(pyidxfid.fileno(), 'wb') + * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + */ + } + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + goto __pyx_L46_try_end; + __pyx_L41_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_14, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 1153, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_21 = PyTuple_Pack(3, __pyx_t_14, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1153, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_21, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1153, __pyx_L43_except_error) + __Pyx_GOTREF(__pyx_t_25); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1153, __pyx_L43_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_14); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_14, __pyx_t_1, __pyx_t_4); + __pyx_t_14 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 1153, __pyx_L43_except_error) + } + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L42_exception_handled; + } + __pyx_L43_except_error:; + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); + goto __pyx_L31_error; + __pyx_L42_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); + __pyx_L46_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_15) { + __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1153, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_24); + __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; + } + goto __pyx_L40; + } + __pyx_L40:; + } + goto __pyx_L50; + __pyx_L37_error:; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L31_error; + __pyx_L50:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1156 + * cidxfid = fdopen(pyidxfid.fileno(), 'wb') + * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * with open('data.gz', 'rb') as pyfid: + */ + __Pyx_TraceLine(1156,0,__PYX_ERR(0, 1156, __pyx_L31_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1138 + * f.write(data.tostring()) + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_14) < 0) __PYX_ERR(0, 1138, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_21 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_1, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1138, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_21, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1138, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1138, __pyx_L33_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_1, __pyx_t_14); + __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; + __PYX_ERR(0, 1138, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1138, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L54; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L54:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1158 + * zran.zran_free(&index) + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, + */ + __Pyx_TraceLine(1158,0,__PYX_ERR(0, 1158, __pyx_L7_error)) + /*with:*/ { + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_14, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_14, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1158, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_21 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_21)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_21); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1158, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_13); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1159 + * + * with open('data.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * assert zran.zran_init(&index, + * NULL if no_fds else cfid, + */ + __Pyx_TraceLine(1159,0,__PYX_ERR(0, 1159, __pyx_L59_error)) + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1159, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_14, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1159, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1159, __pyx_L59_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_cfid = fdopen(__pyx_t_18, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1160 + * with open('data.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, + */ + __Pyx_TraceLine(1160,0,__PYX_ERR(0, 1160, __pyx_L59_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1161 + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, + * NULL if no_fds else cfid, # <<<<<<<<<<<<<< + * pyfid if no_fds else NULL, + * 1048576, + */ + __Pyx_TraceLine(1161,0,__PYX_ERR(0, 1161, __pyx_L59_error)) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1161, __pyx_L59_error) + if (__pyx_t_17) { + __pyx_t_5 = NULL; + } else { + __pyx_t_5 = __pyx_v_cfid; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1162 + * assert zran.zran_init(&index, + * NULL if no_fds else cfid, + * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< + * 1048576, + * 32768, + */ + __Pyx_TraceLine(1162,0,__PYX_ERR(0, 1162, __pyx_L59_error)) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1162, __pyx_L59_error) + if (__pyx_t_17) { + __pyx_t_19 = ((PyObject *)__pyx_v_pyfid); + } else { + __pyx_t_19 = NULL; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1166 + * 32768, + * 131072, + * 0) == 0 # <<<<<<<<<<<<<< + * + * with open('data.gz.index', 'rb') as pyidxfid: + */ + __Pyx_TraceLine(1166,0,__PYX_ERR(0, 1166, __pyx_L59_error)) + if (unlikely(!((zran_init((&__pyx_v_index), __pyx_t_5, __pyx_t_19, 0x100000, 0x8000, 0x20000, 0) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1160, __pyx_L59_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1168 + * 0) == 0 + * + * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + */ + __Pyx_TraceLine(1168,0,__PYX_ERR(0, 1168, __pyx_L59_error)) + /*with:*/ { + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1168, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1168, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1168, __pyx_L65_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_21 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_21)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_21); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_14 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1168, __pyx_L65_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_14; + __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_24, &__pyx_t_23, &__pyx_t_22); + __Pyx_XGOTREF(__pyx_t_24); + __Pyx_XGOTREF(__pyx_t_23); + __Pyx_XGOTREF(__pyx_t_22); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_pyidxfid, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1169 + * + * with open('data.gz.index', 'rb') as pyidxfid: + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + * assert index.npoints == 0 + */ + __Pyx_TraceLine(1169,0,__PYX_ERR(0, 1169, __pyx_L69_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyidxfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_14 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_14)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1169, __pyx_L69_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1169, __pyx_L69_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cidxfid = fdopen(__pyx_t_18, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1170 + * with open('data.gz.index', 'rb') as pyidxfid: + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 # <<<<<<<<<<<<<< + * assert index.npoints == 0 + * + */ + __Pyx_TraceLine(1170,0,__PYX_ERR(0, 1170, __pyx_L69_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1170, __pyx_L69_error) + if (__pyx_t_17) { + __pyx_t_5 = NULL; + } else { + __pyx_t_5 = __pyx_v_cidxfid; + } + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1170, __pyx_L69_error) + if (__pyx_t_17) { + __pyx_t_19 = ((PyObject *)__pyx_v_pyidxfid); + } else { + __pyx_t_19 = NULL; + } + if (unlikely(!((zran_import_index((&__pyx_v_index), __pyx_t_5, __pyx_t_19) == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1170, __pyx_L69_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1168 + * 0) == 0 + * + * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + */ + } + __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; + __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; + __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; + goto __pyx_L74_try_end; + __pyx_L69_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_14) < 0) __PYX_ERR(0, 1168, __pyx_L71_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_21 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1168, __pyx_L71_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_21, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1168, __pyx_L71_except_error) + __Pyx_GOTREF(__pyx_t_25); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); + __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1168, __pyx_L71_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_14); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_14); + __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_14 = 0; + __PYX_ERR(0, 1168, __pyx_L71_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L70_exception_handled; + } + __pyx_L71_except_error:; + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_23, __pyx_t_22); + goto __pyx_L59_error; + __pyx_L70_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_24); + __Pyx_XGIVEREF(__pyx_t_23); + __Pyx_XGIVEREF(__pyx_t_22); + __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_23, __pyx_t_22); + __pyx_L74_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_15) { + __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1168, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_22); + __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; + } + goto __pyx_L68; + } + __pyx_L68:; + } + goto __pyx_L78; + __pyx_L65_error:; + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + goto __pyx_L59_error; + __pyx_L78:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1171 + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + * assert index.npoints == 0 # <<<<<<<<<<<<<< + * + * assert zran.zran_read(&index, buffer, 100) == 100 + */ + __Pyx_TraceLine(1171,0,__PYX_ERR(0, 1171, __pyx_L59_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_index.npoints == 0) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1171, __pyx_L59_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1173 + * assert index.npoints == 0 + * + * assert zran.zran_read(&index, buffer, 100) == 100 # <<<<<<<<<<<<<< + * pybuf = (buffer)[:100] + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) + */ + __Pyx_TraceLine(1173,0,__PYX_ERR(0, 1173, __pyx_L59_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((zran_read((&__pyx_v_index), __pyx_v_buffer, 0x64) == 0x64) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1173, __pyx_L59_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1174 + * + * assert zran.zran_read(&index, buffer, 100) == 100 + * pybuf = (buffer)[:100] # <<<<<<<<<<<<<< + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1174,0,__PYX_ERR(0, 1174, __pyx_L59_error)) + __pyx_t_14 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, 0x64 - 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1174, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_4 = __pyx_t_14; + __Pyx_INCREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF_SET(__pyx_v_pybuf, ((PyObject*)__pyx_t_4)); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1175 + * assert zran.zran_read(&index, buffer, 100) == 100 + * pybuf = (buffer)[:100] + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1175,0,__PYX_ERR(0, 1175, __pyx_L59_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_21); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_INCREF(__pyx_v_pybuf); + __Pyx_GIVEREF(__pyx_v_pybuf); + PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_pybuf); + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_20) < 0) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_14, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_RichCompare(__pyx_t_20, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + __pyx_t_20 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_20)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_20); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_20, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1175, __pyx_L59_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1175, __pyx_L59_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1176 + * pybuf = (buffer)[:100] + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1176,0,__PYX_ERR(0, 1176, __pyx_L59_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1158 + * zran.zran_free(&index) + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, + */ + } + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + goto __pyx_L64_try_end; + __pyx_L59_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1158, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_20 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1158, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_20, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1158, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_15); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1158, __pyx_L61_except_error) + __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_17) { + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_1, __pyx_t_2); + __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1158, __pyx_L61_except_error) + } + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L60_exception_handled; + } + __pyx_L61_except_error:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + goto __pyx_L7_error; + __pyx_L60_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); + __pyx_L64_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; + } + goto __pyx_L58; + } + __pyx_L58:; + } + goto __pyx_L82; + __pyx_L55_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L82:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1133 + * buffer = buf.buffer + * + * with tempdir(): # <<<<<<<<<<<<<< + * + * with gzip.open('data.gz', 'wb') as f: + */ + } + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 1133, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_20 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1133, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_20); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_20, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1133, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (__pyx_t_17 < 0) __PYX_ERR(0, 1133, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_4); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 1133, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_XGIVEREF(__pyx_t_9); + __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_6) { + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1133, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L86; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L1_error; + __pyx_L86:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1122 + * + * + * def test_export_import_no_points(no_fds): # <<<<<<<<<<<<<< + * """Test exporting and importing an index which does not contain any + * seek points. + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_20); + __Pyx_XDECREF(__pyx_t_21); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_pybuf); + __Pyx_XDECREF(__pyx_v_pyidxfid); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1179 + * + * + * def test_export_import_format_v0(): # <<<<<<<<<<<<<< + * """Test index export and import on a version 0 index file. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0[] = "Test index export and import on a version 0 index file. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0 = {"test_export_import_format_v0", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0, METH_NOARGS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_export_import_format_v0 (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0(CYTHON_UNUSED PyObject *__pyx_self) { + zran_index_t __pyx_v_index1; + zran_index_t __pyx_v_index2; + int __pyx_v_ret; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_pyfid = NULL; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_pyidxfid = NULL; + FILE *__pyx_v_cidxfid; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + int __pyx_t_16; + int __pyx_t_17; + PyObject *__pyx_t_18 = NULL; + PyObject *__pyx_t_19 = NULL; + PyObject *__pyx_t_20 = NULL; + PyObject *__pyx_t_21 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__48) + __Pyx_RefNannySetupContext("test_export_import_format_v0", 0); + __Pyx_TraceCall("test_export_import_format_v0", __pyx_f[0], 1179, 0, __PYX_ERR(0, 1179, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1186 + * cdef int ret + * + * data = np.random.randint(1, 255, 1000000, dtype=np.uint8) # <<<<<<<<<<<<<< + * with tempdir(): + * + */ + __Pyx_TraceLine(1186,0,__PYX_ERR(0, 1186, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__49, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_data = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1187 + * + * data = np.random.randint(1, 255, 1000000, dtype=np.uint8) + * with tempdir(): # <<<<<<<<<<<<<< + * + * with gzip.open('data.gz', 'wb') as f: + */ + __Pyx_TraceLine(1187,0,__PYX_ERR(0, 1187, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1187, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1187, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":1189 + * with tempdir(): + * + * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + __Pyx_TraceLine(1189,0,__PYX_ERR(0, 1189, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_gzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1189, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1189, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1189, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1189, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1189, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1189, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1190 + * + * with gzip.open('data.gz', 'wb') as f: + * f.write(data.tostring()) # <<<<<<<<<<<<<< + * + * with open('data.gz', 'rb') as pyfid: + */ + __Pyx_TraceLine(1190,0,__PYX_ERR(0, 1190, __pyx_L17_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1190, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1190, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1190, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1190, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1189 + * with tempdir(): + * + * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 1189, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1189, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1189, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1189, __pyx_L19_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); + __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1189, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1189, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1192 + * f.write(data.tostring()) + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init( + */ + __Pyx_TraceLine(1192,0,__PYX_ERR(0, 1192, __pyx_L7_error)) + /*with:*/ { + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1192, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1192, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_4; + __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1193 + * + * with open('data.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * assert not zran.zran_init( + * &index1, cfid, NULL, 50000, 32768, 131072, 0) + */ + __Pyx_TraceLine(1193,0,__PYX_ERR(0, 1193, __pyx_L31_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1193, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_17, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1194 + * with open('data.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init( # <<<<<<<<<<<<<< + * &index1, cfid, NULL, 50000, 32768, 131072, 0) + * + */ + __Pyx_TraceLine(1194,0,__PYX_ERR(0, 1194, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1195 + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init( + * &index1, cfid, NULL, 50000, 32768, 131072, 0) # <<<<<<<<<<<<<< + * + * assert not zran.zran_build_index(&index1, 0, 0) + */ + __Pyx_TraceLine(1195,0,__PYX_ERR(0, 1195, __pyx_L31_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index1), __pyx_v_cfid, NULL, 0xC350, 0x8000, 0x20000, 0) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1194, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1197 + * &index1, cfid, NULL, 50000, 32768, 131072, 0) + * + * assert not zran.zran_build_index(&index1, 0, 0) # <<<<<<<<<<<<<< + * _write_index_file_v0(&index1, 'data.gz.index') + * + */ + __Pyx_TraceLine(1197,0,__PYX_ERR(0, 1197, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((!(zran_build_index((&__pyx_v_index1), 0, 0) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1197, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1198 + * + * assert not zran.zran_build_index(&index1, 0, 0) + * _write_index_file_v0(&index1, 'data.gz.index') # <<<<<<<<<<<<<< + * + * with open('data.gz', 'rb') as pyfid: + */ + __Pyx_TraceLine(1198,0,__PYX_ERR(0, 1198, __pyx_L31_error)) + __pyx_t_1 = __pyx_f_12indexed_gzip_5tests_10ctest_zran__write_index_file_v0((&__pyx_v_index1), __pyx_kp_s_data_gz_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1198, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1192 + * f.write(data.tostring()) + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init( + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(0, 1192, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1192, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1192, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1192, __pyx_L33_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_4); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 1192, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1192, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L40; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L40:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1200 + * _write_index_file_v0(&index1, 'data.gz.index') + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init( + */ + __Pyx_TraceLine(1200,0,__PYX_ERR(0, 1200, __pyx_L7_error)) + /*with:*/ { + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1200, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1200, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1201 + * + * with open('data.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * assert not zran.zran_init( + * &index2, cfid, NULL, 50000, 32768, 131072, 0) + */ + __Pyx_TraceLine(1201,0,__PYX_ERR(0, 1201, __pyx_L45_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1201, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1201, __pyx_L45_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_17, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1202 + * with open('data.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init( # <<<<<<<<<<<<<< + * &index2, cfid, NULL, 50000, 32768, 131072, 0) + * + */ + __Pyx_TraceLine(1202,0,__PYX_ERR(0, 1202, __pyx_L45_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1203 + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init( + * &index2, cfid, NULL, 50000, 32768, 131072, 0) # <<<<<<<<<<<<<< + * + * with open('data.gz.index', 'rb') as pyidxfid: + */ + __Pyx_TraceLine(1203,0,__PYX_ERR(0, 1203, __pyx_L45_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index2), __pyx_v_cfid, NULL, 0xC350, 0x8000, 0x20000, 0) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1202, __pyx_L45_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1205 + * &index2, cfid, NULL, 50000, 32768, 131072, 0) + * + * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * ret = zran.zran_import_index(&index2, cidxfid, NULL) + */ + __Pyx_TraceLine(1205,0,__PYX_ERR(0, 1205, __pyx_L45_error)) + /*with:*/ { + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1205, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1205, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1205, __pyx_L51_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_4; + __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); + __Pyx_XGOTREF(__pyx_t_18); + __Pyx_XGOTREF(__pyx_t_19); + __Pyx_XGOTREF(__pyx_t_20); + /*try:*/ { + __pyx_v_pyidxfid = __pyx_t_2; + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1206 + * + * with open('data.gz.index', 'rb') as pyidxfid: + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * ret = zran.zran_import_index(&index2, cidxfid, NULL) + * assert ret == 0, ret + */ + __Pyx_TraceLine(1206,0,__PYX_ERR(0, 1206, __pyx_L55_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyidxfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1206, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1206, __pyx_L55_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_cidxfid = fdopen(__pyx_t_17, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1207 + * with open('data.gz.index', 'rb') as pyidxfid: + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * ret = zran.zran_import_index(&index2, cidxfid, NULL) # <<<<<<<<<<<<<< + * assert ret == 0, ret + * + */ + __Pyx_TraceLine(1207,0,__PYX_ERR(0, 1207, __pyx_L55_error)) + __pyx_v_ret = zran_import_index((&__pyx_v_index2), __pyx_v_cidxfid, NULL); + + /* "indexed_gzip/tests/ctest_zran.pyx":1208 + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * ret = zran.zran_import_index(&index2, cidxfid, NULL) + * assert ret == 0, ret # <<<<<<<<<<<<<< + * + * _compare_indexes(&index1, &index2) + */ + __Pyx_TraceLine(1208,0,__PYX_ERR(0, 1208, __pyx_L55_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_ret == 0) != 0))) { + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1208, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); + __pyx_t_2 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 1208, __pyx_L55_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1205 + * &index2, cfid, NULL, 50000, 32768, 131072, 0) + * + * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * ret = zran.zran_import_index(&index2, cidxfid, NULL) + */ + } + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; + __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; + goto __pyx_L60_try_end; + __pyx_L55_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(0, 1205, __pyx_L57_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1205, __pyx_L57_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1205, __pyx_L57_except_error) + __Pyx_GOTREF(__pyx_t_21); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_21); + __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1205, __pyx_L57_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_4); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 1205, __pyx_L57_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L56_exception_handled; + } + __pyx_L57_except_error:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + goto __pyx_L45_error; + __pyx_L56_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_18); + __Pyx_XGIVEREF(__pyx_t_19); + __Pyx_XGIVEREF(__pyx_t_20); + __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); + __pyx_L60_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_14) { + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1205, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_20); + __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; + } + goto __pyx_L54; + } + __pyx_L54:; + } + goto __pyx_L64; + __pyx_L51_error:; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + goto __pyx_L45_error; + __pyx_L64:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1200 + * _write_index_file_v0(&index1, 'data.gz.index') + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init( + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L50_try_end; + __pyx_L45_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 1200, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1200, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1200, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1200, __pyx_L47_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_2, __pyx_t_1); + __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1200, __pyx_L47_except_error) + } + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L46_exception_handled; + } + __pyx_L47_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L7_error; + __pyx_L46_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L50_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1200, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L44; + } + __pyx_L44:; + } + goto __pyx_L68; + __pyx_L41_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L68:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1210 + * assert ret == 0, ret + * + * _compare_indexes(&index1, &index2) # <<<<<<<<<<<<<< + * zran.zran_free(&index1) + * zran.zran_free(&index2) + */ + __Pyx_TraceLine(1210,0,__PYX_ERR(0, 1210, __pyx_L7_error)) + __pyx_t_1 = __pyx_f_12indexed_gzip_5tests_10ctest_zran__compare_indexes((&__pyx_v_index1), (&__pyx_v_index2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1211 + * + * _compare_indexes(&index1, &index2) + * zran.zran_free(&index1) # <<<<<<<<<<<<<< + * zran.zran_free(&index2) + * + */ + __Pyx_TraceLine(1211,0,__PYX_ERR(0, 1211, __pyx_L7_error)) + zran_free((&__pyx_v_index1)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1212 + * _compare_indexes(&index1, &index2) + * zran.zran_free(&index1) + * zran.zran_free(&index2) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1212,0,__PYX_ERR(0, 1212, __pyx_L7_error)) + zran_free((&__pyx_v_index2)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1187 + * + * data = np.random.randint(1, 255, 1000000, dtype=np.uint8) + * with tempdir(): # <<<<<<<<<<<<<< + * + * with gzip.open('data.gz', 'wb') as f: + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(0, 1187, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1187, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1187, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1187, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_4); + __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; + __PYX_ERR(0, 1187, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_5) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1187, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L72; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L1_error; + __pyx_L72:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1179 + * + * + * def test_export_import_format_v0(): # <<<<<<<<<<<<<< + * """Test index export and import on a version 0 index file. """ + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_pyidxfid); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1215 + * + * + * cdef _write_index_file_v0(zran.zran_index_t *index, dest): # <<<<<<<<<<<<<< + * """Write the given index out to a file, index file version 0 format. """ + * + */ + +static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran__write_index_file_v0(zran_index_t *__pyx_v_index, PyObject *__pyx_v_dest) { + zran_point_t *__pyx_v_point; + PyObject *__pyx_v_f = NULL; + long __pyx_v_i; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + uint32_t __pyx_t_9; + uint32_t __pyx_t_10; + long __pyx_t_11; + PyObject *__pyx_t_12 = NULL; + int __pyx_t_13; + int __pyx_t_14; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_write_index_file_v0", 0); + __Pyx_TraceCall("_write_index_file_v0", __pyx_f[0], 1215, 0, __PYX_ERR(0, 1215, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1220 + * cdef zran.zran_point_t *point + * + * with open(dest, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(b'GZIDX\0\0') + * f.write(((&index.compressed_size))[:8]) + */ + __Pyx_TraceLine(1220,0,__PYX_ERR(0, 1220, __pyx_L1_error)) + /*with:*/ { + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_dest); + __Pyx_GIVEREF(__pyx_v_dest); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dest); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_wb); + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1220, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1220, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + __pyx_v_f = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1221 + * + * with open(dest, 'wb') as f: + * f.write(b'GZIDX\0\0') # <<<<<<<<<<<<<< + * f.write(((&index.compressed_size))[:8]) + * f.write(((&index.uncompressed_size))[:8]) + */ + __Pyx_TraceLine(1221,0,__PYX_ERR(0, 1221, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1221, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_kp_b_GZIDX) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b_GZIDX); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1221, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1222 + * with open(dest, 'wb') as f: + * f.write(b'GZIDX\0\0') + * f.write(((&index.compressed_size))[:8]) # <<<<<<<<<<<<<< + * f.write(((&index.uncompressed_size))[:8]) + * f.write(((&index.spacing))[:4]) + */ + __Pyx_TraceLine(1222,0,__PYX_ERR(0, 1222, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1222, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->compressed_size)) + 0, 8 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1222, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1222, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1223 + * f.write(b'GZIDX\0\0') + * f.write(((&index.compressed_size))[:8]) + * f.write(((&index.uncompressed_size))[:8]) # <<<<<<<<<<<<<< + * f.write(((&index.spacing))[:4]) + * f.write(((&index.window_size))[:4]) + */ + __Pyx_TraceLine(1223,0,__PYX_ERR(0, 1223, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1223, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->uncompressed_size)) + 0, 8 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1223, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1223, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1224 + * f.write(((&index.compressed_size))[:8]) + * f.write(((&index.uncompressed_size))[:8]) + * f.write(((&index.spacing))[:4]) # <<<<<<<<<<<<<< + * f.write(((&index.window_size))[:4]) + * f.write(((&index.npoints))[:4]) + */ + __Pyx_TraceLine(1224,0,__PYX_ERR(0, 1224, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1224, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->spacing)) + 0, 4 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1224, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1224, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1225 + * f.write(((&index.uncompressed_size))[:8]) + * f.write(((&index.spacing))[:4]) + * f.write(((&index.window_size))[:4]) # <<<<<<<<<<<<<< + * f.write(((&index.npoints))[:4]) + * + */ + __Pyx_TraceLine(1225,0,__PYX_ERR(0, 1225, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1225, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->window_size)) + 0, 4 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1225, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1225, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1226 + * f.write(((&index.spacing))[:4]) + * f.write(((&index.window_size))[:4]) + * f.write(((&index.npoints))[:4]) # <<<<<<<<<<<<<< + * + * for i in range(index.npoints): + */ + __Pyx_TraceLine(1226,0,__PYX_ERR(0, 1226, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->npoints)) + 0, 4 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1226, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1226, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1228 + * f.write(((&index.npoints))[:4]) + * + * for i in range(index.npoints): # <<<<<<<<<<<<<< + * point = &index.list[i] + * f.write(((&point.cmp_offset))[:8]) + */ + __Pyx_TraceLine(1228,0,__PYX_ERR(0, 1228, __pyx_L7_error)) + __pyx_t_9 = __pyx_v_index->npoints; + __pyx_t_10 = __pyx_t_9; + for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i = __pyx_t_11; + + /* "indexed_gzip/tests/ctest_zran.pyx":1229 + * + * for i in range(index.npoints): + * point = &index.list[i] # <<<<<<<<<<<<<< + * f.write(((&point.cmp_offset))[:8]) + * f.write(((&point.uncmp_offset))[:8]) + */ + __Pyx_TraceLine(1229,0,__PYX_ERR(0, 1229, __pyx_L7_error)) + __pyx_v_point = (&(__pyx_v_index->list[__pyx_v_i])); + + /* "indexed_gzip/tests/ctest_zran.pyx":1230 + * for i in range(index.npoints): + * point = &index.list[i] + * f.write(((&point.cmp_offset))[:8]) # <<<<<<<<<<<<<< + * f.write(((&point.uncmp_offset))[:8]) + * f.write(((&point.bits))[:1]) + */ + __Pyx_TraceLine(1230,0,__PYX_ERR(0, 1230, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1230, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_point->cmp_offset)) + 0, 8 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1230, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1230, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1231 + * point = &index.list[i] + * f.write(((&point.cmp_offset))[:8]) + * f.write(((&point.uncmp_offset))[:8]) # <<<<<<<<<<<<<< + * f.write(((&point.bits))[:1]) + * + */ + __Pyx_TraceLine(1231,0,__PYX_ERR(0, 1231, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_point->uncmp_offset)) + 0, 8 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1231, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1231, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1232 + * f.write(((&point.cmp_offset))[:8]) + * f.write(((&point.uncmp_offset))[:8]) + * f.write(((&point.bits))[:1]) # <<<<<<<<<<<<<< + * + * for i in range(1, index.npoints): + */ + __Pyx_TraceLine(1232,0,__PYX_ERR(0, 1232, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1232, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_point->bits)) + 0, 1 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1232, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1232, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1234 + * f.write(((&point.bits))[:1]) + * + * for i in range(1, index.npoints): # <<<<<<<<<<<<<< + * point = &index.list[i] + * data = point.data[:index.window_size] + */ + __Pyx_TraceLine(1234,0,__PYX_ERR(0, 1234, __pyx_L7_error)) + __pyx_t_9 = __pyx_v_index->npoints; + __pyx_t_10 = __pyx_t_9; + for (__pyx_t_11 = 1; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { + __pyx_v_i = __pyx_t_11; + + /* "indexed_gzip/tests/ctest_zran.pyx":1235 + * + * for i in range(1, index.npoints): + * point = &index.list[i] # <<<<<<<<<<<<<< + * data = point.data[:index.window_size] + * f.write(data) + */ + __Pyx_TraceLine(1235,0,__PYX_ERR(0, 1235, __pyx_L7_error)) + __pyx_v_point = (&(__pyx_v_index->list[__pyx_v_i])); + + /* "indexed_gzip/tests/ctest_zran.pyx":1236 + * for i in range(1, index.npoints): + * point = &index.list[i] + * data = point.data[:index.window_size] # <<<<<<<<<<<<<< + * f.write(data) + * + */ + __Pyx_TraceLine(1236,0,__PYX_ERR(0, 1236, __pyx_L7_error)) + __pyx_t_4 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_point->data) + 0, __pyx_v_index->window_size - 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __pyx_t_4; + __Pyx_INCREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF_SET(__pyx_v_data, ((PyObject*)__pyx_t_2)); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1237 + * point = &index.list[i] + * data = point.data[:index.window_size] + * f.write(data) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1237,0,__PYX_ERR(0, 1237, __pyx_L7_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1237, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_data); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1220 + * cdef zran.zran_point_t *point + * + * with open(dest, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(b'GZIDX\0\0') + * f.write(((&index.compressed_size))[:8]) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran._write_index_file_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 1220, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1220, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1220, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_12); + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + if (__pyx_t_13 < 0) __PYX_ERR(0, 1220, __pyx_L9_except_error) + __pyx_t_14 = ((!(__pyx_t_13 != 0)) != 0); + if (__pyx_t_14) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1220, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_3) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1220, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L20; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L1_error; + __pyx_L20:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1215 + * + * + * cdef _write_index_file_v0(zran.zran_index_t *index, dest): # <<<<<<<<<<<<<< + * """Write the given index out to a file, index file version 0 format. """ + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran._write_index_file_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1240 + * + * + * def test_crc_validation(concat): # <<<<<<<<<<<<<< + * """Basic test of CRC validation. """ + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation(PyObject *__pyx_self, PyObject *__pyx_v_concat); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation[] = "Basic test of CRC validation. "; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation = {"test_crc_validation", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation, METH_O, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation(PyObject *__pyx_self, PyObject *__pyx_v_concat) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_crc_validation (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation(__pyx_self, ((PyObject *)__pyx_v_concat)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1256 + * f = [None] # to prevent gc + * + * def _zran_init(flags): # <<<<<<<<<<<<<< + * f[0] = BytesIO(cmpdata) + * assert not zran.zran_init(&index, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init(PyObject *__pyx_self, PyObject *__pyx_v_flags); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init = {"_zran_init", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init(PyObject *__pyx_self, PyObject *__pyx_v_flags) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_zran_init (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(__pyx_self, ((PyObject *)__pyx_v_flags)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(PyObject *__pyx_self, PyObject *__pyx_v_flags) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_cur_scope; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_outer_scope; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + uint16_t __pyx_t_4; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_zran_init", 0); + __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *) __Pyx_CyFunction_GetClosure(__pyx_self); + __pyx_cur_scope = __pyx_outer_scope; + __Pyx_TraceCall("_zran_init", __pyx_f[0], 1256, 0, __PYX_ERR(0, 1256, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1257 + * + * def _zran_init(flags): + * f[0] = BytesIO(cmpdata) # <<<<<<<<<<<<<< + * assert not zran.zran_init(&index, + * NULL, + */ + __Pyx_TraceLine(1257,0,__PYX_ERR(0, 1257, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (unlikely(!__pyx_cur_scope->__pyx_v_cmpdata)) { __Pyx_RaiseClosureNameError("cmpdata"); __PYX_ERR(0, 1257, __pyx_L1_error) } + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_cur_scope->__pyx_v_cmpdata) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_cur_scope->__pyx_v_cmpdata); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1257, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_cur_scope->__pyx_v_f)) { __Pyx_RaiseClosureNameError("f"); __PYX_ERR(0, 1257, __pyx_L1_error) } + if (unlikely(__pyx_cur_scope->__pyx_v_f == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1257, __pyx_L1_error) + } + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_f, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 1257, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1258 + * def _zran_init(flags): + * f[0] = BytesIO(cmpdata) + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL, + * f[0], + */ + __Pyx_TraceLine(1258,0,__PYX_ERR(0, 1258, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1260 + * assert not zran.zran_init(&index, + * NULL, + * f[0], # <<<<<<<<<<<<<< + * 1048576, + * 32768, + */ + __Pyx_TraceLine(1260,0,__PYX_ERR(0, 1260, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v_f)) { __Pyx_RaiseClosureNameError("f"); __PYX_ERR(0, 1260, __pyx_L1_error) } + if (unlikely(__pyx_cur_scope->__pyx_v_f == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1260, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_cur_scope->__pyx_v_f, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1260, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "indexed_gzip/tests/ctest_zran.pyx":1264 + * 32768, + * 131072, + * flags) # <<<<<<<<<<<<<< + * + * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): + */ + __Pyx_TraceLine(1264,0,__PYX_ERR(0, 1264, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_As_uint16_t(__pyx_v_flags); if (unlikely((__pyx_t_4 == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1264, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1258 + * def _zran_init(flags): + * f[0] = BytesIO(cmpdata) + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL, + * f[0], + */ + __Pyx_TraceLine(1258,0,__PYX_ERR(0, 1258, __pyx_L1_error)) + if (unlikely(!((!(zran_init((&__pyx_cur_scope->__pyx_v_index), NULL, ((PyObject *)__pyx_t_1), 0x100000, 0x8000, 0x20000, __pyx_t_4) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1258, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1256 + * f = [None] # to prevent gc + * + * def _zran_init(flags): # <<<<<<<<<<<<<< + * f[0] = BytesIO(cmpdata) + * assert not zran.zran_init(&index, + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation._zran_init", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1266 + * flags) + * + * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): # <<<<<<<<<<<<<< + * if shouldpass: + * expect_build = zran.ZRAN_BUILD_INDEX_OK + */ + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_66__defaults__(CYTHON_UNUSED PyObject *__pyx_self) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__defaults__", 0); + __Pyx_TraceCall("__defaults__", __pyx_f[0], 1266, 0, __PYX_ERR(0, 1266, __pyx_L1_error)); + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1266, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_flags); + __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_flags); + PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_flags); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None); + __pyx_t_1 = 0; + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests = {"_run_crc_tests", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests, METH_VARARGS|METH_KEYWORDS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { + PyObject *__pyx_v_shouldpass = 0; + PyObject *__pyx_v_flags = 0; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_run_crc_tests (wrapper)", 0); + { + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_shouldpass,&__pyx_n_s_flags,0}; + PyObject* values[2] = {0,0}; + __pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self); + values[1] = __pyx_dynamic_args->__pyx_arg_flags; + if (unlikely(__pyx_kwds)) { + Py_ssize_t kw_args; + const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); + switch (pos_args) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + CYTHON_FALLTHROUGH; + case 0: break; + default: goto __pyx_L5_argtuple_error; + } + kw_args = PyDict_Size(__pyx_kwds); + switch (pos_args) { + case 0: + if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_shouldpass)) != 0)) kw_args--; + else goto __pyx_L5_argtuple_error; + CYTHON_FALLTHROUGH; + case 1: + if (kw_args > 0) { + PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags); + if (value) { values[1] = value; kw_args--; } + } + } + if (unlikely(kw_args > 0)) { + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_run_crc_tests") < 0)) __PYX_ERR(0, 1266, __pyx_L3_error) + } + } else { + switch (PyTuple_GET_SIZE(__pyx_args)) { + case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); + CYTHON_FALLTHROUGH; + case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); + break; + default: goto __pyx_L5_argtuple_error; + } + } + __pyx_v_shouldpass = values[0]; + __pyx_v_flags = values[1]; + } + goto __pyx_L4_argument_unpacking_done; + __pyx_L5_argtuple_error:; + __Pyx_RaiseArgtupleInvalid("_run_crc_tests", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1266, __pyx_L3_error) + __pyx_L3_error:; + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation._run_crc_tests", __pyx_clineno, __pyx_lineno, __pyx_filename); + __Pyx_RefNannyFinishContext(); + return NULL; + __pyx_L4_argument_unpacking_done:; + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(__pyx_self, __pyx_v_shouldpass, __pyx_v_flags); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(PyObject *__pyx_self, PyObject *__pyx_v_shouldpass, PyObject *__pyx_v_flags) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_cur_scope; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_outer_scope; + int __pyx_v_expect_build; + int __pyx_v_expect_seek; + PyObject *__pyx_v_expect_read = NULL; + int64_t __pyx_v_ret; + PyObject *__pyx_v_pybuf = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int64_t __pyx_t_4; + uint64_t __pyx_t_5; + Py_ssize_t __pyx_t_6; + Py_ssize_t __pyx_t_7; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_run_crc_tests", 0); + __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *) __Pyx_CyFunction_GetClosure(__pyx_self); + __pyx_cur_scope = __pyx_outer_scope; + __Pyx_TraceCall("_run_crc_tests", __pyx_f[0], 1266, 0, __PYX_ERR(0, 1266, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1267 + * + * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): + * if shouldpass: # <<<<<<<<<<<<<< + * expect_build = zran.ZRAN_BUILD_INDEX_OK + * expect_seek = zran.ZRAN_SEEK_OK + */ + __Pyx_TraceLine(1267,0,__PYX_ERR(0, 1267, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_shouldpass); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1267, __pyx_L1_error) + if (__pyx_t_1) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1268 + * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): + * if shouldpass: + * expect_build = zran.ZRAN_BUILD_INDEX_OK # <<<<<<<<<<<<<< + * expect_seek = zran.ZRAN_SEEK_OK + * expect_read = dsize + */ + __Pyx_TraceLine(1268,0,__PYX_ERR(0, 1268, __pyx_L1_error)) + __pyx_v_expect_build = ZRAN_BUILD_INDEX_OK; + + /* "indexed_gzip/tests/ctest_zran.pyx":1269 + * if shouldpass: + * expect_build = zran.ZRAN_BUILD_INDEX_OK + * expect_seek = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< + * expect_read = dsize + * else: + */ + __Pyx_TraceLine(1269,0,__PYX_ERR(0, 1269, __pyx_L1_error)) + __pyx_v_expect_seek = ZRAN_SEEK_OK; + + /* "indexed_gzip/tests/ctest_zran.pyx":1270 + * expect_build = zran.ZRAN_BUILD_INDEX_OK + * expect_seek = zran.ZRAN_SEEK_OK + * expect_read = dsize # <<<<<<<<<<<<<< + * else: + * expect_build = zran.ZRAN_BUILD_INDEX_CRC_ERROR + */ + __Pyx_TraceLine(1270,0,__PYX_ERR(0, 1270, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v_dsize)) { __Pyx_RaiseClosureNameError("dsize"); __PYX_ERR(0, 1270, __pyx_L1_error) } + __Pyx_INCREF(__pyx_cur_scope->__pyx_v_dsize); + __pyx_v_expect_read = __pyx_cur_scope->__pyx_v_dsize; + + /* "indexed_gzip/tests/ctest_zran.pyx":1267 + * + * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): + * if shouldpass: # <<<<<<<<<<<<<< + * expect_build = zran.ZRAN_BUILD_INDEX_OK + * expect_seek = zran.ZRAN_SEEK_OK + */ + goto __pyx_L3; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1272 + * expect_read = dsize + * else: + * expect_build = zran.ZRAN_BUILD_INDEX_CRC_ERROR # <<<<<<<<<<<<<< + * expect_seek = zran.ZRAN_SEEK_CRC_ERROR + * expect_read = zran.ZRAN_READ_CRC_ERROR + */ + __Pyx_TraceLine(1272,0,__PYX_ERR(0, 1272, __pyx_L1_error)) + /*else*/ { + __pyx_v_expect_build = ZRAN_BUILD_INDEX_CRC_ERROR; + + /* "indexed_gzip/tests/ctest_zran.pyx":1273 + * else: + * expect_build = zran.ZRAN_BUILD_INDEX_CRC_ERROR + * expect_seek = zran.ZRAN_SEEK_CRC_ERROR # <<<<<<<<<<<<<< + * expect_read = zran.ZRAN_READ_CRC_ERROR + * + */ + __Pyx_TraceLine(1273,0,__PYX_ERR(0, 1273, __pyx_L1_error)) + __pyx_v_expect_seek = ZRAN_SEEK_CRC_ERROR; + + /* "indexed_gzip/tests/ctest_zran.pyx":1274 + * expect_build = zran.ZRAN_BUILD_INDEX_CRC_ERROR + * expect_seek = zran.ZRAN_SEEK_CRC_ERROR + * expect_read = zran.ZRAN_READ_CRC_ERROR # <<<<<<<<<<<<<< + * + * # CRC validation should occur on the first + */ + __Pyx_TraceLine(1274,0,__PYX_ERR(0, 1274, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyInt_From_int(ZRAN_READ_CRC_ERROR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_v_expect_read = __pyx_t_2; + __pyx_t_2 = 0; + } + __pyx_L3:; + + /* "indexed_gzip/tests/ctest_zran.pyx":1290 + * # and on the constants used in + * # _zran_estimate_offset + * _zran_init(flags) # <<<<<<<<<<<<<< + * ret = zran.zran_build_index(&index, 0, 0) + * assert ret == expect_build, ret + */ + __Pyx_TraceLine(1290,0,__PYX_ERR(0, 1290, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v__zran_init)) { __Pyx_RaiseClosureNameError("_zran_init"); __PYX_ERR(0, 1290, __pyx_L1_error) } + __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(__pyx_cur_scope->__pyx_v__zran_init, __pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1290, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1291 + * # _zran_estimate_offset + * _zran_init(flags) + * ret = zran.zran_build_index(&index, 0, 0) # <<<<<<<<<<<<<< + * assert ret == expect_build, ret + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1291,0,__PYX_ERR(0, 1291, __pyx_L1_error)) + __pyx_v_ret = zran_build_index((&__pyx_cur_scope->__pyx_v_index), 0, 0); + + /* "indexed_gzip/tests/ctest_zran.pyx":1292 + * _zran_init(flags) + * ret = zran.zran_build_index(&index, 0, 0) + * assert ret == expect_build, ret # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1292,0,__PYX_ERR(0, 1292, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_ret == __pyx_v_expect_build) != 0))) { + __pyx_t_2 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1292, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1292, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); + __pyx_t_2 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __PYX_ERR(0, 1292, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1293 + * ret = zran.zran_build_index(&index, 0, 0) + * assert ret == expect_build, ret + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * # error if we try to seek + */ + __Pyx_TraceLine(1293,0,__PYX_ERR(0, 1293, __pyx_L1_error)) + zran_free((&__pyx_cur_scope->__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1296 + * + * # error if we try to seek + * _zran_init(flags) # <<<<<<<<<<<<<< + * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) + * assert ret == expect_seek, ret + */ + __Pyx_TraceLine(1296,0,__PYX_ERR(0, 1296, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v__zran_init)) { __Pyx_RaiseClosureNameError("_zran_init"); __PYX_ERR(0, 1296, __pyx_L1_error) } + __pyx_t_3 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(__pyx_cur_scope->__pyx_v__zran_init, __pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1296, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1297 + * # error if we try to seek + * _zran_init(flags) + * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) # <<<<<<<<<<<<<< + * assert ret == expect_seek, ret + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1297,0,__PYX_ERR(0, 1297, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v_dsize)) { __Pyx_RaiseClosureNameError("dsize"); __PYX_ERR(0, 1297, __pyx_L1_error) } + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_cur_scope->__pyx_v_dsize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1297, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = __Pyx_PyInt_As_int64_t(__pyx_t_3); if (unlikely((__pyx_t_4 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1297, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_v_ret = zran_seek((&__pyx_cur_scope->__pyx_v_index), __pyx_t_4, SEEK_SET, NULL); + + /* "indexed_gzip/tests/ctest_zran.pyx":1298 + * _zran_init(flags) + * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) + * assert ret == expect_seek, ret # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1298,0,__PYX_ERR(0, 1298, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_ret == __pyx_v_expect_seek) != 0))) { + __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1298, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1298, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); + __pyx_t_3 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 1298, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1299 + * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) + * assert ret == expect_seek, ret + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * # error if we try to read + */ + __Pyx_TraceLine(1299,0,__PYX_ERR(0, 1299, __pyx_L1_error)) + zran_free((&__pyx_cur_scope->__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1302 + * + * # error if we try to read + * _zran_init(flags) # <<<<<<<<<<<<<< + * ret = zran.zran_read(&index, buffer, dsize) + * assert ret == expect_read, ret + */ + __Pyx_TraceLine(1302,0,__PYX_ERR(0, 1302, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v__zran_init)) { __Pyx_RaiseClosureNameError("_zran_init"); __PYX_ERR(0, 1302, __pyx_L1_error) } + __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(__pyx_cur_scope->__pyx_v__zran_init, __pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1302, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1303 + * # error if we try to read + * _zran_init(flags) + * ret = zran.zran_read(&index, buffer, dsize) # <<<<<<<<<<<<<< + * assert ret == expect_read, ret + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1303,0,__PYX_ERR(0, 1303, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v_dsize)) { __Pyx_RaiseClosureNameError("dsize"); __PYX_ERR(0, 1303, __pyx_L1_error) } + __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_cur_scope->__pyx_v_dsize); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1303, __pyx_L1_error) + __pyx_v_ret = zran_read((&__pyx_cur_scope->__pyx_v_index), __pyx_cur_scope->__pyx_v_buffer, __pyx_t_5); + + /* "indexed_gzip/tests/ctest_zran.pyx":1304 + * _zran_init(flags) + * ret = zran.zran_read(&index, buffer, dsize) + * assert ret == expect_read, ret # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1304,0,__PYX_ERR(0, 1304, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_v_expect_read, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1304, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) { + __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); + __pyx_t_3 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 1304, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1305 + * ret = zran.zran_read(&index, buffer, dsize) + * assert ret == expect_read, ret + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * if shouldpass: + */ + __Pyx_TraceLine(1305,0,__PYX_ERR(0, 1305, __pyx_L1_error)) + zran_free((&__pyx_cur_scope->__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1307 + * zran.zran_free(&index) + * + * if shouldpass: # <<<<<<<<<<<<<< + * pybuf = (buffer)[:dsize] + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) + */ + __Pyx_TraceLine(1307,0,__PYX_ERR(0, 1307, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_shouldpass); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1307, __pyx_L1_error) + if (__pyx_t_1) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1308 + * + * if shouldpass: + * pybuf = (buffer)[:dsize] # <<<<<<<<<<<<<< + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) + * + */ + __Pyx_TraceLine(1308,0,__PYX_ERR(0, 1308, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v_dsize)) { __Pyx_RaiseClosureNameError("dsize"); __PYX_ERR(0, 1308, __pyx_L1_error) } + __Pyx_INCREF(__pyx_cur_scope->__pyx_v_dsize); + __pyx_t_2 = __pyx_cur_scope->__pyx_v_dsize; + __pyx_t_1 = (__pyx_t_2 == Py_None); + if (__pyx_t_1) { + __pyx_t_6 = PY_SSIZE_T_MAX; + } else { + __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1308, __pyx_L1_error) + __pyx_t_6 = __pyx_t_7; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_cur_scope->__pyx_v_buffer) + 0, __pyx_t_6 - 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __pyx_t_2; + __Pyx_INCREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_pybuf = ((PyObject*)__pyx_t_3); + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1309 + * if shouldpass: + * pybuf = (buffer)[:dsize] + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) # <<<<<<<<<<<<<< + * + * def wrap(val): + */ + __Pyx_TraceLine(1309,0,__PYX_ERR(0, 1309, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_all); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_pybuf); + __Pyx_GIVEREF(__pyx_v_pybuf); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_pybuf); + __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_uint32); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_dtype, __pyx_t_12) < 0) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_cur_scope->__pyx_v_data)) { __Pyx_RaiseClosureNameError("data"); __PYX_ERR(0, 1309, __pyx_L1_error) } + __pyx_t_10 = PyObject_RichCompare(__pyx_t_12, __pyx_cur_scope->__pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __pyx_t_12 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { + __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); + if (likely(__pyx_t_12)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); + __Pyx_INCREF(__pyx_t_12); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_8, function); + } + } + __pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_12, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10); + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1309, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1309, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1307 + * zran.zran_free(&index) + * + * if shouldpass: # <<<<<<<<<<<<<< + * pybuf = (buffer)[:dsize] + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1266 + * flags) + * + * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): # <<<<<<<<<<<<<< + * if shouldpass: + * expect_build = zran.ZRAN_BUILD_INDEX_OK + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation._run_crc_tests", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_expect_read); + __Pyx_XDECREF(__pyx_v_pybuf); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1311 + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) + * + * def wrap(val): # <<<<<<<<<<<<<< + * return val % 255 + * + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap(PyObject *__pyx_self, PyObject *__pyx_v_val); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap = {"wrap", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap(PyObject *__pyx_self, PyObject *__pyx_v_val) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("wrap (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_self, ((PyObject *)__pyx_v_val)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("wrap", 0); + __Pyx_TraceCall("wrap", __pyx_f[0], 1311, 0, __PYX_ERR(0, 1311, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1312 + * + * def wrap(val): + * return val % 255 # <<<<<<<<<<<<<< + * + * # data/crc is good, all should be well + */ + __Pyx_TraceLine(1312,0,__PYX_ERR(0, 1312, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = __Pyx_PyInt_RemainderObjC(__pyx_v_val, __pyx_int_255, 0xFF, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1312, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1311 + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) + * + * def wrap(val): # <<<<<<<<<<<<<< + * return val % 255 + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1240 + * + * + * def test_crc_validation(concat): # <<<<<<<<<<<<<< + * """Basic test of CRC validation. """ + * + */ + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_cur_scope; + PyObject *__pyx_v_strmoffs = NULL; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; + PyObject *__pyx_v__run_crc_tests = 0; + PyObject *__pyx_v_wrap = 0; + PyObject *__pyx_v_off = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *(*__pyx_t_7)(PyObject *); + void *__pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + PyObject *(*__pyx_t_11)(PyObject *); + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__50) + __Pyx_RefNannySetupContext("test_crc_validation", 0); + __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 1240, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __Pyx_TraceCall("test_crc_validation", __pyx_f[0], 1240, 0, __PYX_ERR(0, 1240, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1249 + * # use uint32 so there are lots of zeros, + * # and so there is something to compress + * dsize = 1048576 * 10 # <<<<<<<<<<<<<< + * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) + */ + __Pyx_TraceLine(1249,0,__PYX_ERR(0, 1249, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_10485760); + __Pyx_GIVEREF(__pyx_int_10485760); + __pyx_cur_scope->__pyx_v_dsize = __pyx_int_10485760; + + /* "indexed_gzip/tests/ctest_zran.pyx":1250 + * # and so there is something to compress + * dsize = 1048576 * 10 + * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) # <<<<<<<<<<<<<< + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) + * buf = ReadBuffer(dsize) + */ + __Pyx_TraceLine(1250,0,__PYX_ERR(0, 1250, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_FloorDivideObjC(__pyx_cur_scope->__pyx_v_dsize, __pyx_int_4, 4, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); + __Pyx_INCREF(__pyx_int_255); + __Pyx_GIVEREF(__pyx_int_255); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_255); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GIVEREF(__pyx_t_5); + __pyx_cur_scope->__pyx_v_data = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1251 + * dsize = 1048576 * 10 + * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) # <<<<<<<<<<<<<< + * buf = ReadBuffer(dsize) + * buffer = buf.buffer + */ + __Pyx_TraceLine(1251,0,__PYX_ERR(0, 1251, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_compress_inmem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_v_concat}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_v_concat}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_t_3); + __Pyx_INCREF(__pyx_v_concat); + __Pyx_GIVEREF(__pyx_v_concat); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_concat); + __pyx_t_3 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { + PyObject* sequence = __pyx_t_5; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1251, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_2 = PyList_GET_ITEM(sequence, 0); + __pyx_t_4 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; + index = 0; __pyx_t_2 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) __PYX_ERR(0, 1251, __pyx_L1_error) + __pyx_t_7 = NULL; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L4_unpacking_done; + __pyx_L3_unpacking_failed:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1251, __pyx_L1_error) + __pyx_L4_unpacking_done:; + } + __Pyx_GIVEREF(__pyx_t_2); + __pyx_cur_scope->__pyx_v_cmpdata = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_strmoffs = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1252 + * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) + * buf = ReadBuffer(dsize) # <<<<<<<<<<<<<< + * buffer = buf.buffer + * f = [None] # to prevent gc + */ + __Pyx_TraceLine(1252,0,__PYX_ERR(0, 1252, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_cur_scope->__pyx_v_dsize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1252, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1253 + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) + * buf = ReadBuffer(dsize) + * buffer = buf.buffer # <<<<<<<<<<<<<< + * f = [None] # to prevent gc + * + */ + __Pyx_TraceLine(1253,0,__PYX_ERR(0, 1253, __pyx_L1_error)) + __pyx_t_8 = __pyx_v_buf->buffer; + __pyx_cur_scope->__pyx_v_buffer = __pyx_t_8; + + /* "indexed_gzip/tests/ctest_zran.pyx":1254 + * buf = ReadBuffer(dsize) + * buffer = buf.buffer + * f = [None] # to prevent gc # <<<<<<<<<<<<<< + * + * def _zran_init(flags): + */ + __Pyx_TraceLine(1254,0,__PYX_ERR(0, 1254, __pyx_L1_error)) + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1254, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyList_SET_ITEM(__pyx_t_5, 0, Py_None); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_cur_scope->__pyx_v_f = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1256 + * f = [None] # to prevent gc + * + * def _zran_init(flags): # <<<<<<<<<<<<<< + * f[0] = BytesIO(cmpdata) + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(1256,0,__PYX_ERR(0, 1256, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init, 0, __pyx_n_s_test_crc_validation_locals__zran, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1256, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_cur_scope->__pyx_v__zran_init = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1266 + * flags) + * + * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): # <<<<<<<<<<<<<< + * if shouldpass: + * expect_build = zran.ZRAN_BUILD_INDEX_OK + */ + __Pyx_TraceLine(1266,0,__PYX_ERR(0, 1266, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests, 0, __pyx_n_s_test_crc_validation_locals__run, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1266, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (!__Pyx_CyFunction_InitDefaults(__pyx_t_5, sizeof(__pyx_defaults), 1)) __PYX_ERR(0, 1266, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_AUTO_BUILD); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1266, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_5)->__pyx_arg_flags = __pyx_t_4; + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_5, __pyx_pf_12indexed_gzip_5tests_10ctest_zran_66__defaults__); + __pyx_v__run_crc_tests = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1311 + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) + * + * def wrap(val): # <<<<<<<<<<<<<< + * return val % 255 + * + */ + __Pyx_TraceLine(1311,0,__PYX_ERR(0, 1311, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap, 0, __pyx_n_s_test_crc_validation_locals_wrap, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_wrap = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1315 + * + * # data/crc is good, all should be well + * _run_crc_tests(True) # <<<<<<<<<<<<<< + * + * # corrupt the size, we should get an error + */ + __Pyx_TraceLine(1315,0,__PYX_ERR(0, 1315, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v__run_crc_tests, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1315, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1318 + * + * # corrupt the size, we should get an error + * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size # <<<<<<<<<<<<<< + * _run_crc_tests(False) + * + */ + __Pyx_TraceLine(1318,0,__PYX_ERR(0, 1318, __pyx_L1_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1318, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1318, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1318, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1318, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1319 + * # corrupt the size, we should get an error + * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size + * _run_crc_tests(False) # <<<<<<<<<<<<<< + * + * # corrupt the crc, we should get an error + */ + __Pyx_TraceLine(1319,0,__PYX_ERR(0, 1319, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v__run_crc_tests, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1319, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1322 + * + * # corrupt the crc, we should get an error + * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value # <<<<<<<<<<<<<< + * cmpdata[-5] = wrap(cmpdata[-5] + 1) # corrupt crc + * _run_crc_tests(False) + */ + __Pyx_TraceLine(1322,0,__PYX_ERR(0, 1322, __pyx_L1_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1322, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1322, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1322, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1322, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1323 + * # corrupt the crc, we should get an error + * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value + * cmpdata[-5] = wrap(cmpdata[-5] + 1) # corrupt crc # <<<<<<<<<<<<<< + * _run_crc_tests(False) + * + */ + __Pyx_TraceLine(1323,0,__PYX_ERR(0, 1323, __pyx_L1_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1323, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1323, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1324 + * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value + * cmpdata[-5] = wrap(cmpdata[-5] + 1) # corrupt crc + * _run_crc_tests(False) # <<<<<<<<<<<<<< + * + * # Corrupt a different stream, if we have more than one + */ + __Pyx_TraceLine(1324,0,__PYX_ERR(0, 1324, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v__run_crc_tests, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1324, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1327 + * + * # Corrupt a different stream, if we have more than one + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value # <<<<<<<<<<<<<< + * if len(strmoffs) > 1: + * for off in strmoffs[1:]: + */ + __Pyx_TraceLine(1327,0,__PYX_ERR(0, 1327, __pyx_L1_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1327, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1327, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1327, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1327, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1328 + * # Corrupt a different stream, if we have more than one + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value + * if len(strmoffs) > 1: # <<<<<<<<<<<<<< + * for off in strmoffs[1:]: + * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) + */ + __Pyx_TraceLine(1328,0,__PYX_ERR(0, 1328, __pyx_L1_error)) + __pyx_t_9 = PyObject_Length(__pyx_v_strmoffs); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1328, __pyx_L1_error) + __pyx_t_10 = ((__pyx_t_9 > 1) != 0); + if (__pyx_t_10) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1329 + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value + * if len(strmoffs) > 1: + * for off in strmoffs[1:]: # <<<<<<<<<<<<<< + * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) + * _run_crc_tests(False) + */ + __Pyx_TraceLine(1329,0,__PYX_ERR(0, 1329, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_strmoffs, 1, 0, NULL, NULL, &__pyx_slice__59, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { + __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_9 = 0; + __pyx_t_11 = NULL; + } else { + __pyx_t_9 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1329, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + for (;;) { + if (likely(!__pyx_t_11)) { + if (likely(PyList_CheckExact(__pyx_t_4))) { + if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1329, __pyx_L1_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } else { + if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_4)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1329, __pyx_L1_error) + #else + __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + #endif + } + } else { + __pyx_t_5 = __pyx_t_11(__pyx_t_4); + if (unlikely(!__pyx_t_5)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1329, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_5); + } + __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1330 + * if len(strmoffs) > 1: + * for off in strmoffs[1:]: + * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) # <<<<<<<<<<<<<< + * _run_crc_tests(False) + * cmpdata[off-1] = wrap(cmpdata[off-1] - 1) + */ + __Pyx_TraceLine(1330,0,__PYX_ERR(0, 1330, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_off, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_cmpdata, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_off, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1330, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + if (unlikely(PyObject_SetItem(__pyx_cur_scope->__pyx_v_cmpdata, __pyx_t_5, __pyx_t_2) < 0)) __PYX_ERR(0, 1330, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1331 + * for off in strmoffs[1:]: + * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) + * _run_crc_tests(False) # <<<<<<<<<<<<<< + * cmpdata[off-1] = wrap(cmpdata[off-1] - 1) + * + */ + __Pyx_TraceLine(1331,0,__PYX_ERR(0, 1331, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v__run_crc_tests, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1331, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1332 + * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) + * _run_crc_tests(False) + * cmpdata[off-1] = wrap(cmpdata[off-1] - 1) # <<<<<<<<<<<<<< + * + * # Disable CRC, all should be well, even with a corrupt CRC/size + */ + __Pyx_TraceLine(1332,0,__PYX_ERR(0, 1332, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_off, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_cmpdata, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_off, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1332, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (unlikely(PyObject_SetItem(__pyx_cur_scope->__pyx_v_cmpdata, __pyx_t_2, __pyx_t_5) < 0)) __PYX_ERR(0, 1332, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1329 + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value + * if len(strmoffs) > 1: + * for off in strmoffs[1:]: # <<<<<<<<<<<<<< + * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) + * _run_crc_tests(False) + */ + __Pyx_TraceLine(1329,0,__PYX_ERR(0, 1329, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1328 + * # Corrupt a different stream, if we have more than one + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value + * if len(strmoffs) > 1: # <<<<<<<<<<<<<< + * for off in strmoffs[1:]: + * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1336 + * # Disable CRC, all should be well, even with a corrupt CRC/size + * # First test with good data + * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) # <<<<<<<<<<<<<< + * + * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size + */ + __Pyx_TraceLine(1336,0,__PYX_ERR(0, 1336, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int((ZRAN_AUTO_BUILD | ZRAN_SKIP_CRC_CHECK)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1336, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(__pyx_v__run_crc_tests, Py_True, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1336, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1338 + * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) + * + * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size # <<<<<<<<<<<<<< + * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) + * + */ + __Pyx_TraceLine(1338,0,__PYX_ERR(0, 1338, __pyx_L1_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1338, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1339 + * + * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size + * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) # <<<<<<<<<<<<<< + * + * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value + */ + __Pyx_TraceLine(1339,0,__PYX_ERR(0, 1339, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyInt_From_int((ZRAN_AUTO_BUILD | ZRAN_SKIP_CRC_CHECK)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1339, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(__pyx_v__run_crc_tests, Py_True, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1339, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1341 + * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) + * + * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value # <<<<<<<<<<<<<< + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # corrupt crc + * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) + */ + __Pyx_TraceLine(1341,0,__PYX_ERR(0, 1341, __pyx_L1_error)) + __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1341, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1341, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1341, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1341, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1342 + * + * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # corrupt crc # <<<<<<<<<<<<<< + * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) + * + */ + __Pyx_TraceLine(1342,0,__PYX_ERR(0, 1342, __pyx_L1_error)) + __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1342, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1342, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1342, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1342, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1343 + * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # corrupt crc + * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1343,0,__PYX_ERR(0, 1343, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_From_int((ZRAN_AUTO_BUILD | ZRAN_SKIP_CRC_CHECK)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(__pyx_v__run_crc_tests, Py_True, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1343, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1240 + * + * + * def test_crc_validation(concat): # <<<<<<<<<<<<<< + * """Basic test of CRC validation. """ + * + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_strmoffs); + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v__run_crc_tests); + __Pyx_XDECREF(__pyx_v_wrap); + __Pyx_XDECREF(__pyx_v_off); + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1346 + * + * + * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< + * """Make sure standard usage works with files that have null-padding after + * the GZIP footer. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding(PyObject *__pyx_self, PyObject *__pyx_v_concat); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding[] = "Make sure standard usage works with files that have null-padding after\n the GZIP footer.\n\n See https://www.gnu.org/software/gzip/manual/gzip.html#Tapes\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding = {"test_standard_usage_with_null_padding", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding, METH_O, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding(PyObject *__pyx_self, PyObject *__pyx_v_concat) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_standard_usage_with_null_padding (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding(__pyx_self, ((PyObject *)__pyx_v_concat)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1391 + * + * + * def _zran_init(): # <<<<<<<<<<<<<< + * f[0] = BytesIO(paddedcmpdata) + * assert not zran.zran_init(&index, + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init = {"_zran_init", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init, METH_NOARGS, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("_zran_init (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(PyObject *__pyx_self) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *__pyx_cur_scope; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *__pyx_outer_scope; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("_zran_init", 0); + __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *) __Pyx_CyFunction_GetClosure(__pyx_self); + __pyx_cur_scope = __pyx_outer_scope; + __Pyx_TraceCall("_zran_init", __pyx_f[0], 1391, 0, __PYX_ERR(0, 1391, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1392 + * + * def _zran_init(): + * f[0] = BytesIO(paddedcmpdata) # <<<<<<<<<<<<<< + * assert not zran.zran_init(&index, + * NULL, + */ + __Pyx_TraceLine(1392,0,__PYX_ERR(0, 1392, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (unlikely(!__pyx_cur_scope->__pyx_v_paddedcmpdata)) { __Pyx_RaiseClosureNameError("paddedcmpdata"); __PYX_ERR(0, 1392, __pyx_L1_error) } + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_cur_scope->__pyx_v_paddedcmpdata) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_cur_scope->__pyx_v_paddedcmpdata); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_cur_scope->__pyx_v_f)) { __Pyx_RaiseClosureNameError("f"); __PYX_ERR(0, 1392, __pyx_L1_error) } + if (unlikely(__pyx_cur_scope->__pyx_v_f == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1392, __pyx_L1_error) + } + if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_f, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 1392, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1393 + * def _zran_init(): + * f[0] = BytesIO(paddedcmpdata) + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL, + * f[0], + */ + __Pyx_TraceLine(1393,0,__PYX_ERR(0, 1393, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1395 + * assert not zran.zran_init(&index, + * NULL, + * f[0], # <<<<<<<<<<<<<< + * 1048576, + * 32768, + */ + __Pyx_TraceLine(1395,0,__PYX_ERR(0, 1395, __pyx_L1_error)) + if (unlikely(!__pyx_cur_scope->__pyx_v_f)) { __Pyx_RaiseClosureNameError("f"); __PYX_ERR(0, 1395, __pyx_L1_error) } + if (unlikely(__pyx_cur_scope->__pyx_v_f == Py_None)) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); + __PYX_ERR(0, 1395, __pyx_L1_error) + } + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_cur_scope->__pyx_v_f, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1395, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + + /* "indexed_gzip/tests/ctest_zran.pyx":1393 + * def _zran_init(): + * f[0] = BytesIO(paddedcmpdata) + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL, + * f[0], + */ + __Pyx_TraceLine(1393,0,__PYX_ERR(0, 1393, __pyx_L1_error)) + if (unlikely(!((!(zran_init((&__pyx_cur_scope->__pyx_v_index), NULL, ((PyObject *)__pyx_t_1), 0x100000, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1393, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1391 + * + * + * def _zran_init(): # <<<<<<<<<<<<<< + * f[0] = BytesIO(paddedcmpdata) + * assert not zran.zran_init(&index, + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_standard_usage_with_null_padding._zran_init", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1346 + * + * + * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< + * """Make sure standard usage works with files that have null-padding after + * the GZIP footer. + */ + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *__pyx_cur_scope; + void *__pyx_v_buffer; + int64_t __pyx_v_ret; + PyObject *__pyx_v_dsize = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_cmpdata = NULL; + PyObject *__pyx_v_strmoffs = NULL; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; + PyObject *__pyx_v_padding = NULL; + PyObject *__pyx_v_padoff = NULL; + PyObject *__pyx_v_last = NULL; + PyObject *__pyx_v_off = NULL; + PyObject *__pyx_v_pad = NULL; + PyObject *__pyx_v_strm = NULL; + PyObject *__pyx_v__zran_init = 0; + PyObject *__pyx_v_pybuf = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *(*__pyx_t_7)(PyObject *); + void *__pyx_t_8; + Py_ssize_t __pyx_t_9; + PyObject *(*__pyx_t_10)(PyObject *); + Py_ssize_t __pyx_t_11; + int __pyx_t_12; + Py_ssize_t __pyx_t_13; + Py_ssize_t __pyx_t_14; + PyObject *__pyx_t_15 = NULL; + int64_t __pyx_t_16; + uint64_t __pyx_t_17; + PyObject *__pyx_t_18 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__60) + __Pyx_RefNannySetupContext("test_standard_usage_with_null_padding", 0); + __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, __pyx_empty_tuple, NULL); + if (unlikely(!__pyx_cur_scope)) { + __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)Py_None); + __Pyx_INCREF(Py_None); + __PYX_ERR(0, 1346, __pyx_L1_error) + } else { + __Pyx_GOTREF(__pyx_cur_scope); + } + __Pyx_TraceCall("test_standard_usage_with_null_padding", __pyx_f[0], 1346, 0, __PYX_ERR(0, 1346, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1358 + * # use uint32 so there are lots of zeros, + * # and so there is something to compress + * dsize = 1048576 * 10 # <<<<<<<<<<<<<< + * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) + */ + __Pyx_TraceLine(1358,0,__PYX_ERR(0, 1358, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_10485760); + __pyx_v_dsize = __pyx_int_10485760; + + /* "indexed_gzip/tests/ctest_zran.pyx":1359 + * # and so there is something to compress + * dsize = 1048576 * 10 + * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) # <<<<<<<<<<<<<< + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) + * buf = ReadBuffer(dsize) + */ + __Pyx_TraceLine(1359,0,__PYX_ERR(0, 1359, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_dsize, __pyx_int_4, 4, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(__pyx_int_0); + __Pyx_GIVEREF(__pyx_int_0); + PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); + __Pyx_INCREF(__pyx_int_255); + __Pyx_GIVEREF(__pyx_int_255); + PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_255); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_data = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1360 + * dsize = 1048576 * 10 + * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) # <<<<<<<<<<<<<< + * buf = ReadBuffer(dsize) + * buffer = buf.buffer + */ + __Pyx_TraceLine(1360,0,__PYX_ERR(0, 1360, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_compress_inmem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_v_concat}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_v_concat}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_4 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + if (__pyx_t_1) { + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; + } + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_t_3); + __Pyx_INCREF(__pyx_v_concat); + __Pyx_GIVEREF(__pyx_v_concat); + PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_concat); + __pyx_t_3 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { + PyObject* sequence = __pyx_t_5; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1360, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_2 = PyList_GET_ITEM(sequence, 0); + __pyx_t_4 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(__pyx_t_4); + #else + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1360, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; + index = 0; __pyx_t_2 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; + __Pyx_GOTREF(__pyx_t_4); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) __PYX_ERR(0, 1360, __pyx_L1_error) + __pyx_t_7 = NULL; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L4_unpacking_done; + __pyx_L3_unpacking_failed:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1360, __pyx_L1_error) + __pyx_L4_unpacking_done:; + } + __pyx_v_cmpdata = __pyx_t_2; + __pyx_t_2 = 0; + __pyx_v_strmoffs = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1361 + * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) + * buf = ReadBuffer(dsize) # <<<<<<<<<<<<<< + * buffer = buf.buffer + * f = [None] # to prevent gc + */ + __Pyx_TraceLine(1361,0,__PYX_ERR(0, 1361, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_v_dsize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1361, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1362 + * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) + * buf = ReadBuffer(dsize) + * buffer = buf.buffer # <<<<<<<<<<<<<< + * f = [None] # to prevent gc + * + */ + __Pyx_TraceLine(1362,0,__PYX_ERR(0, 1362, __pyx_L1_error)) + __pyx_t_8 = __pyx_v_buf->buffer; + __pyx_v_buffer = __pyx_t_8; + + /* "indexed_gzip/tests/ctest_zran.pyx":1363 + * buf = ReadBuffer(dsize) + * buffer = buf.buffer + * f = [None] # to prevent gc # <<<<<<<<<<<<<< + * + * # random amount of padding for each stream + */ + __Pyx_TraceLine(1363,0,__PYX_ERR(0, 1363, __pyx_L1_error)) + __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1363, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(Py_None); + __Pyx_GIVEREF(Py_None); + PyList_SET_ITEM(__pyx_t_5, 0, Py_None); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_cur_scope->__pyx_v_f = ((PyObject*)__pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1366 + * + * # random amount of padding for each stream + * padding = np.random.randint(1, 100, len(strmoffs)) # <<<<<<<<<<<<<< + * + * # new compressed data - bytearrays + */ + __Pyx_TraceLine(1366,0,__PYX_ERR(0, 1366, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = PyObject_Length(__pyx_v_strmoffs); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1366, __pyx_L1_error) + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_1, __pyx_int_100, __pyx_t_2}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_1, __pyx_int_100, __pyx_t_2}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } else + #endif + { + __pyx_t_1 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_int_1); + __Pyx_GIVEREF(__pyx_int_1); + PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_6, __pyx_int_1); + __Pyx_INCREF(__pyx_int_100); + __Pyx_GIVEREF(__pyx_int_100); + PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_6, __pyx_int_100); + __Pyx_GIVEREF(__pyx_t_2); + PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_6, __pyx_t_2); + __pyx_t_2 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_padding = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1370 + * # new compressed data - bytearrays + * # are initialised to contain all 0s + * paddedcmpdata = bytearray(len(cmpdata) + padding.sum()) # <<<<<<<<<<<<<< + * + * # copy old unpadded compressed data + */ + __Pyx_TraceLine(1370,0,__PYX_ERR(0, 1370, __pyx_L1_error)) + __pyx_t_9 = PyObject_Length(__pyx_v_cmpdata); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1370, __pyx_L1_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1370, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_padding, __pyx_n_s_sum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1370, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1370, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1370, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1370, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GIVEREF(__pyx_t_4); + __pyx_cur_scope->__pyx_v_paddedcmpdata = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1374 + * # copy old unpadded compressed data + * # into new padded compressed data + * padoff = 0 # offset into padded data # <<<<<<<<<<<<<< + * last = 0 # offset to end of last copied stream in unpadded data + * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) + */ + __Pyx_TraceLine(1374,0,__PYX_ERR(0, 1374, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_v_padoff = __pyx_int_0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1375 + * # into new padded compressed data + * padoff = 0 # offset into padded data + * last = 0 # offset to end of last copied stream in unpadded data # <<<<<<<<<<<<<< + * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) + * for off, pad in zip(strmoffs, padding): + */ + __Pyx_TraceLine(1375,0,__PYX_ERR(0, 1375, __pyx_L1_error)) + __Pyx_INCREF(__pyx_int_0); + __pyx_v_last = __pyx_int_0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1376 + * padoff = 0 # offset into padded data + * last = 0 # offset to end of last copied stream in unpadded data + * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) # <<<<<<<<<<<<<< + * for off, pad in zip(strmoffs, padding): + * + */ + __Pyx_TraceLine(1376,0,__PYX_ERR(0, 1376, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Padding_streams_orig_size, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1376, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_9 = PyObject_Length(__pyx_v_cmpdata); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1376, __pyx_L1_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1376, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1376, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1376, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1377 + * last = 0 # offset to end of last copied stream in unpadded data + * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) + * for off, pad in zip(strmoffs, padding): # <<<<<<<<<<<<<< + * + * strm = cmpdata[last:off] + */ + __Pyx_TraceLine(1377,0,__PYX_ERR(0, 1377, __pyx_L1_error)) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_strmoffs); + __Pyx_GIVEREF(__pyx_v_strmoffs); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_strmoffs); + __Pyx_INCREF(__pyx_v_padding); + __Pyx_GIVEREF(__pyx_v_padding); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_padding); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { + __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; + __pyx_t_10 = NULL; + } else { + __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1377, __pyx_L1_error) + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + for (;;) { + if (likely(!__pyx_t_10)) { + if (likely(PyList_CheckExact(__pyx_t_1))) { + if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1377, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } else { + if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1377, __pyx_L1_error) + #else + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + #endif + } + } else { + __pyx_t_4 = __pyx_t_10(__pyx_t_1); + if (unlikely(!__pyx_t_4)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1377, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_4); + } + if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { + PyObject* sequence = __pyx_t_4; + Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); + if (unlikely(size != 2)) { + if (size > 2) __Pyx_RaiseTooManyValuesError(2); + else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); + __PYX_ERR(0, 1377, __pyx_L1_error) + } + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + if (likely(PyTuple_CheckExact(sequence))) { + __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); + __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); + } else { + __pyx_t_5 = PyList_GET_ITEM(sequence, 0); + __pyx_t_2 = PyList_GET_ITEM(sequence, 1); + } + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + #else + __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + #endif + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else { + Py_ssize_t index = -1; + __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; + index = 0; __pyx_t_5 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L7_unpacking_failed; + __Pyx_GOTREF(__pyx_t_5); + index = 1; __pyx_t_2 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L7_unpacking_failed; + __Pyx_GOTREF(__pyx_t_2); + if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) __PYX_ERR(0, 1377, __pyx_L1_error) + __pyx_t_7 = NULL; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_unpacking_done; + __pyx_L7_unpacking_failed:; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_7 = NULL; + if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); + __PYX_ERR(0, 1377, __pyx_L1_error) + __pyx_L8_unpacking_done:; + } + __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); + __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_pad, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1379 + * for off, pad in zip(strmoffs, padding): + * + * strm = cmpdata[last:off] # <<<<<<<<<<<<<< + * + * paddedcmpdata[padoff:padoff + len(strm)] = strm + */ + __Pyx_TraceLine(1379,0,__PYX_ERR(0, 1379, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_cmpdata, 0, 0, &__pyx_v_last, &__pyx_v_off, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1379, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_XDECREF_SET(__pyx_v_strm, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1381 + * strm = cmpdata[last:off] + * + * paddedcmpdata[padoff:padoff + len(strm)] = strm # <<<<<<<<<<<<<< + * + * print(' Copied stream from [{} - {}] to [{} - {}] ({} ' + */ + __Pyx_TraceLine(1381,0,__PYX_ERR(0, 1381, __pyx_L1_error)) + __Pyx_INCREF(__pyx_v_padoff); + __pyx_t_4 = __pyx_v_padoff; + __pyx_t_12 = (__pyx_t_4 == Py_None); + if (__pyx_t_12) { + __pyx_t_11 = 0; + } else { + __pyx_t_13 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_13 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1381, __pyx_L1_error) + __pyx_t_11 = __pyx_t_13; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_13 = PyObject_Length(__pyx_v_strm); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1381, __pyx_L1_error) + __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = PyNumber_Add(__pyx_v_padoff, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1381, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_12 = (__pyx_t_2 == Py_None); + if (__pyx_t_12) { + __pyx_t_13 = PY_SSIZE_T_MAX; + } else { + __pyx_t_14 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_14 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1381, __pyx_L1_error) + __pyx_t_13 = __pyx_t_14; + } + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (__Pyx_PyObject_SetSlice(__pyx_cur_scope->__pyx_v_paddedcmpdata, __pyx_v_strm, __pyx_t_11, __pyx_t_13, NULL, NULL, NULL, 1, 1, 1) < 0) __PYX_ERR(0, 1381, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1384 + * + * print(' Copied stream from [{} - {}] to [{} - {}] ({} ' + * 'padding bytes)'.format( # <<<<<<<<<<<<<< + * last, off, padoff, padoff + len(strm), pad)) + * + */ + __Pyx_TraceLine(1384,0,__PYX_ERR(0, 1384, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Copied_stream_from_to_padding_b, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1384, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + + /* "indexed_gzip/tests/ctest_zran.pyx":1385 + * print(' Copied stream from [{} - {}] to [{} - {}] ({} ' + * 'padding bytes)'.format( + * last, off, padoff, padoff + len(strm), pad)) # <<<<<<<<<<<<<< + * + * padoff += len(strm) + pad + */ + __Pyx_TraceLine(1385,0,__PYX_ERR(0, 1385, __pyx_L1_error)) + __pyx_t_13 = PyObject_Length(__pyx_v_strm); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1385, __pyx_L1_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1385, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = PyNumber_Add(__pyx_v_padoff, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1385, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + __pyx_t_6 = 0; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + __pyx_t_6 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[6] = {__pyx_t_5, __pyx_v_last, __pyx_v_off, __pyx_v_padoff, __pyx_t_3, __pyx_v_pad}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1384, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[6] = {__pyx_t_5, __pyx_v_last, __pyx_v_off, __pyx_v_padoff, __pyx_t_3, __pyx_v_pad}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1384, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_15 = PyTuple_New(5+__pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1384, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_last); + __Pyx_GIVEREF(__pyx_v_last); + PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_6, __pyx_v_last); + __Pyx_INCREF(__pyx_v_off); + __Pyx_GIVEREF(__pyx_v_off); + PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_6, __pyx_v_off); + __Pyx_INCREF(__pyx_v_padoff); + __Pyx_GIVEREF(__pyx_v_padoff); + PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_6, __pyx_v_padoff); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_6, __pyx_t_3); + __Pyx_INCREF(__pyx_v_pad); + __Pyx_GIVEREF(__pyx_v_pad); + PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_6, __pyx_v_pad); + __pyx_t_3 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_15, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1384, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1383 + * paddedcmpdata[padoff:padoff + len(strm)] = strm + * + * print(' Copied stream from [{} - {}] to [{} - {}] ({} ' # <<<<<<<<<<<<<< + * 'padding bytes)'.format( + * last, off, padoff, padoff + len(strm), pad)) + */ + __Pyx_TraceLine(1383,0,__PYX_ERR(0, 1383, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1383, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1387 + * last, off, padoff, padoff + len(strm), pad)) + * + * padoff += len(strm) + pad # <<<<<<<<<<<<<< + * last = off + * + */ + __Pyx_TraceLine(1387,0,__PYX_ERR(0, 1387, __pyx_L1_error)) + __pyx_t_13 = PyObject_Length(__pyx_v_strm); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1387, __pyx_L1_error) + __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1387, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_v_pad); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1387, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_padoff, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1387, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_padoff, __pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1388 + * + * padoff += len(strm) + pad + * last = off # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1388,0,__PYX_ERR(0, 1388, __pyx_L1_error)) + __Pyx_INCREF(__pyx_v_off); + __Pyx_DECREF_SET(__pyx_v_last, __pyx_v_off); + + /* "indexed_gzip/tests/ctest_zran.pyx":1377 + * last = 0 # offset to end of last copied stream in unpadded data + * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) + * for off, pad in zip(strmoffs, padding): # <<<<<<<<<<<<<< + * + * strm = cmpdata[last:off] + */ + __Pyx_TraceLine(1377,0,__PYX_ERR(0, 1377, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1391 + * + * + * def _zran_init(): # <<<<<<<<<<<<<< + * f[0] = BytesIO(paddedcmpdata) + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(1391,0,__PYX_ERR(0, 1391, __pyx_L1_error)) + __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init, 0, __pyx_n_s_test_standard_usage_with_null_pa, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v__zran_init = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1401 + * zran.ZRAN_AUTO_BUILD) + * + * _zran_init() # <<<<<<<<<<<<<< + * ret = zran.zran_build_index(&index, 0, 0) + * assert ret == zran.ZRAN_BUILD_INDEX_OK, ret + */ + __Pyx_TraceLine(1401,0,__PYX_ERR(0, 1401, __pyx_L1_error)) + __pyx_t_1 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(__pyx_v__zran_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1401, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1402 + * + * _zran_init() + * ret = zran.zran_build_index(&index, 0, 0) # <<<<<<<<<<<<<< + * assert ret == zran.ZRAN_BUILD_INDEX_OK, ret + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1402,0,__PYX_ERR(0, 1402, __pyx_L1_error)) + __pyx_v_ret = zran_build_index((&__pyx_cur_scope->__pyx_v_index), 0, 0); + + /* "indexed_gzip/tests/ctest_zran.pyx":1403 + * _zran_init() + * ret = zran.zran_build_index(&index, 0, 0) + * assert ret == zran.ZRAN_BUILD_INDEX_OK, ret # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1403,0,__PYX_ERR(0, 1403, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_ret == ZRAN_BUILD_INDEX_OK) != 0))) { + __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1403, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1403, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); + __pyx_t_1 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 1403, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1404 + * ret = zran.zran_build_index(&index, 0, 0) + * assert ret == zran.ZRAN_BUILD_INDEX_OK, ret + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * _zran_init() + */ + __Pyx_TraceLine(1404,0,__PYX_ERR(0, 1404, __pyx_L1_error)) + zran_free((&__pyx_cur_scope->__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1406 + * zran.zran_free(&index) + * + * _zran_init() # <<<<<<<<<<<<<< + * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) + * assert ret == zran.ZRAN_SEEK_OK, ret + */ + __Pyx_TraceLine(1406,0,__PYX_ERR(0, 1406, __pyx_L1_error)) + __pyx_t_4 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(__pyx_v__zran_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1406, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1407 + * + * _zran_init() + * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) # <<<<<<<<<<<<<< + * assert ret == zran.ZRAN_SEEK_OK, ret + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1407,0,__PYX_ERR(0, 1407, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_dsize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1407, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_16 = __Pyx_PyInt_As_int64_t(__pyx_t_4); if (unlikely((__pyx_t_16 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1407, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_v_ret = zran_seek((&__pyx_cur_scope->__pyx_v_index), __pyx_t_16, SEEK_SET, NULL); + + /* "indexed_gzip/tests/ctest_zran.pyx":1408 + * _zran_init() + * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) + * assert ret == zran.ZRAN_SEEK_OK, ret # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1408,0,__PYX_ERR(0, 1408, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_ret == ZRAN_SEEK_OK) != 0))) { + __pyx_t_4 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1408, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); + __pyx_t_4 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 1408, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1409 + * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) + * assert ret == zran.ZRAN_SEEK_OK, ret + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * _zran_init() + */ + __Pyx_TraceLine(1409,0,__PYX_ERR(0, 1409, __pyx_L1_error)) + zran_free((&__pyx_cur_scope->__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1411 + * zran.zran_free(&index) + * + * _zran_init() # <<<<<<<<<<<<<< + * ret = zran.zran_read(&index, buffer, dsize) + * assert ret == dsize, ret + */ + __Pyx_TraceLine(1411,0,__PYX_ERR(0, 1411, __pyx_L1_error)) + __pyx_t_1 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(__pyx_v__zran_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1411, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1412 + * + * _zran_init() + * ret = zran.zran_read(&index, buffer, dsize) # <<<<<<<<<<<<<< + * assert ret == dsize, ret + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1412,0,__PYX_ERR(0, 1412, __pyx_L1_error)) + __pyx_t_17 = __Pyx_PyInt_As_uint64_t(__pyx_v_dsize); if (unlikely((__pyx_t_17 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1412, __pyx_L1_error) + __pyx_v_ret = zran_read((&__pyx_cur_scope->__pyx_v_index), __pyx_v_buffer, __pyx_t_17); + + /* "indexed_gzip/tests/ctest_zran.pyx":1413 + * _zran_init() + * ret = zran.zran_read(&index, buffer, dsize) + * assert ret == dsize, ret # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1413,0,__PYX_ERR(0, 1413, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1413, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_dsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1413, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1413, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_12)) { + __pyx_t_4 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1413, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1413, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); + __pyx_t_4 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 1413, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1414 + * ret = zran.zran_read(&index, buffer, dsize) + * assert ret == dsize, ret + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * pybuf = (buffer)[:dsize] + */ + __Pyx_TraceLine(1414,0,__PYX_ERR(0, 1414, __pyx_L1_error)) + zran_free((&__pyx_cur_scope->__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1416 + * zran.zran_free(&index) + * + * pybuf = (buffer)[:dsize] # <<<<<<<<<<<<<< + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) + * + */ + __Pyx_TraceLine(1416,0,__PYX_ERR(0, 1416, __pyx_L1_error)) + __Pyx_INCREF(__pyx_v_dsize); + __pyx_t_1 = __pyx_v_dsize; + __pyx_t_12 = (__pyx_t_1 == Py_None); + if (__pyx_t_12) { + __pyx_t_9 = PY_SSIZE_T_MAX; + } else { + __pyx_t_13 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_13 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1416, __pyx_L1_error) + __pyx_t_9 = __pyx_t_13; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, __pyx_t_9 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1416, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __pyx_t_1; + __Pyx_INCREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_pybuf = ((PyObject*)__pyx_t_4); + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1417 + * + * pybuf = (buffer)[:dsize] + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1417,0,__PYX_ERR(0, 1417, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_all); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_pybuf); + __Pyx_GIVEREF(__pyx_v_pybuf); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_pybuf); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_uint32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_18) < 0) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_18); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_t_18, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; + __pyx_t_18 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_18)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_18); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_4 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_18, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1417, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_12)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1417, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1346 + * + * + * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< + * """Make sure standard usage works with files that have null-padding after + * the GZIP footer. + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_18); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_standard_usage_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_dsize); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_cmpdata); + __Pyx_XDECREF(__pyx_v_strmoffs); + __Pyx_XDECREF((PyObject *)__pyx_v_buf); + __Pyx_XDECREF(__pyx_v_padding); + __Pyx_XDECREF(__pyx_v_padoff); + __Pyx_XDECREF(__pyx_v_last); + __Pyx_XDECREF(__pyx_v_off); + __Pyx_XDECREF(__pyx_v_pad); + __Pyx_XDECREF(__pyx_v_strm); + __Pyx_XDECREF(__pyx_v__zran_init); + __Pyx_XDECREF(__pyx_v_pybuf); + __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1421 + * + * # pauldmccarthy/indexed_gzip#82 + * def test_inflateInit_leak_on_error(): # <<<<<<<<<<<<<< + * """Make sure memory is not leaked after a successful call to + * inflateInit2(), but then a failure on subsequent zlib calls. + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error[] = "Make sure memory is not leaked after a successful call to\n inflateInit2(), but then a failure on subsequent zlib calls.\n "; +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error = {"test_inflateInit_leak_on_error", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error, METH_NOARGS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_inflateInit_leak_on_error (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error(__pyx_self); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error(CYTHON_UNUSED PyObject *__pyx_self) { + zran_index_t __pyx_v_index; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_iters = NULL; + PyObject *__pyx_v_mem = NULL; + PyObject *__pyx_v_i = NULL; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + Py_ssize_t __pyx_t_6; + PyObject *(*__pyx_t_7)(PyObject *); + int __pyx_t_8; + int __pyx_t_9; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__62) + __Pyx_RefNannySetupContext("test_inflateInit_leak_on_error", 0); + __Pyx_TraceCall("test_inflateInit_leak_on_error", __pyx_f[0], 1421, 0, __PYX_ERR(0, 1421, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1431 + * # We can target the first call by passing a file containing random noise. + * # I haven't yet figured out a reliable way to target the second call. + * f = BytesIO(np.arange(1, 100).tobytes()) # <<<<<<<<<<<<<< + * + * iters = np.arange(1, 10000) + */ + __Pyx_TraceLine(1431,0,__PYX_ERR(0, 1431, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1431, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1431, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1431, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1431, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1431, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1431, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1431, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_f = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1433 + * f = BytesIO(np.arange(1, 100).tobytes()) + * + * iters = np.arange(1, 10000) # <<<<<<<<<<<<<< + * mem = np.zeros(10000, dtype=np.uint64) + * + */ + __Pyx_TraceLine(1433,0,__PYX_ERR(0, 1433, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_iters = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1434 + * + * iters = np.arange(1, 10000) + * mem = np.zeros(10000, dtype=np.uint64) # <<<<<<<<<<<<<< + * + * for i in iters: + */ + __Pyx_TraceLine(1434,0,__PYX_ERR(0, 1434, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1434, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1434, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1434, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1434, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1434, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1434, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__65, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1434, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_mem = __pyx_t_5; + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1436 + * mem = np.zeros(10000, dtype=np.uint64) + * + * for i in iters: # <<<<<<<<<<<<<< + * assert not zran.zran_init(&index, + * NULL, + */ + __Pyx_TraceLine(1436,0,__PYX_ERR(0, 1436, __pyx_L1_error)) + if (likely(PyList_CheckExact(__pyx_v_iters)) || PyTuple_CheckExact(__pyx_v_iters)) { + __pyx_t_5 = __pyx_v_iters; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0; + __pyx_t_7 = NULL; + } else { + __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_iters); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1436, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1436, __pyx_L1_error) + } + for (;;) { + if (likely(!__pyx_t_7)) { + if (likely(PyList_CheckExact(__pyx_t_5))) { + if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1436, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1436, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } else { + if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1436, __pyx_L1_error) + #else + __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1436, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + #endif + } + } else { + __pyx_t_1 = __pyx_t_7(__pyx_t_5); + if (unlikely(!__pyx_t_1)) { + PyObject* exc_type = PyErr_Occurred(); + if (exc_type) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); + else __PYX_ERR(0, 1436, __pyx_L1_error) + } + break; + } + __Pyx_GOTREF(__pyx_t_1); + } + __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1437 + * + * for i in iters: + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * NULL, + * f, + */ + __Pyx_TraceLine(1437,0,__PYX_ERR(0, 1437, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1443 + * 32768, + * 131072, + * zran.ZRAN_AUTO_BUILD) # <<<<<<<<<<<<<< + * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == \ + * zran.ZRAN_SEEK_FAIL + */ + __Pyx_TraceLine(1443,0,__PYX_ERR(0, 1443, __pyx_L1_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), NULL, ((PyObject *)__pyx_v_f), 0x100000, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1437, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1444 + * 131072, + * zran.ZRAN_AUTO_BUILD) + * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == \ # <<<<<<<<<<<<<< + * zran.ZRAN_SEEK_FAIL + * zran.zran_free(&index) + */ + __Pyx_TraceLine(1444,0,__PYX_ERR(0, 1444, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1445 + * zran.ZRAN_AUTO_BUILD) + * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == \ + * zran.ZRAN_SEEK_FAIL # <<<<<<<<<<<<<< + * zran.zran_free(&index) + * + */ + __Pyx_TraceLine(1445,0,__PYX_ERR(0, 1445, __pyx_L1_error)) + if (unlikely(!((zran_seek((&__pyx_v_index), 20, SEEK_SET, NULL) == ZRAN_SEEK_FAIL) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1444, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1446 + * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == \ + * zran.ZRAN_SEEK_FAIL + * zran.zran_free(&index) # <<<<<<<<<<<<<< + * + * if resource is not None: + */ + __Pyx_TraceLine(1446,0,__PYX_ERR(0, 1446, __pyx_L1_error)) + zran_free((&__pyx_v_index)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1448 + * zran.zran_free(&index) + * + * if resource is not None: # <<<<<<<<<<<<<< + * mem[i] = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss + * + */ + __Pyx_TraceLine(1448,0,__PYX_ERR(0, 1448, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_resource); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1448, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_8 = (__pyx_t_1 != Py_None); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = (__pyx_t_8 != 0); + if (__pyx_t_9) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1449 + * + * if resource is not None: + * mem[i] = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss # <<<<<<<<<<<<<< + * + * # We expect to see some small growth in memory + */ + __Pyx_TraceLine(1449,0,__PYX_ERR(0, 1449, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1449, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getrusage); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1449, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1449, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_RUSAGE_SELF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1449, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1449, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ru_maxrss); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1449, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(PyObject_SetItem(__pyx_v_mem, __pyx_v_i, __pyx_t_3) < 0)) __PYX_ERR(0, 1449, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1448 + * zran.zran_free(&index) + * + * if resource is not None: # <<<<<<<<<<<<<< + * mem[i] = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss + * + */ + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1436 + * mem = np.zeros(10000, dtype=np.uint64) + * + * for i in iters: # <<<<<<<<<<<<<< + * assert not zran.zran_init(&index, + * NULL, + */ + __Pyx_TraceLine(1436,0,__PYX_ERR(0, 1436, __pyx_L1_error)) + } + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1454 + * # usage for the first few iterations, but then + * # it should remain stable + * mem = mem[5:] # <<<<<<<<<<<<<< + * assert np.all(mem == mem[0]) + * + */ + __Pyx_TraceLine(1454,0,__PYX_ERR(0, 1454, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_mem, 5, 0, NULL, NULL, &__pyx_slice__66, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1454, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF_SET(__pyx_v_mem, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1455 + * # it should remain stable + * mem = mem[5:] + * assert np.all(mem == mem[0]) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1455,0,__PYX_ERR(0, 1455, __pyx_L1_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1455, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1455, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_mem, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1455, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_RichCompare(__pyx_v_mem, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1455, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1455, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1455, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1455, __pyx_L1_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1421 + * + * # pauldmccarthy/indexed_gzip#82 + * def test_inflateInit_leak_on_error(): # <<<<<<<<<<<<<< + * """Make sure memory is not leaked after a successful call to + * inflateInit2(), but then a failure on subsequent zlib calls. + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_inflateInit_leak_on_error", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_iters); + __Pyx_XDECREF(__pyx_v_mem); + __Pyx_XDECREF(__pyx_v_i); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "indexed_gzip/tests/ctest_zran.pyx":1459 + * + * # pauldmccarthy/indexed_gzip#80 + * def test_read_eof_memmove_rotate_bug(seed): # <<<<<<<<<<<<<< + * + * # This bug was triggered by the read buffer rotation + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug(PyObject *__pyx_self, PyObject *__pyx_v_seed); /*proto*/ +static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug = {"test_read_eof_memmove_rotate_bug", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug, METH_O, 0}; +static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug(PyObject *__pyx_self, PyObject *__pyx_v_seed) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("test_read_eof_memmove_rotate_bug (wrapper)", 0); + __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_64test_read_eof_memmove_rotate_bug(__pyx_self, ((PyObject *)__pyx_v_seed)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_64test_read_eof_memmove_rotate_bug(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_seed) { + zran_index_t __pyx_v_index; + FILE *__pyx_v_cfid; + PyObject *__pyx_v_nelems = NULL; + PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_f = NULL; + PyObject *__pyx_v_fsize = NULL; + PyObject *__pyx_v_readbuf_size = NULL; + PyObject *__pyx_v_pyfid = NULL; + PyObject *__pyx_v_eof = NULL; + int __pyx_v_got; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyObject *__pyx_t_9 = NULL; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; + PyObject *__pyx_t_13 = NULL; + PyObject *__pyx_t_14 = NULL; + int __pyx_t_15; + int __pyx_t_16; + int __pyx_t_17; + uint32_t __pyx_t_18; + int64_t __pyx_t_19; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceFrameInit(__pyx_codeobj__67) + __Pyx_RefNannySetupContext("test_read_eof_memmove_rotate_bug", 0); + __Pyx_TraceCall("test_read_eof_memmove_rotate_bug", __pyx_f[0], 1459, 0, __PYX_ERR(0, 1459, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":1481 + * cdef FILE *cfid + * + * with tempdir(): # <<<<<<<<<<<<<< + * nelems = np.random.randint(524288, 525000, 1)[0] + * data = np.random.random(nelems) + */ + __Pyx_TraceLine(1481,0,__PYX_ERR(0, 1481, __pyx_L1_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1481, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1481, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); + __Pyx_XGOTREF(__pyx_t_6); + __Pyx_XGOTREF(__pyx_t_7); + __Pyx_XGOTREF(__pyx_t_8); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":1482 + * + * with tempdir(): + * nelems = np.random.randint(524288, 525000, 1)[0] # <<<<<<<<<<<<<< + * data = np.random.random(nelems) + * with gzip.open('test.gz', 'wb') as f: + */ + __Pyx_TraceLine(1482,0,__PYX_ERR(0, 1482, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1482, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1482, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_nelems = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1483 + * with tempdir(): + * nelems = np.random.randint(524288, 525000, 1)[0] + * data = np.random.random(nelems) # <<<<<<<<<<<<<< + * with gzip.open('test.gz', 'wb') as f: + * f.write(data.tobytes()) + */ + __Pyx_TraceLine(1483,0,__PYX_ERR(0, 1483, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1483, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1483, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1483, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_nelems) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_nelems); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1483, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_data = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1484 + * nelems = np.random.randint(524288, 525000, 1)[0] + * data = np.random.random(nelems) + * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + __Pyx_TraceLine(1484,0,__PYX_ERR(0, 1484, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1484, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1484, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1484, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1484, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1484, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1484, __pyx_L13_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_12); + /*try:*/ { + __pyx_v_f = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1485 + * data = np.random.random(nelems) + * with gzip.open('test.gz', 'wb') as f: + * f.write(data.tobytes()) # <<<<<<<<<<<<<< + * + * fsize = os.stat('test.gz').st_size + */ + __Pyx_TraceLine(1485,0,__PYX_ERR(0, 1485, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1485, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1485, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_13 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_13)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_13); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1485, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1485, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1484 + * nelems = np.random.randint(524288, 525000, 1)[0] + * data = np.random.random(nelems) + * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + } + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + goto __pyx_L22_try_end; + __pyx_L17_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_eof_memmove_rotate_bug", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1484, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1484, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1484, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1484, __pyx_L19_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1484, __pyx_L19_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L18_exception_handled; + } + __pyx_L19_except_error:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + goto __pyx_L7_error; + __pyx_L18_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); + __pyx_L22_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1484, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + } + goto __pyx_L16; + } + __pyx_L16:; + } + goto __pyx_L26; + __pyx_L13_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L26:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1487 + * f.write(data.tobytes()) + * + * fsize = os.stat('test.gz').st_size # <<<<<<<<<<<<<< + * readbuf_size = fsize - 10 + * + */ + __Pyx_TraceLine(1487,0,__PYX_ERR(0, 1487, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1487, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1487, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_kp_s_test_gz) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_test_gz); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1487, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_st_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1487, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_v_fsize = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1488 + * + * fsize = os.stat('test.gz').st_size + * readbuf_size = fsize - 10 # <<<<<<<<<<<<<< + * + * with open('test.gz', 'rb') as pyfid: + */ + __Pyx_TraceLine(1488,0,__PYX_ERR(0, 1488, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_fsize, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1488, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_v_readbuf_size = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1490 + * readbuf_size = fsize - 10 + * + * with open('test.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index, + */ + __Pyx_TraceLine(1490,0,__PYX_ERR(0, 1490, __pyx_L7_error)) + /*with:*/ { + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1490, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1490, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1490, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1490, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_2; + __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_10); + /*try:*/ { + __pyx_v_pyfid = __pyx_t_1; + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1491 + * + * with open('test.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< + * assert not zran.zran_init(&index, + * cfid, + */ + __Pyx_TraceLine(1491,0,__PYX_ERR(0, 1491, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1491, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1491, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1491, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_cfid = fdopen(__pyx_t_17, ((char const *)"rb")); + + /* "indexed_gzip/tests/ctest_zran.pyx":1492 + * with open('test.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * cfid, + * NULL, + */ + __Pyx_TraceLine(1492,0,__PYX_ERR(0, 1492, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + + /* "indexed_gzip/tests/ctest_zran.pyx":1497 + * 4194304, + * 32768, + * readbuf_size, # <<<<<<<<<<<<<< + * zran.ZRAN_AUTO_BUILD) + * + */ + __Pyx_TraceLine(1497,0,__PYX_ERR(0, 1497, __pyx_L31_error)) + __pyx_t_18 = __Pyx_PyInt_As_uint32_t(__pyx_v_readbuf_size); if (unlikely((__pyx_t_18 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1497, __pyx_L31_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1492 + * with open('test.gz', 'rb') as pyfid: + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< + * cfid, + * NULL, + */ + __Pyx_TraceLine(1492,0,__PYX_ERR(0, 1492, __pyx_L31_error)) + if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_v_cfid, NULL, 0x400000, 0x8000, __pyx_t_18, ZRAN_AUTO_BUILD) != 0)) != 0))) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1492, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1500 + * zran.ZRAN_AUTO_BUILD) + * + * eof = nelems * 8 - 1 # <<<<<<<<<<<<<< + * got = zran.zran_seek(&index, eof, SEEK_SET, NULL) + * + */ + __Pyx_TraceLine(1500,0,__PYX_ERR(0, 1500, __pyx_L31_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1500, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1500, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_eof = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1501 + * + * eof = nelems * 8 - 1 + * got = zran.zran_seek(&index, eof, SEEK_SET, NULL) # <<<<<<<<<<<<<< + * + * assert got == zran.ZRAN_SEEK_OK, got + */ + __Pyx_TraceLine(1501,0,__PYX_ERR(0, 1501, __pyx_L31_error)) + __pyx_t_19 = __Pyx_PyInt_As_int64_t(__pyx_v_eof); if (unlikely((__pyx_t_19 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1501, __pyx_L31_error) + __pyx_v_got = zran_seek((&__pyx_v_index), __pyx_t_19, SEEK_SET, NULL); + + /* "indexed_gzip/tests/ctest_zran.pyx":1503 + * got = zran.zran_seek(&index, eof, SEEK_SET, NULL) + * + * assert got == zran.ZRAN_SEEK_OK, got # <<<<<<<<<<<<<< + * assert zran.zran_tell(&index) == eof + */ + __Pyx_TraceLine(1503,0,__PYX_ERR(0, 1503, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + if (unlikely(!((__pyx_v_got == ZRAN_SEEK_OK) != 0))) { + __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_got); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1503, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1503, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); + __pyx_t_3 = 0; + PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 1503, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1504 + * + * assert got == zran.ZRAN_SEEK_OK, got + * assert zran.zran_tell(&index) == eof # <<<<<<<<<<<<<< + */ + __Pyx_TraceLine(1504,0,__PYX_ERR(0, 1504, __pyx_L31_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1504, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_eof, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1504, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1504, __pyx_L31_error) + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 1504, __pyx_L31_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_zran.pyx":1490 + * readbuf_size = fsize - 10 + * + * with open('test.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index, + */ + } + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L36_try_end; + __pyx_L31_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_eof_memmove_rotate_bug", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1490, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1490, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1490, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1490, __pyx_L33_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_3); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1490, __pyx_L33_except_error) + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + goto __pyx_L32_exception_handled; + } + __pyx_L33_except_error:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + goto __pyx_L7_error; + __pyx_L32_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_XGIVEREF(__pyx_t_10); + __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); + __pyx_L36_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_9) { + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1490, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + } + goto __pyx_L30; + } + __pyx_L30:; + } + goto __pyx_L40; + __pyx_L27_error:; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + goto __pyx_L7_error; + __pyx_L40:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1481 + * cdef FILE *cfid + * + * with tempdir(): # <<<<<<<<<<<<<< + * nelems = np.random.randint(524288, 525000, 1)[0] + * data = np.random.random(nelems) + */ + } + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; + goto __pyx_L12_try_end; + __pyx_L7_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_eof_memmove_rotate_bug", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1481, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1481, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1481, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1481, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 1481, __pyx_L9_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_exception_handled; + } + __pyx_L9_except_error:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + goto __pyx_L1_error; + __pyx_L8_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_6); + __Pyx_XGIVEREF(__pyx_t_7); + __Pyx_XGIVEREF(__pyx_t_8); + __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); + __pyx_L12_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_4) { + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__23, NULL); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } + goto __pyx_L6; + } + __pyx_L6:; + } + goto __pyx_L44; + __pyx_L3_error:; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + goto __pyx_L1_error; + __pyx_L44:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":1459 + * + * # pauldmccarthy/indexed_gzip#80 + * def test_read_eof_memmove_rotate_bug(seed): # <<<<<<<<<<<<<< + * + * # This bug was triggered by the read buffer rotation + */ + + /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_13); + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_eof_memmove_rotate_bug", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF(__pyx_v_nelems); + __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_f); + __Pyx_XDECREF(__pyx_v_fsize); + __Pyx_XDECREF(__pyx_v_readbuf_size); + __Pyx_XDECREF(__pyx_v_pyfid); + __Pyx_XDECREF(__pyx_v_eof); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":735 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); + __Pyx_TraceCall("PyArray_MultiIterNew1", __pyx_f[2], 735, 0, __PYX_ERR(2, 735, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":736 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_TraceLine(736,0,__PYX_ERR(2, 736, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 736, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":735 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":738 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); + __Pyx_TraceCall("PyArray_MultiIterNew2", __pyx_f[2], 738, 0, __PYX_ERR(2, 738, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":739 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_TraceLine(739,0,__PYX_ERR(2, 739, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 739, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":738 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":741 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); + __Pyx_TraceCall("PyArray_MultiIterNew3", __pyx_f[2], 741, 0, __PYX_ERR(2, 741, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":742 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_TraceLine(742,0,__PYX_ERR(2, 742, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 742, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":741 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":744 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); + __Pyx_TraceCall("PyArray_MultiIterNew4", __pyx_f[2], 744, 0, __PYX_ERR(2, 744, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":745 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_TraceLine(745,0,__PYX_ERR(2, 745, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 745, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":744 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":747 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); + __Pyx_TraceCall("PyArray_MultiIterNew5", __pyx_f[2], 747, 0, __PYX_ERR(2, 747, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":748 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + */ + __Pyx_TraceLine(748,0,__PYX_ERR(2, 748, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 748, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":747 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":750 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); + __Pyx_TraceCall("PyDataType_SHAPE", __pyx_f[2], 750, 0, __PYX_ERR(2, 750, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":751 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + __Pyx_TraceLine(751,0,__PYX_ERR(2, 751, __pyx_L1_error)) + __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); + if (__pyx_t_1) { + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":752 + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape # <<<<<<<<<<<<<< + * else: + * return () + */ + __Pyx_TraceLine(752,0,__PYX_ERR(2, 752, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); + __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":751 + * + * cdef inline tuple PyDataType_SHAPE(dtype d): + * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< + * return d.subarray.shape + * else: + */ + } + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":754 + * return d.subarray.shape + * else: + * return () # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(754,0,__PYX_ERR(2, 754, __pyx_L1_error)) + /*else*/ { + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_empty_tuple); + __pyx_r = __pyx_empty_tuple; + goto __pyx_L0; + } + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":750 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("numpy.PyDataType_SHAPE", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":929 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("set_array_base", 0); + __Pyx_TraceCall("set_array_base", __pyx_f[2], 929, 0, __PYX_ERR(2, 929, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":930 + * + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< + * PyArray_SetBaseObject(arr, base) + * + */ + __Pyx_TraceLine(930,0,__PYX_ERR(2, 930, __pyx_L1_error)) + Py_INCREF(__pyx_v_base); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":931 + * cdef inline void set_array_base(ndarray arr, object base): + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + __Pyx_TraceLine(931,0,__PYX_ERR(2, 931, __pyx_L1_error)) + (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":929 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + + /* function exit code */ + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_WriteUnraisable("numpy.set_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":933 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_v_base; + PyObject *__pyx_r = NULL; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_t_1; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("get_array_base", 0); + __Pyx_TraceCall("get_array_base", __pyx_f[2], 933, 0, __PYX_ERR(2, 933, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":934 + * + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< + * if base is NULL: + * return None + */ + __Pyx_TraceLine(934,0,__PYX_ERR(2, 934, __pyx_L1_error)) + __pyx_v_base = PyArray_BASE(__pyx_v_arr); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":935 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + __Pyx_TraceLine(935,0,__PYX_ERR(2, 935, __pyx_L1_error)) + __pyx_t_1 = ((__pyx_v_base == NULL) != 0); + if (__pyx_t_1) { + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":936 + * base = PyArray_BASE(arr) + * if base is NULL: + * return None # <<<<<<<<<<<<<< + * return base + * + */ + __Pyx_TraceLine(936,0,__PYX_ERR(2, 936, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":935 + * cdef inline object get_array_base(ndarray arr): + * base = PyArray_BASE(arr) + * if base is NULL: # <<<<<<<<<<<<<< + * return None + * return base + */ + } + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":937 + * if base is NULL: + * return None + * return base # <<<<<<<<<<<<<< + * + * # Versions of the import_* functions which are more suitable for + */ + __Pyx_TraceLine(937,0,__PYX_ERR(2, 937, __pyx_L1_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_base)); + __pyx_r = ((PyObject *)__pyx_v_base); + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":933 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_AddTraceback("numpy.get_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_TraceReturn(__pyx_r, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":941 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { + int __pyx_r; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_array", 0); + __Pyx_TraceCall("import_array", __pyx_f[2], 941, 0, __PYX_ERR(2, 941, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":942 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + __Pyx_TraceLine(942,0,__PYX_ERR(2, 942, __pyx_L1_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":943 + * cdef inline int import_array() except -1: + * try: + * __pyx_import_array() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") + */ + __Pyx_TraceLine(943,0,__PYX_ERR(2, 943, __pyx_L3_error)) + __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 943, __pyx_L3_error) + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":942 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":944 + * try: + * __pyx_import_array() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.multiarray failed to import") + * + */ + __Pyx_TraceLine(944,0,__PYX_ERR(2, 944, __pyx_L5_except_error)) + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 944, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":945 + * __pyx_import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __Pyx_TraceLine(945,0,__PYX_ERR(2, 945, __pyx_L5_except_error)) + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 945, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(2, 945, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":942 + * # Cython code. + * cdef inline int import_array() except -1: + * try: # <<<<<<<<<<<<<< + * __pyx_import_array() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":941 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":947 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { + int __pyx_r; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_umath", 0); + __Pyx_TraceCall("import_umath", __pyx_f[2], 947, 0, __PYX_ERR(2, 947, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":948 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_TraceLine(948,0,__PYX_ERR(2, 948, __pyx_L1_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":949 + * cdef inline int import_umath() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __Pyx_TraceLine(949,0,__PYX_ERR(2, 949, __pyx_L3_error)) + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 949, __pyx_L3_error) + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":948 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":950 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __Pyx_TraceLine(950,0,__PYX_ERR(2, 950, __pyx_L5_except_error)) + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 950, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":951 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __Pyx_TraceLine(951,0,__PYX_ERR(2, 951, __pyx_L5_except_error)) + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 951, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(2, 951, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":948 + * + * cdef inline int import_umath() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":947 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":953 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + +static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { + int __pyx_r; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + int __pyx_t_4; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("import_ufunc", 0); + __Pyx_TraceCall("import_ufunc", __pyx_f[2], 953, 0, __PYX_ERR(2, 953, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":954 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_TraceLine(954,0,__PYX_ERR(2, 954, __pyx_L1_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":955 + * cdef inline int import_ufunc() except -1: + * try: + * _import_umath() # <<<<<<<<<<<<<< + * except Exception: + * raise ImportError("numpy.core.umath failed to import") + */ + __Pyx_TraceLine(955,0,__PYX_ERR(2, 955, __pyx_L3_error)) + __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 955, __pyx_L3_error) + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":954 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + } + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":956 + * try: + * _import_umath() + * except Exception: # <<<<<<<<<<<<<< + * raise ImportError("numpy.core.umath failed to import") + * + */ + __Pyx_TraceLine(956,0,__PYX_ERR(2, 956, __pyx_L5_except_error)) + __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_4) { + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 956, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GOTREF(__pyx_t_7); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":957 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef extern from *: + */ + __Pyx_TraceLine(957,0,__PYX_ERR(2, 957, __pyx_L5_except_error)) + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 957, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_Raise(__pyx_t_8, 0, 0, 0); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __PYX_ERR(2, 957, __pyx_L5_except_error) + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":954 + * + * cdef inline int import_ufunc() except -1: + * try: # <<<<<<<<<<<<<< + * _import_umath() + * except Exception: + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; + } + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":953 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + + /* function exit code */ + __pyx_r = 0; + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = -1; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":967 + * + * + * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.timedelta64)` + */ + +static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) { + int __pyx_r; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("is_timedelta64_object", 0); + __Pyx_TraceCall("is_timedelta64_object", __pyx_f[2], 967, 0, __PYX_ERR(2, 967, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":979 + * bool + * """ + * return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(979,0,__PYX_ERR(2, 979, __pyx_L1_error)) + __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type)); + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":967 + * + * + * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.timedelta64)` + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_WriteUnraisable("numpy.is_timedelta64_object", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_r = 0; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":982 + * + * + * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.datetime64)` + */ + +static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) { + int __pyx_r; + __Pyx_TraceDeclarations + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("is_datetime64_object", 0); + __Pyx_TraceCall("is_datetime64_object", __pyx_f[2], 982, 0, __PYX_ERR(2, 982, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":994 + * bool + * """ + * return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(994,0,__PYX_ERR(2, 994, __pyx_L1_error)) + __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type)); + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":982 + * + * + * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.datetime64)` + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_WriteUnraisable("numpy.is_datetime64_object", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); + __pyx_r = 0; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 0); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":997 + * + * + * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy datetime64 object + */ + +static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) { + npy_datetime __pyx_r; + __Pyx_TraceDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceCall("get_datetime64_value", __pyx_f[2], 997, 1, __PYX_ERR(2, 997, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1004 + * also needed. That can be found using `get_datetime64_unit`. + * """ + * return (obj).obval # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1004,1,__PYX_ERR(2, 1004, __pyx_L1_error)) + __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval; + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":997 + * + * + * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy datetime64 object + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_WriteUnraisable("numpy.get_datetime64_value", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); + __pyx_r = 0; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 1); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1007 + * + * + * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy timedelta64 object + */ + +static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) { + npy_timedelta __pyx_r; + __Pyx_TraceDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceCall("get_timedelta64_value", __pyx_f[2], 1007, 1, __PYX_ERR(2, 1007, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1011 + * returns the int64 value underlying scalar numpy timedelta64 object + * """ + * return (obj).obval # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(1011,1,__PYX_ERR(2, 1011, __pyx_L1_error)) + __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval; + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1007 + * + * + * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy timedelta64 object + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_WriteUnraisable("numpy.get_timedelta64_value", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); + __pyx_r = 0; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 1); + return __pyx_r; +} + +/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1014 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + +static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) { + NPY_DATETIMEUNIT __pyx_r; + __Pyx_TraceDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_TraceCall("get_datetime64_unit", __pyx_f[2], 1014, 1, __PYX_ERR(2, 1014, __pyx_L1_error)); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1018 + * returns the unit part of the dtype for a numpy datetime64 object. + * """ + * return (obj).obmeta.base # <<<<<<<<<<<<<< + */ + __Pyx_TraceLine(1018,1,__PYX_ERR(2, 1018, __pyx_L1_error)) + __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base); + goto __pyx_L0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1014 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_WriteUnraisable("numpy.get_datetime64_unit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); + __pyx_r = (NPY_DATETIMEUNIT) 0; + __pyx_L0:; + __Pyx_TraceReturn(Py_None, 1); + return __pyx_r; +} + +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyTypeObject *t, PyObject *a, PyObject *k) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *p; + PyObject *o; + if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { + o = (*t->tp_alloc)(t, 0); + } else { + o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); + } + if (unlikely(!o)) return 0; + p = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)o); + p->mmap_fd = Py_None; Py_INCREF(Py_None); + p->mmap_path = Py_None; Py_INCREF(Py_None); + if (unlikely(__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_1__cinit__(o, a, k) < 0)) goto bad; + return o; + bad: + Py_DECREF(o); o = 0; + return NULL; +} + +static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyObject *o) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)o; + #if CYTHON_USE_TP_FINALIZE + if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { + if (PyObject_CallFinalizerFromDealloc(o)) return; + } + #endif + PyObject_GC_UnTrack(o); + { + PyObject *etype, *eval, *etb; + PyErr_Fetch(&etype, &eval, &etb); + __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); + __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_5__dealloc__(o); + __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); + PyErr_Restore(etype, eval, etb); + } + Py_CLEAR(p->mmap_fd); + Py_CLEAR(p->mmap_path); + (*Py_TYPE(o)->tp_free)(o); +} + +static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)o; + if (p->mmap_fd) { + e = (*v)(p->mmap_fd, a); if (e) return e; + } + if (p->mmap_path) { + e = (*v)(p->mmap_path, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)o; + tmp = ((PyObject*)p->mmap_fd); + p->mmap_fd = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->mmap_path); + p->mmap_path = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyMethodDef __pyx_methods_12indexed_gzip_5tests_10ctest_zran_ReadBuffer[] = { + {"resize", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_3resize, METH_O, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize}, + {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_7__reduce_cython__, METH_NOARGS, 0}, + {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__setstate_cython__, METH_O, 0}, + {0, 0, 0, 0} +}; + +static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.tests.ctest_zran.ReadBuffer", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + "Wrapper around a chunk of memory.\n\n .. see:: http://docs.cython.org/src/tutorial/memory_allocation.html\n ", /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_traverse*/ + __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + __pyx_methods_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__[8]; +static int __pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ = 0; + +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__)))) { + o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__[--__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__]; + memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyObject *o) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v_fd); + Py_CLEAR(p->__pyx_v_th); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__)))) { + __pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__[__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__++] = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)o; + if (p->__pyx_v_fd) { + e = (*v)(p->__pyx_v_fd, a); if (e) return e; + } + if (p->__pyx_v_th) { + e = (*v)(p->__pyx_v_th, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)o; + tmp = ((PyObject*)p->__pyx_v_fd); + p->__pyx_v_fd = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__pyx_v_th); + p->__pyx_v_th = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.tests.ctest_zran.__pyx_scope_struct____cinit__", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, /*tp_traverse*/ + __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn[8]; +static int __pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn = 0; + +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn)))) { + o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn[--__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn]; + memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyObject *o) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v_return_value); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn)))) { + __pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn[__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn++] = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)o; + if (p->__pyx_v_return_value) { + e = (*v)(p->__pyx_v_return_value, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)o; + tmp = ((PyObject*)p->__pyx_v_return_value); + p->__pyx_v_return_value = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.tests.ctest_zran.__pyx_scope_struct_1_return_fn", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, /*tp_traverse*/ + __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation[8]; +static int __pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation = 0; + +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation)))) { + o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation[--__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation]; + memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyObject *o) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v__zran_init); + Py_CLEAR(p->__pyx_v_cmpdata); + Py_CLEAR(p->__pyx_v_data); + Py_CLEAR(p->__pyx_v_dsize); + Py_CLEAR(p->__pyx_v_f); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation)))) { + __pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation[__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation++] = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)o; + if (p->__pyx_v__zran_init) { + e = (*v)(p->__pyx_v__zran_init, a); if (e) return e; + } + if (p->__pyx_v_cmpdata) { + e = (*v)(p->__pyx_v_cmpdata, a); if (e) return e; + } + if (p->__pyx_v_data) { + e = (*v)(p->__pyx_v_data, a); if (e) return e; + } + if (p->__pyx_v_dsize) { + e = (*v)(p->__pyx_v_dsize, a); if (e) return e; + } + if (p->__pyx_v_f) { + e = (*v)(p->__pyx_v_f, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)o; + tmp = ((PyObject*)p->__pyx_v__zran_init); + p->__pyx_v__zran_init = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__pyx_v_cmpdata); + p->__pyx_v_cmpdata = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__pyx_v_data); + p->__pyx_v_data = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__pyx_v_dsize); + p->__pyx_v_dsize = Py_None; Py_INCREF(Py_None); + Py_XDECREF(tmp); + tmp = ((PyObject*)p->__pyx_v_f); + p->__pyx_v_f = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.tests.ctest_zran.__pyx_scope_struct_2_test_crc_validation", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, /*tp_traverse*/ + __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding[8]; +static int __pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding = 0; + +static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { + PyObject *o; + if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding)))) { + o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding[--__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding]; + memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding)); + (void) PyObject_INIT(o, t); + PyObject_GC_Track(o); + } else { + o = (*t->tp_alloc)(t, 0); + if (unlikely(!o)) return 0; + } + return o; +} + +static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyObject *o) { + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)o; + PyObject_GC_UnTrack(o); + Py_CLEAR(p->__pyx_v_f); + Py_CLEAR(p->__pyx_v_paddedcmpdata); + if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding)))) { + __pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding[__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding++] = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)o); + } else { + (*Py_TYPE(o)->tp_free)(o); + } +} + +static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyObject *o, visitproc v, void *a) { + int e; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)o; + if (p->__pyx_v_f) { + e = (*v)(p->__pyx_v_f, a); if (e) return e; + } + return 0; +} + +static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyObject *o) { + PyObject* tmp; + struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)o; + tmp = ((PyObject*)p->__pyx_v_f); + p->__pyx_v_f = ((PyObject*)Py_None); Py_INCREF(Py_None); + Py_XDECREF(tmp); + return 0; +} + +static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding = { + PyVarObject_HEAD_INIT(0, 0) + "indexed_gzip.tests.ctest_zran.__pyx_scope_struct_3_test_standard_usage_with_null_padding", /*tp_name*/ + sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 + 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + #if PY_MAJOR_VERSION < 3 + 0, /*tp_compare*/ + #endif + #if PY_MAJOR_VERSION >= 3 + 0, /*tp_as_async*/ + #endif + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash*/ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ + 0, /*tp_doc*/ + __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, /*tp_traverse*/ + __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, /*tp_clear*/ + 0, /*tp_richcompare*/ + 0, /*tp_weaklistoffset*/ + 0, /*tp_iter*/ + 0, /*tp_iternext*/ + 0, /*tp_methods*/ + 0, /*tp_members*/ + 0, /*tp_getset*/ + 0, /*tp_base*/ + 0, /*tp_dict*/ + 0, /*tp_descr_get*/ + 0, /*tp_descr_set*/ + 0, /*tp_dictoffset*/ + 0, /*tp_init*/ + 0, /*tp_alloc*/ + __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, /*tp_new*/ + 0, /*tp_free*/ + 0, /*tp_is_gc*/ + 0, /*tp_bases*/ + 0, /*tp_mro*/ + 0, /*tp_cache*/ + 0, /*tp_subclasses*/ + 0, /*tp_weaklist*/ + 0, /*tp_del*/ + 0, /*tp_version_tag*/ + #if PY_VERSION_HEX >= 0x030400a1 + 0, /*tp_finalize*/ + #endif + #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, /*tp_vectorcall*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif + #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, /*tp_pypy_flags*/ + #endif +}; + +static PyMethodDef __pyx_methods[] = { + {0, 0, 0, 0} +}; + +#if PY_MAJOR_VERSION >= 3 +#if CYTHON_PEP489_MULTI_PHASE_INIT +static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ +static int __pyx_pymod_exec_ctest_zran(PyObject* module); /*proto*/ +static PyModuleDef_Slot __pyx_moduledef_slots[] = { + {Py_mod_create, (void*)__pyx_pymod_create}, + {Py_mod_exec, (void*)__pyx_pymod_exec_ctest_zran}, + {0, NULL} +}; +#endif + +static struct PyModuleDef __pyx_moduledef = { + PyModuleDef_HEAD_INIT, + "ctest_zran", + 0, /* m_doc */ + #if CYTHON_PEP489_MULTI_PHASE_INIT + 0, /* m_size */ + #else + -1, /* m_size */ + #endif + __pyx_methods /* m_methods */, + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_moduledef_slots, /* m_slots */ + #else + NULL, /* m_reload */ + #endif + NULL, /* m_traverse */ + NULL, /* m_clear */ + NULL /* m_free */ +}; +#endif +#ifndef CYTHON_SMALL_CODE +#if defined(__clang__) + #define CYTHON_SMALL_CODE +#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) + #define CYTHON_SMALL_CODE __attribute__((cold)) +#else + #define CYTHON_SMALL_CODE +#endif +#endif + +static __Pyx_StringTabEntry __pyx_string_tab[] = { + {&__pyx_kp_s_0_2f_seconds, __pyx_k_0_2f_seconds, sizeof(__pyx_k_0_2f_seconds), 0, 0, 1, 0}, + {&__pyx_n_s_BytesIO, __pyx_k_BytesIO, sizeof(__pyx_k_BytesIO), 0, 0, 1, 1}, + {&__pyx_kp_s_Cannot_resize_a_memmapped_array, __pyx_k_Cannot_resize_a_memmapped_array, sizeof(__pyx_k_Cannot_resize_a_memmapped_array), 0, 0, 1, 0}, + {&__pyx_kp_s_Copied_stream_from_to_padding_b, __pyx_k_Copied_stream_from_to_padding_b, sizeof(__pyx_k_Copied_stream_from_to_padding_b), 0, 0, 1, 0}, + {&__pyx_n_s_Error, __pyx_k_Error, sizeof(__pyx_k_Error), 0, 0, 1, 1}, + {&__pyx_kp_s_Error_at_point_d, __pyx_k_Error_at_point_d, sizeof(__pyx_k_Error_at_point_d), 0, 0, 1, 0}, + {&__pyx_kp_b_GZIDX, __pyx_k_GZIDX, sizeof(__pyx_k_GZIDX), 0, 0, 0, 0}, + {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, + {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1}, + {&__pyx_kp_s_Memory_mapping_0_2f_GB, __pyx_k_Memory_mapping_0_2f_GB, sizeof(__pyx_k_Memory_mapping_0_2f_GB), 0, 0, 1, 0}, + {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1}, + {&__pyx_kp_s_Padding_streams_orig_size, __pyx_k_Padding_streams_orig_size, sizeof(__pyx_k_Padding_streams_orig_size), 0, 0, 1, 0}, + {&__pyx_kp_s_PyMem_Realloc_fail, __pyx_k_PyMem_Realloc_fail, sizeof(__pyx_k_PyMem_Realloc_fail), 0, 0, 1, 0}, + {&__pyx_n_s_RUSAGE_SELF, __pyx_k_RUSAGE_SELF, sizeof(__pyx_k_RUSAGE_SELF), 0, 0, 1, 1}, + {&__pyx_n_s_ReadBuffer, __pyx_k_ReadBuffer, sizeof(__pyx_k_ReadBuffer), 0, 0, 1, 1}, + {&__pyx_kp_s_ReadBuffer_init_fail, __pyx_k_ReadBuffer_init_fail, sizeof(__pyx_k_ReadBuffer_init_fail), 0, 0, 1, 0}, + {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, + {&__pyx_n_s_Thread, __pyx_k_Thread, sizeof(__pyx_k_Thread), 0, 0, 1, 1}, + {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, + {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, + {&__pyx_kp_s__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 0, 1, 0}, + {&__pyx_kp_s__35, __pyx_k__35, sizeof(__pyx_k__35), 0, 0, 1, 0}, + {&__pyx_n_s__73, __pyx_k__73, sizeof(__pyx_k__73), 0, 0, 1, 1}, + {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, + {&__pyx_kp_s_a_2, __pyx_k_a_2, sizeof(__pyx_k_a_2), 0, 0, 1, 0}, + {&__pyx_n_b_abc, __pyx_k_abc, sizeof(__pyx_k_abc), 0, 0, 0, 1}, + {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, + {&__pyx_n_s_arange, __pyx_k_arange, sizeof(__pyx_k_arange), 0, 0, 1, 1}, + {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, + {&__pyx_n_s_bmode, __pyx_k_bmode, sizeof(__pyx_k_bmode), 0, 0, 1, 1}, + {&__pyx_n_s_buf, __pyx_k_buf, sizeof(__pyx_k_buf), 0, 0, 1, 1}, + {&__pyx_n_s_bufSize, __pyx_k_bufSize, sizeof(__pyx_k_bufSize), 0, 0, 1, 1}, + {&__pyx_n_s_buffer, __pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 0, 1, 1}, + {&__pyx_n_s_bufsize, __pyx_k_bufsize, sizeof(__pyx_k_bufsize), 0, 0, 1, 1}, + {&__pyx_n_s_bufsizes, __pyx_k_bufsizes, sizeof(__pyx_k_bufsizes), 0, 0, 1, 1}, + {&__pyx_n_s_cfid, __pyx_k_cfid, sizeof(__pyx_k_cfid), 0, 0, 1, 1}, + {&__pyx_n_s_check_data_valid, __pyx_k_check_data_valid, sizeof(__pyx_k_check_data_valid), 0, 0, 1, 1}, + {&__pyx_n_s_cidxfid, __pyx_k_cidxfid, sizeof(__pyx_k_cidxfid), 0, 0, 1, 1}, + {&__pyx_n_s_cinit___locals_initmem, __pyx_k_cinit___locals_initmem, sizeof(__pyx_k_cinit___locals_initmem), 0, 0, 1, 1}, + {&__pyx_n_s_cinit___locals_lambda, __pyx_k_cinit___locals_lambda, sizeof(__pyx_k_cinit___locals_lambda), 0, 0, 1, 1}, + {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, + {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, + {&__pyx_n_s_cmode, __pyx_k_cmode, sizeof(__pyx_k_cmode), 0, 0, 1, 1}, + {&__pyx_n_s_cmpdata, __pyx_k_cmpdata, sizeof(__pyx_k_cmpdata), 0, 0, 1, 1}, + {&__pyx_n_s_compress_inmem, __pyx_k_compress_inmem, sizeof(__pyx_k_compress_inmem), 0, 0, 1, 1}, + {&__pyx_n_s_concat, __pyx_k_concat, sizeof(__pyx_k_concat), 0, 0, 1, 1}, + {&__pyx_n_s_concatenate, __pyx_k_concatenate, sizeof(__pyx_k_concatenate), 0, 0, 1, 1}, + {&__pyx_n_s_contextlib, __pyx_k_contextlib, sizeof(__pyx_k_contextlib), 0, 0, 1, 1}, + {&__pyx_n_s_curelem, __pyx_k_curelem, sizeof(__pyx_k_curelem), 0, 0, 1, 1}, + {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, + {&__pyx_kp_s_data_gz, __pyx_k_data_gz, sizeof(__pyx_k_data_gz), 0, 0, 1, 0}, + {&__pyx_kp_s_data_gz_index, __pyx_k_data_gz_index, sizeof(__pyx_k_data_gz_index), 0, 0, 1, 0}, + {&__pyx_n_b_dbc, __pyx_k_dbc, sizeof(__pyx_k_dbc), 0, 0, 0, 1}, + {&__pyx_n_b_dec, __pyx_k_dec, sizeof(__pyx_k_dec), 0, 0, 0, 1}, + {&__pyx_n_s_dsize, __pyx_k_dsize, sizeof(__pyx_k_dsize), 0, 0, 1, 1}, + {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, + {&__pyx_kp_s_dummy_gz, __pyx_k_dummy_gz, sizeof(__pyx_k_dummy_gz), 0, 0, 1, 0}, + {&__pyx_kp_s_element, __pyx_k_element, sizeof(__pyx_k_element), 0, 0, 1, 0}, + {&__pyx_n_s_elems_read, __pyx_k_elems_read, sizeof(__pyx_k_elems_read), 0, 0, 1, 1}, + {&__pyx_n_s_elems_written, __pyx_k_elems_written, sizeof(__pyx_k_elems_written), 0, 0, 1, 1}, + {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, + {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1}, + {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, + {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1}, + {&__pyx_n_s_eof, __pyx_k_eof, sizeof(__pyx_k_eof), 0, 0, 1, 1}, + {&__pyx_n_s_error_fn, __pyx_k_error_fn, sizeof(__pyx_k_error_fn), 0, 0, 1, 1}, + {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1}, + {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, + {&__pyx_n_s_exp, __pyx_k_exp, sizeof(__pyx_k_exp), 0, 0, 1, 1}, + {&__pyx_n_s_expect_build, __pyx_k_expect_build, sizeof(__pyx_k_expect_build), 0, 0, 1, 1}, + {&__pyx_n_s_expect_read, __pyx_k_expect_read, sizeof(__pyx_k_expect_read), 0, 0, 1, 1}, + {&__pyx_n_s_expect_seek, __pyx_k_expect_seek, sizeof(__pyx_k_expect_seek), 0, 0, 1, 1}, + {&__pyx_n_s_expected, __pyx_k_expected, sizeof(__pyx_k_expected), 0, 0, 1, 1}, + {&__pyx_kp_s_expread, __pyx_k_expread, sizeof(__pyx_k_expread), 0, 0, 1, 0}, + {&__pyx_n_s_expread_2, __pyx_k_expread_2, sizeof(__pyx_k_expread_2), 0, 0, 1, 1}, + {&__pyx_kp_s_expseek, __pyx_k_expseek, sizeof(__pyx_k_expseek), 0, 0, 1, 0}, + {&__pyx_n_s_expseek_2, __pyx_k_expseek_2, sizeof(__pyx_k_expseek_2), 0, 0, 1, 1}, + {&__pyx_kp_s_exptell, __pyx_k_exptell, sizeof(__pyx_k_exptell), 0, 0, 1, 0}, + {&__pyx_n_s_exptell_2, __pyx_k_exptell_2, sizeof(__pyx_k_exptell_2), 0, 0, 1, 1}, + {&__pyx_n_s_expval, __pyx_k_expval, sizeof(__pyx_k_expval), 0, 0, 1, 1}, + {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1}, + {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, + {&__pyx_n_s_fileno, __pyx_k_fileno, sizeof(__pyx_k_fileno), 0, 0, 1, 1}, + {&__pyx_n_s_files, __pyx_k_files, sizeof(__pyx_k_files), 0, 0, 1, 1}, + {&__pyx_n_s_filesize, __pyx_k_filesize, sizeof(__pyx_k_filesize), 0, 0, 1, 1}, + {&__pyx_n_s_flag, __pyx_k_flag, sizeof(__pyx_k_flag), 0, 0, 1, 1}, + {&__pyx_n_s_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 0, 0, 1, 1}, + {&__pyx_n_s_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 0, 0, 1, 1}, + {&__pyx_n_s_fn, __pyx_k_fn, sizeof(__pyx_k_fn), 0, 0, 1, 1}, + {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, + {&__pyx_n_s_frombuffer, __pyx_k_frombuffer, sizeof(__pyx_k_frombuffer), 0, 0, 1, 1}, + {&__pyx_n_s_fsize, __pyx_k_fsize, sizeof(__pyx_k_fsize), 0, 0, 1, 1}, + {&__pyx_kp_s_ftell, __pyx_k_ftell, sizeof(__pyx_k_ftell), 0, 0, 1, 0}, + {&__pyx_n_s_getrusage, __pyx_k_getrusage, sizeof(__pyx_k_getrusage), 0, 0, 1, 1}, + {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, + {&__pyx_n_s_got, __pyx_k_got, sizeof(__pyx_k_got), 0, 0, 1, 1}, + {&__pyx_kp_s_gotread, __pyx_k_gotread, sizeof(__pyx_k_gotread), 0, 0, 1, 0}, + {&__pyx_n_s_gotread_2, __pyx_k_gotread_2, sizeof(__pyx_k_gotread_2), 0, 0, 1, 1}, + {&__pyx_kp_s_gotseek, __pyx_k_gotseek, sizeof(__pyx_k_gotseek), 0, 0, 1, 0}, + {&__pyx_kp_s_gottell, __pyx_k_gottell, sizeof(__pyx_k_gottell), 0, 0, 1, 0}, + {&__pyx_n_s_gottell_2, __pyx_k_gottell_2, sizeof(__pyx_k_gottell_2), 0, 0, 1, 1}, + {&__pyx_n_s_gzip, __pyx_k_gzip, sizeof(__pyx_k_gzip), 0, 0, 1, 1}, + {&__pyx_n_s_hashlib, __pyx_k_hashlib, sizeof(__pyx_k_hashlib), 0, 0, 1, 1}, + {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, + {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1}, + {&__pyx_kp_s_idx_tmp, __pyx_k_idx_tmp, sizeof(__pyx_k_idx_tmp), 0, 0, 1, 0}, + {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, + {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1}, + {&__pyx_n_s_index1, __pyx_k_index1, sizeof(__pyx_k_index1), 0, 0, 1, 1}, + {&__pyx_n_s_index2, __pyx_k_index2, sizeof(__pyx_k_index2), 0, 0, 1, 1}, + {&__pyx_n_s_indexSpacing, __pyx_k_indexSpacing, sizeof(__pyx_k_indexSpacing), 0, 0, 1, 1}, + {&__pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_k_indexed_gzip_tests_ctest_zran, sizeof(__pyx_k_indexed_gzip_tests_ctest_zran), 0, 0, 1, 1}, + {&__pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_k_indexed_gzip_tests_ctest_zran_py, sizeof(__pyx_k_indexed_gzip_tests_ctest_zran_py), 0, 0, 1, 0}, + {&__pyx_n_s_initmem, __pyx_k_initmem, sizeof(__pyx_k_initmem), 0, 0, 1, 1}, + {&__pyx_n_s_inp, __pyx_k_inp, sizeof(__pyx_k_inp), 0, 0, 1, 1}, + {&__pyx_n_s_io, __pyx_k_io, sizeof(__pyx_k_io), 0, 0, 1, 1}, + {&__pyx_n_s_is_alive, __pyx_k_is_alive, sizeof(__pyx_k_is_alive), 0, 0, 1, 1}, + {&__pyx_n_s_it, __pyx_k_it, sizeof(__pyx_k_it), 0, 0, 1, 1}, + {&__pyx_n_s_iters, __pyx_k_iters, sizeof(__pyx_k_iters), 0, 0, 1, 1}, + {&__pyx_n_s_itertools, __pyx_k_itertools, sizeof(__pyx_k_itertools), 0, 0, 1, 1}, + {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, + {&__pyx_n_s_last, __pyx_k_last, sizeof(__pyx_k_last), 0, 0, 1, 1}, + {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, + {&__pyx_n_s_mem, __pyx_k_mem, sizeof(__pyx_k_mem), 0, 0, 1, 1}, + {&__pyx_n_s_mkstemp, __pyx_k_mkstemp, sizeof(__pyx_k_mkstemp), 0, 0, 1, 1}, + {&__pyx_kp_s_mmap_fail, __pyx_k_mmap_fail, sizeof(__pyx_k_mmap_fail), 0, 0, 1, 0}, + {&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1}, + {&__pyx_n_s_modes, __pyx_k_modes, sizeof(__pyx_k_modes), 0, 0, 1, 1}, + {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, + {&__pyx_kp_s_nbytes, __pyx_k_nbytes, sizeof(__pyx_k_nbytes), 0, 0, 1, 0}, + {&__pyx_n_s_nbytes_2, __pyx_k_nbytes_2, sizeof(__pyx_k_nbytes_2), 0, 0, 1, 1}, + {&__pyx_kp_s_nelems, __pyx_k_nelems, sizeof(__pyx_k_nelems), 0, 0, 1, 0}, + {&__pyx_n_s_nelems_2, __pyx_k_nelems_2, sizeof(__pyx_k_nelems_2), 0, 0, 1, 1}, + {&__pyx_n_s_nelemsp, __pyx_k_nelemsp, sizeof(__pyx_k_nelemsp), 0, 0, 1, 1}, + {&__pyx_n_s_niters, __pyx_k_niters, sizeof(__pyx_k_niters), 0, 0, 1, 1}, + {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0}, + {&__pyx_n_s_no_fds, __pyx_k_no_fds, sizeof(__pyx_k_no_fds), 0, 0, 1, 1}, + {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, + {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, + {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, + {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, + {&__pyx_n_s_off, __pyx_k_off, sizeof(__pyx_k_off), 0, 0, 1, 1}, + {&__pyx_n_s_op, __pyx_k_op, sizeof(__pyx_k_op), 0, 0, 1, 1}, + {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1}, + {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, + {&__pyx_n_s_os_path, __pyx_k_os_path, sizeof(__pyx_k_os_path), 0, 0, 1, 1}, + {&__pyx_n_s_out, __pyx_k_out, sizeof(__pyx_k_out), 0, 0, 1, 1}, + {&__pyx_n_s_output, __pyx_k_output, sizeof(__pyx_k_output), 0, 0, 1, 1}, + {&__pyx_n_s_pad, __pyx_k_pad, sizeof(__pyx_k_pad), 0, 0, 1, 1}, + {&__pyx_n_s_paddedcmpdata, __pyx_k_paddedcmpdata, sizeof(__pyx_k_paddedcmpdata), 0, 0, 1, 1}, + {&__pyx_n_s_padding, __pyx_k_padding, sizeof(__pyx_k_padding), 0, 0, 1, 1}, + {&__pyx_n_s_padoff, __pyx_k_padoff, sizeof(__pyx_k_padoff), 0, 0, 1, 1}, + {&__pyx_n_s_poll, __pyx_k_poll, sizeof(__pyx_k_poll), 0, 0, 1, 1}, + {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1}, + {&__pyx_n_s_product, __pyx_k_product, sizeof(__pyx_k_product), 0, 0, 1, 1}, + {&__pyx_n_s_pybuf, __pyx_k_pybuf, sizeof(__pyx_k_pybuf), 0, 0, 1, 1}, + {&__pyx_n_s_pyexportfid, __pyx_k_pyexportfid, sizeof(__pyx_k_pyexportfid), 0, 0, 1, 1}, + {&__pyx_n_s_pyfid, __pyx_k_pyfid, sizeof(__pyx_k_pyfid), 0, 0, 1, 1}, + {&__pyx_n_s_pyidxfid, __pyx_k_pyidxfid, sizeof(__pyx_k_pyidxfid), 0, 0, 1, 1}, + {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1}, + {&__pyx_kp_s_r_2, __pyx_k_r_2, sizeof(__pyx_k_r_2), 0, 0, 1, 0}, + {&__pyx_n_s_randint, __pyx_k_randint, sizeof(__pyx_k_randint), 0, 0, 1, 1}, + {&__pyx_n_s_random, __pyx_k_random, sizeof(__pyx_k_random), 0, 0, 1, 1}, + {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, + {&__pyx_n_s_rb, __pyx_k_rb, sizeof(__pyx_k_rb), 0, 0, 1, 1}, + {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1}, + {&__pyx_n_s_readbufSize, __pyx_k_readbufSize, sizeof(__pyx_k_readbufSize), 0, 0, 1, 1}, + {&__pyx_kp_s_readbuf_mmap, __pyx_k_readbuf_mmap, sizeof(__pyx_k_readbuf_mmap), 0, 0, 1, 0}, + {&__pyx_n_s_readbuf_size, __pyx_k_readbuf_size, sizeof(__pyx_k_readbuf_size), 0, 0, 1, 1}, + {&__pyx_n_s_readbuf_sizes, __pyx_k_readbuf_sizes, sizeof(__pyx_k_readbuf_sizes), 0, 0, 1, 1}, + {&__pyx_kp_s_readelems, __pyx_k_readelems, sizeof(__pyx_k_readelems), 0, 0, 1, 0}, + {&__pyx_n_s_readelems_2, __pyx_k_readelems_2, sizeof(__pyx_k_readelems_2), 0, 0, 1, 1}, + {&__pyx_kp_s_reading_elements_from, __pyx_k_reading_elements_from, sizeof(__pyx_k_reading_elements_from), 0, 0, 1, 0}, + {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, + {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, + {&__pyx_n_s_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 0, 1, 1}, + {&__pyx_n_s_resource, __pyx_k_resource, sizeof(__pyx_k_resource), 0, 0, 1, 1}, + {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1}, + {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1}, + {&__pyx_n_s_return_fn, __pyx_k_return_fn, sizeof(__pyx_k_return_fn), 0, 0, 1, 1}, + {&__pyx_n_s_return_fn_locals_lambda, __pyx_k_return_fn_locals_lambda, sizeof(__pyx_k_return_fn_locals_lambda), 0, 0, 1, 1}, + {&__pyx_n_s_return_value, __pyx_k_return_value, sizeof(__pyx_k_return_value), 0, 0, 1, 1}, + {&__pyx_n_s_ru_maxrss, __pyx_k_ru_maxrss, sizeof(__pyx_k_ru_maxrss), 0, 0, 1, 1}, + {&__pyx_n_s_run_crc_tests, __pyx_k_run_crc_tests, sizeof(__pyx_k_run_crc_tests), 0, 0, 1, 1}, + {&__pyx_n_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 1}, + {&__pyx_n_s_sbi, __pyx_k_sbi, sizeof(__pyx_k_sbi), 0, 0, 1, 1}, + {&__pyx_n_s_se, __pyx_k_se, sizeof(__pyx_k_se), 0, 0, 1, 1}, + {&__pyx_n_s_seed, __pyx_k_seed, sizeof(__pyx_k_seed), 0, 0, 1, 1}, + {&__pyx_n_s_seek, __pyx_k_seek, sizeof(__pyx_k_seek), 0, 0, 1, 1}, + {&__pyx_kp_s_seek_2, __pyx_k_seek_2, sizeof(__pyx_k_seek_2), 0, 0, 1, 0}, + {&__pyx_n_s_seek_point, __pyx_k_seek_point, sizeof(__pyx_k_seek_point), 0, 0, 1, 1}, + {&__pyx_n_s_seek_points, __pyx_k_seek_points, sizeof(__pyx_k_seek_points), 0, 0, 1, 1}, + {&__pyx_n_s_seekable, __pyx_k_seekable, sizeof(__pyx_k_seekable), 0, 0, 1, 1}, + {&__pyx_kp_s_seekelem, __pyx_k_seekelem, sizeof(__pyx_k_seekelem), 0, 0, 1, 0}, + {&__pyx_n_s_seekelems, __pyx_k_seekelems, sizeof(__pyx_k_seekelems), 0, 0, 1, 1}, + {&__pyx_n_s_seekloc, __pyx_k_seekloc, sizeof(__pyx_k_seekloc), 0, 0, 1, 1}, + {&__pyx_n_s_seekpoints, __pyx_k_seekpoints, sizeof(__pyx_k_seekpoints), 0, 0, 1, 1}, + {&__pyx_n_s_seekstep, __pyx_k_seekstep, sizeof(__pyx_k_seekstep), 0, 0, 1, 1}, + {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, + {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, + {&__pyx_kp_s_should_be, __pyx_k_should_be, sizeof(__pyx_k_should_be), 0, 0, 1, 0}, + {&__pyx_n_s_shouldpass, __pyx_k_shouldpass, sizeof(__pyx_k_shouldpass), 0, 0, 1, 1}, + {&__pyx_n_s_shutil, __pyx_k_shutil, sizeof(__pyx_k_shutil), 0, 0, 1, 1}, + {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, + {&__pyx_n_s_sort, __pyx_k_sort, sizeof(__pyx_k_sort), 0, 0, 1, 1}, + {&__pyx_n_s_sp, __pyx_k_sp, sizeof(__pyx_k_sp), 0, 0, 1, 1}, + {&__pyx_kp_s_sp_size, __pyx_k_sp_size, sizeof(__pyx_k_sp_size), 0, 0, 1, 0}, + {&__pyx_n_s_spacing, __pyx_k_spacing, sizeof(__pyx_k_spacing), 0, 0, 1, 1}, + {&__pyx_kp_s_spacing_bufsize, __pyx_k_spacing_bufsize, sizeof(__pyx_k_spacing_bufsize), 0, 0, 1, 0}, + {&__pyx_n_s_spacings, __pyx_k_spacings, sizeof(__pyx_k_spacings), 0, 0, 1, 1}, + {&__pyx_n_s_st_size, __pyx_k_st_size, sizeof(__pyx_k_st_size), 0, 0, 1, 1}, + {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1}, + {&__pyx_n_s_stat, __pyx_k_stat, sizeof(__pyx_k_stat), 0, 0, 1, 1}, + {&__pyx_n_s_strm, __pyx_k_strm, sizeof(__pyx_k_strm), 0, 0, 1, 1}, + {&__pyx_n_s_strmoffs, __pyx_k_strmoffs, sizeof(__pyx_k_strmoffs), 0, 0, 1, 1}, + {&__pyx_n_s_subprocess, __pyx_k_subprocess, sizeof(__pyx_k_subprocess), 0, 0, 1, 1}, + {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1}, + {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, + {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1}, + {&__pyx_n_s_tell, __pyx_k_tell, sizeof(__pyx_k_tell), 0, 0, 1, 1}, + {&__pyx_kp_s_tell_2, __pyx_k_tell_2, sizeof(__pyx_k_tell_2), 0, 0, 1, 0}, + {&__pyx_n_s_tempdir, __pyx_k_tempdir, sizeof(__pyx_k_tempdir), 0, 0, 1, 1}, + {&__pyx_n_s_tempfile, __pyx_k_tempfile, sizeof(__pyx_k_tempfile), 0, 0, 1, 1}, + {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, + {&__pyx_n_s_test_build_then_read, __pyx_k_test_build_then_read, sizeof(__pyx_k_test_build_then_read), 0, 0, 1, 1}, + {&__pyx_n_s_test_crc_validation, __pyx_k_test_crc_validation, sizeof(__pyx_k_test_crc_validation), 0, 0, 1, 1}, + {&__pyx_n_s_test_crc_validation_locals__run, __pyx_k_test_crc_validation_locals__run, sizeof(__pyx_k_test_crc_validation_locals__run), 0, 0, 1, 1}, + {&__pyx_n_s_test_crc_validation_locals__zran, __pyx_k_test_crc_validation_locals__zran, sizeof(__pyx_k_test_crc_validation_locals__zran), 0, 0, 1, 1}, + {&__pyx_n_s_test_crc_validation_locals_wrap, __pyx_k_test_crc_validation_locals_wrap, sizeof(__pyx_k_test_crc_validation_locals_wrap), 0, 0, 1, 1}, + {&__pyx_n_s_test_export_import_format_v0, __pyx_k_test_export_import_format_v0, sizeof(__pyx_k_test_export_import_format_v0), 0, 0, 1, 1}, + {&__pyx_n_s_test_export_import_no_points, __pyx_k_test_export_import_no_points, sizeof(__pyx_k_test_export_import_no_points), 0, 0, 1, 1}, + {&__pyx_n_s_test_export_then_import, __pyx_k_test_export_then_import, sizeof(__pyx_k_test_export_then_import), 0, 0, 1, 1}, + {&__pyx_n_s_test_feof, __pyx_k_test_feof, sizeof(__pyx_k_test_feof), 0, 0, 1, 1}, + {&__pyx_n_s_test_ferror, __pyx_k_test_ferror, sizeof(__pyx_k_test_ferror), 0, 0, 1, 1}, + {&__pyx_n_s_test_fflush, __pyx_k_test_fflush, sizeof(__pyx_k_test_fflush), 0, 0, 1, 1}, + {&__pyx_n_s_test_fread, __pyx_k_test_fread, sizeof(__pyx_k_test_fread), 0, 0, 1, 1}, + {&__pyx_n_s_test_fseek, __pyx_k_test_fseek, sizeof(__pyx_k_test_fseek), 0, 0, 1, 1}, + {&__pyx_n_s_test_ftell, __pyx_k_test_ftell, sizeof(__pyx_k_test_ftell), 0, 0, 1, 1}, + {&__pyx_n_s_test_fwrite, __pyx_k_test_fwrite, sizeof(__pyx_k_test_fwrite), 0, 0, 1, 1}, + {&__pyx_n_s_test_getc, __pyx_k_test_getc, sizeof(__pyx_k_test_getc), 0, 0, 1, 1}, + {&__pyx_kp_s_test_gz, __pyx_k_test_gz, sizeof(__pyx_k_test_gz), 0, 0, 1, 0}, + {&__pyx_n_s_test_inflateInit_leak_on_error, __pyx_k_test_inflateInit_leak_on_error, sizeof(__pyx_k_test_inflateInit_leak_on_error), 0, 0, 1, 1}, + {&__pyx_n_s_test_init, __pyx_k_test_init, sizeof(__pyx_k_test_init), 0, 0, 1, 1}, + {&__pyx_n_s_test_init_file_modes, __pyx_k_test_init_file_modes, sizeof(__pyx_k_test_init_file_modes), 0, 0, 1, 1}, + {&__pyx_n_s_test_no_auto_build, __pyx_k_test_no_auto_build, sizeof(__pyx_k_test_no_auto_build), 0, 0, 1, 1}, + {&__pyx_n_s_test_random_seek, __pyx_k_test_random_seek, sizeof(__pyx_k_test_random_seek), 0, 0, 1, 1}, + {&__pyx_n_s_test_random_seek_and_read, __pyx_k_test_random_seek_and_read, sizeof(__pyx_k_test_random_seek_and_read), 0, 0, 1, 1}, + {&__pyx_n_s_test_read_all, __pyx_k_test_read_all, sizeof(__pyx_k_test_read_all), 0, 0, 1, 1}, + {&__pyx_n_s_test_read_all_sequential, __pyx_k_test_read_all_sequential, sizeof(__pyx_k_test_read_all_sequential), 0, 0, 1, 1}, + {&__pyx_n_s_test_read_eof_memmove_rotate_bug, __pyx_k_test_read_eof_memmove_rotate_bug, sizeof(__pyx_k_test_read_eof_memmove_rotate_bug), 0, 0, 1, 1}, + {&__pyx_n_s_test_readbuf_spacing_sizes, __pyx_k_test_readbuf_spacing_sizes, sizeof(__pyx_k_test_readbuf_spacing_sizes), 0, 0, 1, 1}, + {&__pyx_n_s_test_seek_beyond_end, __pyx_k_test_seek_beyond_end, sizeof(__pyx_k_test_seek_beyond_end), 0, 0, 1, 1}, + {&__pyx_n_s_test_seek_cur, __pyx_k_test_seek_cur, sizeof(__pyx_k_test_seek_cur), 0, 0, 1, 1}, + {&__pyx_n_s_test_seek_end, __pyx_k_test_seek_end, sizeof(__pyx_k_test_seek_end), 0, 0, 1, 1}, + {&__pyx_n_s_test_seek_then_read_block, __pyx_k_test_seek_then_read_block, sizeof(__pyx_k_test_seek_then_read_block), 0, 0, 1, 1}, + {&__pyx_n_s_test_seek_to_end, __pyx_k_test_seek_to_end, sizeof(__pyx_k_test_seek_to_end), 0, 0, 1, 1}, + {&__pyx_n_s_test_seekable, __pyx_k_test_seekable, sizeof(__pyx_k_test_seekable), 0, 0, 1, 1}, + {&__pyx_n_s_test_seekable_locals_lambda, __pyx_k_test_seekable_locals_lambda, sizeof(__pyx_k_test_seekable_locals_lambda), 0, 0, 1, 1}, + {&__pyx_n_s_test_sequential_seek_to_end, __pyx_k_test_sequential_seek_to_end, sizeof(__pyx_k_test_sequential_seek_to_end), 0, 0, 1, 1}, + {&__pyx_n_s_test_standard_usage_with_null_pa, __pyx_k_test_standard_usage_with_null_pa, sizeof(__pyx_k_test_standard_usage_with_null_pa), 0, 0, 1, 1}, + {&__pyx_n_s_test_standard_usage_with_null_pa_2, __pyx_k_test_standard_usage_with_null_pa_2, sizeof(__pyx_k_test_standard_usage_with_null_pa_2), 0, 0, 1, 1}, + {&__pyx_n_s_testfile, __pyx_k_testfile, sizeof(__pyx_k_testfile), 0, 0, 1, 1}, + {&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1}, + {&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1}, + {&__pyx_n_s_tobytes, __pyx_k_tobytes, sizeof(__pyx_k_tobytes), 0, 0, 1, 1}, + {&__pyx_n_s_tostring, __pyx_k_tostring, sizeof(__pyx_k_tostring), 0, 0, 1, 1}, + {&__pyx_n_s_towrite, __pyx_k_towrite, sizeof(__pyx_k_towrite), 0, 0, 1, 1}, + {&__pyx_n_s_uint32, __pyx_k_uint32, sizeof(__pyx_k_uint32), 0, 0, 1, 1}, + {&__pyx_n_s_uint64, __pyx_k_uint64, sizeof(__pyx_k_uint64), 0, 0, 1, 1}, + {&__pyx_n_s_uint8, __pyx_k_uint8, sizeof(__pyx_k_uint8), 0, 0, 1, 1}, + {&__pyx_n_s_use_mmap, __pyx_k_use_mmap, sizeof(__pyx_k_use_mmap), 0, 0, 1, 1}, + {&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1}, + {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1}, + {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1}, + {&__pyx_kp_s_w_2, __pyx_k_w_2, sizeof(__pyx_k_w_2), 0, 0, 1, 0}, + {&__pyx_n_s_wb, __pyx_k_wb, sizeof(__pyx_k_wb), 0, 0, 1, 1}, + {&__pyx_n_s_windowSize, __pyx_k_windowSize, sizeof(__pyx_k_windowSize), 0, 0, 1, 1}, + {&__pyx_n_s_window_sizes, __pyx_k_window_sizes, sizeof(__pyx_k_window_sizes), 0, 0, 1, 1}, + {&__pyx_n_s_wrap, __pyx_k_wrap, sizeof(__pyx_k_wrap), 0, 0, 1, 1}, + {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1}, + {&__pyx_kp_s_x_x, __pyx_k_x_x, sizeof(__pyx_k_x_x), 0, 0, 1, 0}, + {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1}, + {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1}, + {&__pyx_n_s_zran_init, __pyx_k_zran_init, sizeof(__pyx_k_zran_init), 0, 0, 1, 1}, + {&__pyx_n_s_zs, __pyx_k_zs, sizeof(__pyx_k_zs), 0, 0, 1, 1}, + {&__pyx_n_s_zt, __pyx_k_zt, sizeof(__pyx_k_zt), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} +}; +static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { + __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 30, __pyx_L1_error) + __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 98, __pyx_L1_error) + __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(0, 171, __pyx_L1_error) + __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 200, __pyx_L1_error) + __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(0, 210, __pyx_L1_error) + __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(0, 215, __pyx_L1_error) + __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error) + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 309, __pyx_L1_error) + __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 391, __pyx_L1_error) + __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 430, __pyx_L1_error) + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 744, __pyx_L1_error) + __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 829, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); + + /* "indexed_gzip/tests/ctest_zran.pyx":81 + * cdef void *buffer + * + * buf = ReadBuffer(8) # <<<<<<<<<<<<<< + * buffer = buf.buffer + * + */ + __pyx_tuple_ = PyTuple_Pack(1, __pyx_int_8); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 81, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple_); + __Pyx_GIVEREF(__pyx_tuple_); + + /* "indexed_gzip/tests/ctest_zran.pyx":175 + * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) + * + * def initmem(): # <<<<<<<<<<<<<< + * + * towrite = size + */ + __pyx_tuple__2 = PyTuple_Pack(2, __pyx_n_s_towrite, __pyx_n_s_zeros); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 175, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__2); + __Pyx_GIVEREF(__pyx_tuple__2); + __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__2, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_initmem, 175, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 175, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":200 + * + * if self.buffer == MAP_FAILED: + * raise RuntimeError('mmap fail') # <<<<<<<<<<<<<< + * + * if not self.buffer: + */ + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_mmap_fail); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 200, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); + + /* "indexed_gzip/tests/ctest_zran.pyx":203 + * + * if not self.buffer: + * raise RuntimeError('ReadBuffer init fail') # <<<<<<<<<<<<<< + * + * + */ + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_ReadBuffer_init_fail); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 203, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); + + /* "indexed_gzip/tests/ctest_zran.pyx":210 + * + * if self.use_mmap: + * raise NotImplementedError('Cannot resize a memmapped array!') # <<<<<<<<<<<<<< + * + * buf = PyMem_Realloc(self.buffer, size) + */ + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_Cannot_resize_a_memmapped_array); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 210, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); + + /* "indexed_gzip/tests/ctest_zran.pyx":215 + * + * if not buf: + * raise MemoryError('PyMem_Realloc fail') # <<<<<<<<<<<<<< + * + * self.buffer = buf + */ + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_PyMem_Realloc_fail); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 215, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); + + /* "(tree fragment)":2 + * def __reduce_cython__(self): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + */ + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 2, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); + + /* "(tree fragment)":4 + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") + * def __setstate_cython__(self, __pyx_state): + * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< + */ + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 4, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); + + /* "indexed_gzip/tests/ctest_zran.pyx":233 + * + * def error_fn(*args, **kwargs): + * raise Exception("Error") # <<<<<<<<<<<<<< + * + * + */ + __pyx_tuple__11 = PyTuple_Pack(1, __pyx_n_s_Error); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 233, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__11); + __Pyx_GIVEREF(__pyx_tuple__11); + + /* "indexed_gzip/tests/ctest_zran.pyx":391 + * cdef FILE *cfid + * + * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< + * + * cfid = fdopen(pyfid.fileno(), 'rb') + */ + __pyx_tuple__23 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 391, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__23); + __Pyx_GIVEREF(__pyx_tuple__23); + + /* "indexed_gzip/tests/ctest_zran.pyx":1129 + * cdef void *buffer + * + * data = np.random.randint(1, 255, 100, dtype=np.uint8) # <<<<<<<<<<<<<< + * buf = ReadBuffer(100) + * buffer = buf.buffer + */ + __pyx_tuple__42 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_255, __pyx_int_100); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 1129, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__42); + __Pyx_GIVEREF(__pyx_tuple__42); + + /* "indexed_gzip/tests/ctest_zran.pyx":1130 + * + * data = np.random.randint(1, 255, 100, dtype=np.uint8) + * buf = ReadBuffer(100) # <<<<<<<<<<<<<< + * buffer = buf.buffer + * + */ + __pyx_tuple__43 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 1130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__43); + __Pyx_GIVEREF(__pyx_tuple__43); + + /* "indexed_gzip/tests/ctest_zran.pyx":1135 + * with tempdir(): + * + * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * + */ + __pyx_tuple__44 = PyTuple_Pack(2, __pyx_kp_s_data_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 1135, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__44); + __Pyx_GIVEREF(__pyx_tuple__44); + + /* "indexed_gzip/tests/ctest_zran.pyx":1138 + * f.write(data.tostring()) + * + * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert zran.zran_init(&index, + */ + __pyx_tuple__45 = PyTuple_Pack(2, __pyx_kp_s_data_gz, __pyx_n_s_rb); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1138, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__45); + __Pyx_GIVEREF(__pyx_tuple__45); + + /* "indexed_gzip/tests/ctest_zran.pyx":1153 + * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) + * + * with open('data.gz.index', 'wb') as pyidxfid: # <<<<<<<<<<<<<< + * cidxfid = fdopen(pyidxfid.fileno(), 'wb') + * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + */ + __pyx_tuple__46 = PyTuple_Pack(2, __pyx_kp_s_data_gz_index, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 1153, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__46); + __Pyx_GIVEREF(__pyx_tuple__46); + + /* "indexed_gzip/tests/ctest_zran.pyx":1168 + * 0) == 0 + * + * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< + * cidxfid = fdopen(pyidxfid.fileno(), 'rb') + * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 + */ + __pyx_tuple__47 = PyTuple_Pack(2, __pyx_kp_s_data_gz_index, __pyx_n_s_rb); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 1168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__47); + __Pyx_GIVEREF(__pyx_tuple__47); + + /* "indexed_gzip/tests/ctest_zran.pyx":1186 + * cdef int ret + * + * data = np.random.randint(1, 255, 1000000, dtype=np.uint8) # <<<<<<<<<<<<<< + * with tempdir(): + * + */ + __pyx_tuple__49 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_255, __pyx_int_1000000); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 1186, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__49); + __Pyx_GIVEREF(__pyx_tuple__49); + + /* "indexed_gzip/tests/ctest_zran.pyx":1256 + * f = [None] # to prevent gc + * + * def _zran_init(flags): # <<<<<<<<<<<<<< + * f[0] = BytesIO(cmpdata) + * assert not zran.zran_init(&index, + */ + __pyx_tuple__51 = PyTuple_Pack(1, __pyx_n_s_flags); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 1256, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__51); + __Pyx_GIVEREF(__pyx_tuple__51); + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_zran_init, 1256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 1256, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1266 + * flags) + * + * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): # <<<<<<<<<<<<<< + * if shouldpass: + * expect_build = zran.ZRAN_BUILD_INDEX_OK + */ + __pyx_tuple__53 = PyTuple_Pack(7, __pyx_n_s_shouldpass, __pyx_n_s_flags, __pyx_n_s_expect_build, __pyx_n_s_expect_seek, __pyx_n_s_expect_read, __pyx_n_s_ret, __pyx_n_s_pybuf); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1266, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__53); + __Pyx_GIVEREF(__pyx_tuple__53); + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_run_crc_tests, 1266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 1266, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1311 + * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) + * + * def wrap(val): # <<<<<<<<<<<<<< + * return val % 255 + * + */ + __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_val); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1311, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__55); + __Pyx_GIVEREF(__pyx_tuple__55); + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_wrap, 1311, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 1311, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1315 + * + * # data/crc is good, all should be well + * _run_crc_tests(True) # <<<<<<<<<<<<<< + * + * # corrupt the size, we should get an error + */ + __pyx_tuple__57 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 1315, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__57); + __Pyx_GIVEREF(__pyx_tuple__57); + + /* "indexed_gzip/tests/ctest_zran.pyx":1319 + * # corrupt the size, we should get an error + * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size + * _run_crc_tests(False) # <<<<<<<<<<<<<< + * + * # corrupt the crc, we should get an error + */ + __pyx_tuple__58 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 1319, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__58); + __Pyx_GIVEREF(__pyx_tuple__58); + + /* "indexed_gzip/tests/ctest_zran.pyx":1329 + * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value + * if len(strmoffs) > 1: + * for off in strmoffs[1:]: # <<<<<<<<<<<<<< + * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) + * _run_crc_tests(False) + */ + __pyx_slice__59 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__59)) __PYX_ERR(0, 1329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__59); + __Pyx_GIVEREF(__pyx_slice__59); + + /* "indexed_gzip/tests/ctest_zran.pyx":1391 + * + * + * def _zran_init(): # <<<<<<<<<<<<<< + * f[0] = BytesIO(paddedcmpdata) + * assert not zran.zran_init(&index, + */ + __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_zran_init, 1391, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 1391, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1431 + * # We can target the first call by passing a file containing random noise. + * # I haven't yet figured out a reliable way to target the second call. + * f = BytesIO(np.arange(1, 100).tobytes()) # <<<<<<<<<<<<<< + * + * iters = np.arange(1, 10000) + */ + __pyx_tuple__63 = PyTuple_Pack(2, __pyx_int_1, __pyx_int_100); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 1431, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__63); + __Pyx_GIVEREF(__pyx_tuple__63); + + /* "indexed_gzip/tests/ctest_zran.pyx":1433 + * f = BytesIO(np.arange(1, 100).tobytes()) + * + * iters = np.arange(1, 10000) # <<<<<<<<<<<<<< + * mem = np.zeros(10000, dtype=np.uint64) + * + */ + __pyx_tuple__64 = PyTuple_Pack(2, __pyx_int_1, __pyx_int_10000); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 1433, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__64); + __Pyx_GIVEREF(__pyx_tuple__64); + + /* "indexed_gzip/tests/ctest_zran.pyx":1434 + * + * iters = np.arange(1, 10000) + * mem = np.zeros(10000, dtype=np.uint64) # <<<<<<<<<<<<<< + * + * for i in iters: + */ + __pyx_tuple__65 = PyTuple_Pack(1, __pyx_int_10000); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 1434, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__65); + __Pyx_GIVEREF(__pyx_tuple__65); + + /* "indexed_gzip/tests/ctest_zran.pyx":1454 + * # usage for the first few iterations, but then + * # it should remain stable + * mem = mem[5:] # <<<<<<<<<<<<<< + * assert np.all(mem == mem[0]) + * + */ + __pyx_slice__66 = PySlice_New(__pyx_int_5, Py_None, Py_None); if (unlikely(!__pyx_slice__66)) __PYX_ERR(0, 1454, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__66); + __Pyx_GIVEREF(__pyx_slice__66); + + /* "indexed_gzip/tests/ctest_zran.pyx":1482 + * + * with tempdir(): + * nelems = np.random.randint(524288, 525000, 1)[0] # <<<<<<<<<<<<<< + * data = np.random.random(nelems) + * with gzip.open('test.gz', 'wb') as f: + */ + __pyx_tuple__68 = PyTuple_Pack(3, __pyx_int_524288, __pyx_int_525000, __pyx_int_1); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 1482, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__68); + __Pyx_GIVEREF(__pyx_tuple__68); + + /* "indexed_gzip/tests/ctest_zran.pyx":1484 + * nelems = np.random.randint(524288, 525000, 1)[0] + * data = np.random.random(nelems) + * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tobytes()) + * + */ + __pyx_tuple__69 = PyTuple_Pack(2, __pyx_kp_s_test_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 1484, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__69); + __Pyx_GIVEREF(__pyx_tuple__69); + + /* "indexed_gzip/tests/ctest_zran.pyx":1490 + * readbuf_size = fsize - 10 + * + * with open('test.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< + * cfid = fdopen(pyfid.fileno(), 'rb') + * assert not zran.zran_init(&index, + */ + __pyx_tuple__70 = PyTuple_Pack(2, __pyx_kp_s_test_gz, __pyx_n_s_rb); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 1490, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__70); + __Pyx_GIVEREF(__pyx_tuple__70); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":945 + * __pyx_import_array() + * except Exception: + * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_umath() except -1: + */ + __pyx_tuple__71 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(2, 945, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__71); + __Pyx_GIVEREF(__pyx_tuple__71); + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":951 + * _import_umath() + * except Exception: + * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< + * + * cdef inline int import_ufunc() except -1: + */ + __pyx_tuple__72 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(2, 951, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__72); + __Pyx_GIVEREF(__pyx_tuple__72); + + /* "indexed_gzip/tests/ctest_zran.pyx":232 + * + * + * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< + * raise Exception("Error") + * + */ + __pyx_tuple__74 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 232, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__74); + __Pyx_GIVEREF(__pyx_tuple__74); + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_error_fn, 232, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 232, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":236 + * + * + * def return_fn(return_value): # <<<<<<<<<<<<<< + * return lambda *args, **kwargs: return_value + * + */ + __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_return_value); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 236, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__75); + __Pyx_GIVEREF(__pyx_tuple__75); + __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_return_fn, 236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 236, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":240 + * + * + * def test_fread(): # <<<<<<<<<<<<<< + * """Tests Python wrapper C function for fread.""" + * + */ + __pyx_tuple__76 = PyTuple_Pack(4, __pyx_n_s_f, __pyx_n_s_buf, __pyx_n_s_elems_read, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__76); + __Pyx_GIVEREF(__pyx_tuple__76); + __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_fread, 240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 240, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":259 + * + * + * def test_ftell(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 259, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__77); + __Pyx_GIVEREF(__pyx_tuple__77); + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_ftell, 259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 259, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":275 + * + * + * def test_fseek(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __pyx_tuple__78 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 275, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__78); + __Pyx_GIVEREF(__pyx_tuple__78); + __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_fseek, 275, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 275, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":294 + * + * + * def test_feof(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_f); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 294, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__79); + __Pyx_GIVEREF(__pyx_tuple__79); + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_feof, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 294, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":305 + * + * + * def test_ferror(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_s_f); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(0, 305, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__80); + __Pyx_GIVEREF(__pyx_tuple__80); + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_ferror, 305, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 305, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":315 + * + * + * def test_fflush(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 315, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__81); + __Pyx_GIVEREF(__pyx_tuple__81); + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_fflush, 315, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 315, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":329 + * + * + * def test_fwrite(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __pyx_tuple__82 = PyTuple_Pack(5, __pyx_n_s_f, __pyx_n_s_inp, __pyx_n_s_elems_written, __pyx_n_s_fn, __pyx_n_s_result); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__82); + __Pyx_GIVEREF(__pyx_tuple__82); + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_fwrite, 329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 329, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":351 + * + * + * def test_getc(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"dbc") + */ + __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__83); + __Pyx_GIVEREF(__pyx_tuple__83); + __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_getc, 351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 351, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":372 + * + * + * def test_seekable(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_s_f); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(0, 372, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__84); + __Pyx_GIVEREF(__pyx_tuple__84); + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seekable, 372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 372, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":380 + * + * + * def test_init(testfile, no_fds): # <<<<<<<<<<<<<< + * """Tests a bunch of permutations of the parameters to zran_init. """ + * + */ + __pyx_tuple__85 = PyTuple_Pack(15, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_spacings, __pyx_n_s_window_sizes, __pyx_n_s_readbuf_sizes, __pyx_n_s_flags, __pyx_n_s_index, __pyx_n_s_cfid, __pyx_n_s_pyfid, __pyx_n_s_s, __pyx_n_s_w, __pyx_n_s_r, __pyx_n_s_f, __pyx_n_s_result, __pyx_n_s_expected); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 380, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__85); + __Pyx_GIVEREF(__pyx_tuple__85); + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_init, 380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 380, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":418 + * + * + * def test_init_file_modes(testfile, no_fds): # <<<<<<<<<<<<<< + * + * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] + */ + __pyx_tuple__86 = PyTuple_Pack(13, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_modes, __pyx_n_s_files, __pyx_n_s_index, __pyx_n_s_cfid, __pyx_n_s_bmode, __pyx_n_s_cmode, __pyx_n_s_filename, __pyx_n_s_mode, __pyx_n_s_pyfid, __pyx_n_s_expected, __pyx_n_s_result); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__86); + __Pyx_GIVEREF(__pyx_tuple__86); + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_init_file_modes, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 418, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":451 + * + * + * def test_no_auto_build(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__87 = PyTuple_Pack(17, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_bufSize, __pyx_n_s_buf, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_gotread_2, __pyx_n_s_gottell_2, __pyx_n_s_expread_2, __pyx_n_s_exptell_2, __pyx_n_s_pybuf, __pyx_n_s_data); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 451, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__87); + __Pyx_GIVEREF(__pyx_tuple__87); + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_no_auto_build, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 451, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":506 + * + * + * def test_seek_to_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__88 = PyTuple_Pack(10, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_seek_point, __pyx_n_s_indexSpacing, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_zt); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 506, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__88); + __Pyx_GIVEREF(__pyx_tuple__88); + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_to_end, 506, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 506, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":535 + * + * + * def test_seek_cur(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__89 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_seekstep, __pyx_n_s_curelem, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_exp, __pyx_n_s_out, __pyx_n_s_zt, __pyx_n_s_val); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 535, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__89); + __Pyx_GIVEREF(__pyx_tuple__89); + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_cur, 535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 535, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":579 + * + * + * def test_seek_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * cdef zran.zran_index_t index + * + */ + __pyx_tuple__90 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_seekstep, __pyx_n_s_curelem, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_seekloc, __pyx_n_s_exp, __pyx_n_s_zt, __pyx_n_s_val); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 579, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__90); + __Pyx_GIVEREF(__pyx_tuple__90); + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_end, 579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 579, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":637 + * + * + * def test_seek_beyond_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__91 = PyTuple_Pack(13, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_seekpoints, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_sp, __pyx_n_s_zs, __pyx_n_s_expected, __pyx_n_s_zt); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 637, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__91); + __Pyx_GIVEREF(__pyx_tuple__91); + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_beyond_end, 637, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 637, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":691 + * + * + * def test_sequential_seek_to_end(testfile, no_fds, nelems, niters): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__92 = PyTuple_Pack(15, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_seek_points, __pyx_n_s_indexSpacing, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_sp, __pyx_n_s_expseek_2, __pyx_n_s_exptell_2, __pyx_n_s_seek, __pyx_n_s_tell); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 691, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__92); + __Pyx_GIVEREF(__pyx_tuple__92); + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_sequential_seek_to_end, 691, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(0, 691, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":738 + * + * + * def test_random_seek(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__93 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_seekpoints, __pyx_n_s_indexSpacing, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_sp, __pyx_n_s_zt, __pyx_n_s_i); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 738, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__93); + __Pyx_GIVEREF(__pyx_tuple__93); + __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(5, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_random_seek, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 738, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":769 + * + * + * def test_read_all(testfile, no_fds, nelems, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + __pyx_tuple__94 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_use_mmap, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_nelemsp, __pyx_n_s_buf, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_nbytes_2, __pyx_n_s_data); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 769, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__94); + __Pyx_GIVEREF(__pyx_tuple__94); + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(4, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_read_all, 769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 769, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":805 + * + * + * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + __pyx_tuple__95 = PyTuple_Pack(23, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_use_mmap, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_buf, __pyx_n_s_seekelems, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_nelemsp, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_ret, __pyx_n_s_i, __pyx_n_s_se, __pyx_n_s_readelems_2, __pyx_n_s_start, __pyx_n_s_nbytes_2, __pyx_n_s_data, __pyx_n_s_end); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 805, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__95); + __Pyx_GIVEREF(__pyx_tuple__95); + __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(6, 0, 23, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_then_read_block, 805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 805, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":870 + * + * + * def test_random_seek_and_read(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__96 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_seekelems, __pyx_n_s_indexSpacing, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_se, __pyx_n_s_expval, __pyx_n_s_val); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 870, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__96); + __Pyx_GIVEREF(__pyx_tuple__96); + __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(5, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_random_seek_and_read, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 870, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":907 + * + * + * def test_read_all_sequential(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__97 = PyTuple_Pack(11, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_seekelems, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_se, __pyx_n_s_val); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 907, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__97); + __Pyx_GIVEREF(__pyx_tuple__97); + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_read_all_sequential, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 907, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":943 + * + * + * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + __pyx_tuple__98 = PyTuple_Pack(20, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_seed, __pyx_n_s_use_mmap, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_buf, __pyx_n_s_seekelems, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_se, __pyx_n_s_readelems_2, __pyx_n_s_nbytes_2, __pyx_n_s_pybuf, __pyx_n_s_data, __pyx_n_s_i, __pyx_n_s_val); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 943, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__98); + __Pyx_GIVEREF(__pyx_tuple__98); + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(5, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_build_then_read, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 943, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":990 + * + * + * def test_readbuf_spacing_sizes(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __pyx_tuple__99 = PyTuple_Pack(18, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_index, __pyx_n_s_spacings, __pyx_n_s_bufsizes, __pyx_n_s_seekelems, __pyx_n_s_sbi, __pyx_n_s_spacing, __pyx_n_s_bufsize, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_i, __pyx_n_s_se, __pyx_n_s_expval, __pyx_n_s_val); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 990, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__99); + __Pyx_GIVEREF(__pyx_tuple__99); + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(5, 0, 18, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_readbuf_spacing_sizes, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 990, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1070 + * + * + * def test_export_then_import(testfile, no_fds): # <<<<<<<<<<<<<< + * """Export-import round trip . Test exporting an index, then importing it + * back in. + */ + __pyx_tuple__100 = PyTuple_Pack(12, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_index1, __pyx_n_s_index2, __pyx_n_s_indexSpacing, __pyx_n_s_windowSize, __pyx_n_s_readbufSize, __pyx_n_s_flag, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_pyexportfid, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 1070, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__100); + __Pyx_GIVEREF(__pyx_tuple__100); + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_export_then_import, 1070, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 1070, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1122 + * + * + * def test_export_import_no_points(no_fds): # <<<<<<<<<<<<<< + * """Test exporting and importing an index which does not contain any + * seek points. + */ + __pyx_tuple__101 = PyTuple_Pack(12, __pyx_n_s_no_fds, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_data, __pyx_n_s_buf, __pyx_n_s_f, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_output, __pyx_n_s_pybuf, __pyx_n_s_pyidxfid, __pyx_n_s_cidxfid); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 1122, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__101); + __Pyx_GIVEREF(__pyx_tuple__101); + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_export_import_no_points, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 1122, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1179 + * + * + * def test_export_import_format_v0(): # <<<<<<<<<<<<<< + * """Test index export and import on a version 0 index file. """ + * + */ + __pyx_tuple__102 = PyTuple_Pack(9, __pyx_n_s_index1, __pyx_n_s_index2, __pyx_n_s_ret, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_pyidxfid, __pyx_n_s_cidxfid); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 1179, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__102); + __Pyx_GIVEREF(__pyx_tuple__102); + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_export_import_format_v0, 1179, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 1179, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1240 + * + * + * def test_crc_validation(concat): # <<<<<<<<<<<<<< + * """Basic test of CRC validation. """ + * + */ + __pyx_tuple__103 = PyTuple_Pack(17, __pyx_n_s_concat, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_ret, __pyx_n_s_dsize, __pyx_n_s_data, __pyx_n_s_cmpdata, __pyx_n_s_strmoffs, __pyx_n_s_buf, __pyx_n_s_f, __pyx_n_s_zran_init, __pyx_n_s_zran_init, __pyx_n_s_run_crc_tests, __pyx_n_s_run_crc_tests, __pyx_n_s_wrap, __pyx_n_s_wrap, __pyx_n_s_off); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 1240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__103); + __Pyx_GIVEREF(__pyx_tuple__103); + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_crc_validation, 1240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 1240, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1346 + * + * + * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< + * """Make sure standard usage works with files that have null-padding after + * the GZIP footer. + */ + __pyx_tuple__104 = PyTuple_Pack(20, __pyx_n_s_concat, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_ret, __pyx_n_s_dsize, __pyx_n_s_data, __pyx_n_s_cmpdata, __pyx_n_s_strmoffs, __pyx_n_s_buf, __pyx_n_s_f, __pyx_n_s_padding, __pyx_n_s_paddedcmpdata, __pyx_n_s_padoff, __pyx_n_s_last, __pyx_n_s_off, __pyx_n_s_pad, __pyx_n_s_strm, __pyx_n_s_zran_init, __pyx_n_s_zran_init, __pyx_n_s_pybuf); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 1346, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__104); + __Pyx_GIVEREF(__pyx_tuple__104); + __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_standard_usage_with_null_pa_2, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 1346, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1421 + * + * # pauldmccarthy/indexed_gzip#82 + * def test_inflateInit_leak_on_error(): # <<<<<<<<<<<<<< + * """Make sure memory is not leaked after a successful call to + * inflateInit2(), but then a failure on subsequent zlib calls. + */ + __pyx_tuple__105 = PyTuple_Pack(5, __pyx_n_s_index, __pyx_n_s_f, __pyx_n_s_iters, __pyx_n_s_mem, __pyx_n_s_i); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 1421, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__105); + __Pyx_GIVEREF(__pyx_tuple__105); + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_inflateInit_leak_on_error, 1421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 1421, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":1459 + * + * # pauldmccarthy/indexed_gzip#80 + * def test_read_eof_memmove_rotate_bug(seed): # <<<<<<<<<<<<<< + * + * # This bug was triggered by the read buffer rotation + */ + __pyx_tuple__106 = PyTuple_Pack(11, __pyx_n_s_seed, __pyx_n_s_index, __pyx_n_s_cfid, __pyx_n_s_nelems_2, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_fsize, __pyx_n_s_readbuf_size, __pyx_n_s_pyfid, __pyx_n_s_eof, __pyx_n_s_got); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 1459, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__106); + __Pyx_GIVEREF(__pyx_tuple__106); + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_read_eof_memmove_rotate_bug, 1459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 1459, __pyx_L1_error) + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { + if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_float_8_ = PyFloat_FromDouble(8.); if (unlikely(!__pyx_float_8_)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_100 = PyInt_FromLong(100); if (unlikely(!__pyx_int_100)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_255 = PyInt_FromLong(255); if (unlikely(!__pyx_int_255)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_500 = PyInt_FromLong(500); if (unlikely(!__pyx_int_500)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1000 = PyInt_FromLong(1000); if (unlikely(!__pyx_int_1000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1500 = PyInt_FromLong(1500); if (unlikely(!__pyx_int_1500)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2000 = PyInt_FromLong(2000); if (unlikely(!__pyx_int_2000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_5000 = PyInt_FromLong(5000); if (unlikely(!__pyx_int_5000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_8192 = PyInt_FromLong(8192); if (unlikely(!__pyx_int_8192)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_10000 = PyInt_FromLong(10000L); if (unlikely(!__pyx_int_10000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_16384 = PyInt_FromLong(16384L); if (unlikely(!__pyx_int_16384)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_24576 = PyInt_FromLong(24576L); if (unlikely(!__pyx_int_24576)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_32768 = PyInt_FromLong(32768L); if (unlikely(!__pyx_int_32768)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_65536 = PyInt_FromLong(65536L); if (unlikely(!__pyx_int_65536)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_131072 = PyInt_FromLong(131072L); if (unlikely(!__pyx_int_131072)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_262144 = PyInt_FromLong(262144L); if (unlikely(!__pyx_int_262144)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_524288 = PyInt_FromLong(524288L); if (unlikely(!__pyx_int_524288)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_525000 = PyInt_FromLong(525000L); if (unlikely(!__pyx_int_525000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1000000 = PyInt_FromLong(1000000L); if (unlikely(!__pyx_int_1000000)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1048575 = PyInt_FromLong(1048575L); if (unlikely(!__pyx_int_1048575)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1048576 = PyInt_FromLong(1048576L); if (unlikely(!__pyx_int_1048576)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_1048577 = PyInt_FromLong(1048577L); if (unlikely(!__pyx_int_1048577)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_2097152 = PyInt_FromLong(2097152L); if (unlikely(!__pyx_int_2097152)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_4194304 = PyInt_FromLong(4194304L); if (unlikely(!__pyx_int_4194304)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_8388608 = PyInt_FromLong(8388608L); if (unlikely(!__pyx_int_8388608)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_int_10485760 = PyInt_FromLong(10485760L); if (unlikely(!__pyx_int_10485760)) __PYX_ERR(0, 1, __pyx_L1_error) + return 0; + __pyx_L1_error:; + return -1; +} + +static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ +static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ + +static int __Pyx_modinit_global_init_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); + /*--- Global init code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_variable_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); + /*--- Variable export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_export_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); + /*--- Function export code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_type_init_code(void) { + __Pyx_RefNannyDeclarations + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); + /*--- Type init code ---*/ + if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer) < 0) __PYX_ERR(0, 134, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer.tp_getattro = __Pyx_PyObject_GenericGetAttr; + } + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ReadBuffer, (PyObject *)&__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer) < 0) __PYX_ERR(0, 134, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer) < 0) __PYX_ERR(0, 134, __pyx_L1_error) + __pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer = &__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer; + if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__) < 0) __PYX_ERR(0, 155, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ = &__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__; + if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn) < 0) __PYX_ERR(0, 236, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn = &__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn; + if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation) < 0) __PYX_ERR(0, 1240, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation = &__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation; + if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding) < 0) __PYX_ERR(0, 1346, __pyx_L1_error) + #if PY_VERSION_HEX < 0x030800B1 + __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding.tp_print = 0; + #endif + if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding.tp_getattro == PyObject_GenericGetAttr)) { + __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; + } + __pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding = &__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_type_import_code(void) { + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); + /*--- Type import code ---*/ + __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", + #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 + sizeof(PyTypeObject), + #else + sizeof(PyHeapTypeObject), + #endif + __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 200, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 200, __pyx_L1_error) + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 223, __pyx_L1_error) + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 227, __pyx_L1_error) + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 239, __pyx_L1_error) + __pyx_ptype_5numpy_generic = __Pyx_ImportType(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_generic) __PYX_ERR(2, 771, __pyx_L1_error) + __pyx_ptype_5numpy_number = __Pyx_ImportType(__pyx_t_1, "numpy", "number", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_number) __PYX_ERR(2, 773, __pyx_L1_error) + __pyx_ptype_5numpy_integer = __Pyx_ImportType(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_integer) __PYX_ERR(2, 775, __pyx_L1_error) + __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 777, __pyx_L1_error) + __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 779, __pyx_L1_error) + __pyx_ptype_5numpy_inexact = __Pyx_ImportType(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 781, __pyx_L1_error) + __pyx_ptype_5numpy_floating = __Pyx_ImportType(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_floating) __PYX_ERR(2, 783, __pyx_L1_error) + __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 785, __pyx_L1_error) + __pyx_ptype_5numpy_flexible = __Pyx_ImportType(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 787, __pyx_L1_error) + __pyx_ptype_5numpy_character = __Pyx_ImportType(__pyx_t_1, "numpy", "character", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); + if (!__pyx_ptype_5numpy_character) __PYX_ERR(2, 789, __pyx_L1_error) + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Ignore); + if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 827, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_RefNannyFinishContext(); + return 0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_RefNannyFinishContext(); + return -1; +} + +static int __Pyx_modinit_variable_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); + /*--- Variable import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + +static int __Pyx_modinit_function_import_code(void) { + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); + /*--- Function import code ---*/ + __Pyx_RefNannyFinishContext(); + return 0; +} + + +#ifndef CYTHON_NO_PYINIT_EXPORT +#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC +#elif PY_MAJOR_VERSION < 3 +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" void +#else +#define __Pyx_PyMODINIT_FUNC void +#endif +#else +#ifdef __cplusplus +#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * +#else +#define __Pyx_PyMODINIT_FUNC PyObject * +#endif +#endif + + +#if PY_MAJOR_VERSION < 3 +__Pyx_PyMODINIT_FUNC initctest_zran(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC initctest_zran(void) +#else +__Pyx_PyMODINIT_FUNC PyInit_ctest_zran(void) CYTHON_SMALL_CODE; /*proto*/ +__Pyx_PyMODINIT_FUNC PyInit_ctest_zran(void) +#if CYTHON_PEP489_MULTI_PHASE_INIT +{ + return PyModuleDef_Init(&__pyx_moduledef); +} +static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { + #if PY_VERSION_HEX >= 0x030700A1 + static PY_INT64_T main_interpreter_id = -1; + PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); + if (main_interpreter_id == -1) { + main_interpreter_id = current_id; + return (unlikely(current_id == -1)) ? -1 : 0; + } else if (unlikely(main_interpreter_id != current_id)) + #else + static PyInterpreterState *main_interpreter = NULL; + PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; + if (!main_interpreter) { + main_interpreter = current_interpreter; + } else if (unlikely(main_interpreter != current_interpreter)) + #endif + { + PyErr_SetString( + PyExc_ImportError, + "Interpreter change detected - this module can only be loaded into one interpreter per process."); + return -1; + } + return 0; +} +static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { + PyObject *value = PyObject_GetAttrString(spec, from_name); + int result = 0; + if (likely(value)) { + if (allow_none || value != Py_None) { + result = PyDict_SetItemString(moddict, to_name, value); + } + Py_DECREF(value); + } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Clear(); + } else { + result = -1; + } + return result; +} +static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { + PyObject *module = NULL, *moddict, *modname; + if (__Pyx_check_single_interpreter()) + return NULL; + if (__pyx_m) + return __Pyx_NewRef(__pyx_m); + modname = PyObject_GetAttrString(spec, "name"); + if (unlikely(!modname)) goto bad; + module = PyModule_NewObject(modname); + Py_DECREF(modname); + if (unlikely(!module)) goto bad; + moddict = PyModule_GetDict(module); + if (unlikely(!moddict)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; + if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; + return module; +bad: + Py_XDECREF(module); + return NULL; +} + + +static CYTHON_SMALL_CODE int __pyx_pymod_exec_ctest_zran(PyObject *__pyx_pyinit_module) +#endif +#endif +{ + __Pyx_TraceDeclarations + PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_lineno = 0; + const char *__pyx_filename = NULL; + int __pyx_clineno = 0; + __Pyx_RefNannyDeclarations + #if CYTHON_PEP489_MULTI_PHASE_INIT + if (__pyx_m) { + if (__pyx_m == __pyx_pyinit_module) return 0; + PyErr_SetString(PyExc_RuntimeError, "Module 'ctest_zran' has already been imported. Re-initialisation is not supported."); + return -1; + } + #elif PY_MAJOR_VERSION >= 3 + if (__pyx_m) return __Pyx_NewRef(__pyx_m); + #endif + #if CYTHON_REFNANNY +__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); +if (!__Pyx_RefNanny) { + PyErr_Clear(); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); +} +#endif + __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_ctest_zran(void)", 0); + if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pxy_PyFrame_Initialize_Offsets + __Pxy_PyFrame_Initialize_Offsets(); + #endif + __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) + __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) + #ifdef __Pyx_CyFunction_USED + if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_FusedFunction_USED + if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Coroutine_USED + if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_Generator_USED + if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_AsyncGen_USED + if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + #ifdef __Pyx_StopAsyncIteration_USED + if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + /*--- Library function declarations ---*/ + /*--- Threads initialization code ---*/ + #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS + PyEval_InitThreads(); + #endif + /*--- Module creation code ---*/ + #if CYTHON_PEP489_MULTI_PHASE_INIT + __pyx_m = __pyx_pyinit_module; + Py_INCREF(__pyx_m); + #else + #if PY_MAJOR_VERSION < 3 + __pyx_m = Py_InitModule4("ctest_zran", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); + #else + __pyx_m = PyModule_Create(&__pyx_moduledef); + #endif + if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_d); + __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_b); + __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) + Py_INCREF(__pyx_cython_runtime); + if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Initialize various global constants etc. ---*/ + if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) + if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + if (__pyx_module_is_main_indexed_gzip__tests__ctest_zran) { + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + } + #if PY_MAJOR_VERSION >= 3 + { + PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) + if (!PyDict_GetItemString(modules, "indexed_gzip.tests.ctest_zran")) { + if (unlikely(PyDict_SetItemString(modules, "indexed_gzip.tests.ctest_zran", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + } + } + #endif + /*--- Builtin init code ---*/ + if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Constants init code ---*/ + if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + /*--- Global type/function init code ---*/ + (void)__Pyx_modinit_global_init_code(); + (void)__Pyx_modinit_variable_export_code(); + (void)__Pyx_modinit_function_export_code(); + if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) + (void)__Pyx_modinit_variable_import_code(); + (void)__Pyx_modinit_function_import_code(); + /*--- Execution code ---*/ + #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) + if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) + #endif + __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit_ctest_zran(void)", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error)); + + /* "indexed_gzip/tests/ctest_zran.pyx":10 + * from __future__ import division + * + * import os # <<<<<<<<<<<<<< + * import os.path as op + * import itertools as it + */ + __Pyx_TraceLine(10,0,__PYX_ERR(0, 10, __pyx_L1_error)) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 10, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":11 + * + * import os + * import os.path as op # <<<<<<<<<<<<<< + * import itertools as it + * import subprocess as sp + */ + __Pyx_TraceLine(11,0,__PYX_ERR(0, 11, __pyx_L1_error)) + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s__73); + __Pyx_GIVEREF(__pyx_n_s__73); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__73); + __pyx_t_2 = __Pyx_Import(__pyx_n_s_os_path, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyDict_SetItem(__pyx_d, __pyx_n_s_op, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":12 + * import os + * import os.path as op + * import itertools as it # <<<<<<<<<<<<<< + * import subprocess as sp + * import sys + */ + __Pyx_TraceLine(12,0,__PYX_ERR(0, 12, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_itertools, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_it, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":13 + * import os.path as op + * import itertools as it + * import subprocess as sp # <<<<<<<<<<<<<< + * import sys + * import time + */ + __Pyx_TraceLine(13,0,__PYX_ERR(0, 13, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_subprocess, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_sp, __pyx_t_2) < 0) __PYX_ERR(0, 13, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":14 + * import itertools as it + * import subprocess as sp + * import sys # <<<<<<<<<<<<<< + * import time + * import gzip + */ + __Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":15 + * import subprocess as sp + * import sys + * import time # <<<<<<<<<<<<<< + * import gzip + * import shutil + */ + __Pyx_TraceLine(15,0,__PYX_ERR(0, 15, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_time, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":16 + * import sys + * import time + * import gzip # <<<<<<<<<<<<<< + * import shutil + * import random + */ + __Pyx_TraceLine(16,0,__PYX_ERR(0, 16, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_gzip, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_gzip, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":17 + * import time + * import gzip + * import shutil # <<<<<<<<<<<<<< + * import random + * import hashlib + */ + __Pyx_TraceLine(17,0,__PYX_ERR(0, 17, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_shutil, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_shutil, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":18 + * import gzip + * import shutil + * import random # <<<<<<<<<<<<<< + * import hashlib + * import tempfile + */ + __Pyx_TraceLine(18,0,__PYX_ERR(0, 18, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_random, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_random, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":19 + * import shutil + * import random + * import hashlib # <<<<<<<<<<<<<< + * import tempfile + * import threading + */ + __Pyx_TraceLine(19,0,__PYX_ERR(0, 19, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_hashlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":20 + * import random + * import hashlib + * import tempfile # <<<<<<<<<<<<<< + * import threading + * import contextlib + */ + __Pyx_TraceLine(20,0,__PYX_ERR(0, 20, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_tempfile, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempfile, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":21 + * import hashlib + * import tempfile + * import threading # <<<<<<<<<<<<<< + * import contextlib + * + */ + __Pyx_TraceLine(21,0,__PYX_ERR(0, 21, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_threading, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":22 + * import tempfile + * import threading + * import contextlib # <<<<<<<<<<<<<< + * + * import numpy as np + */ + __Pyx_TraceLine(22,0,__PYX_ERR(0, 22, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_contextlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_contextlib, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":24 + * import contextlib + * + * import numpy as np # <<<<<<<<<<<<<< + * + * # The stdlib resource module is only + */ + __Pyx_TraceLine(24,0,__PYX_ERR(0, 24, __pyx_L1_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_2) < 0) __PYX_ERR(0, 24, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":28 + * # The stdlib resource module is only + * # available on unix-like platforms. + * try: # <<<<<<<<<<<<<< + * import resource + * except ImportError: + */ + __Pyx_TraceLine(28,0,__PYX_ERR(0, 28, __pyx_L1_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5); + __Pyx_XGOTREF(__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_4); + __Pyx_XGOTREF(__pyx_t_5); + /*try:*/ { + + /* "indexed_gzip/tests/ctest_zran.pyx":29 + * # available on unix-like platforms. + * try: + * import resource # <<<<<<<<<<<<<< + * except ImportError: + * resource = None + */ + __Pyx_TraceLine(29,0,__PYX_ERR(0, 29, __pyx_L2_error)) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_resource, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L2_error) + __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_resource, __pyx_t_2) < 0) __PYX_ERR(0, 29, __pyx_L2_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":28 + * # The stdlib resource module is only + * # available on unix-like platforms. + * try: # <<<<<<<<<<<<<< + * import resource + * except ImportError: + */ + } + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + goto __pyx_L7_try_end; + __pyx_L2_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":30 + * try: + * import resource + * except ImportError: # <<<<<<<<<<<<<< + * resource = None + * + */ + __Pyx_TraceLine(30,0,__PYX_ERR(0, 30, __pyx_L4_except_error)) + __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); + if (__pyx_t_6) { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 30, __pyx_L4_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_7); + + /* "indexed_gzip/tests/ctest_zran.pyx":31 + * import resource + * except ImportError: + * resource = None # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(31,0,__PYX_ERR(0, 31, __pyx_L4_except_error)) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_resource, Py_None) < 0) __PYX_ERR(0, 31, __pyx_L4_except_error) + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + goto __pyx_L3_exception_handled; + } + goto __pyx_L4_except_error; + __pyx_L4_except_error:; + + /* "indexed_gzip/tests/ctest_zran.pyx":28 + * # The stdlib resource module is only + * # available on unix-like platforms. + * try: # <<<<<<<<<<<<<< + * import resource + * except ImportError: + */ + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); + goto __pyx_L1_error; + __pyx_L3_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_XGIVEREF(__pyx_t_4); + __Pyx_XGIVEREF(__pyx_t_5); + __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); + __pyx_L7_try_end:; + } + + /* "indexed_gzip/tests/ctest_zran.pyx":37 + * + * from posix.types cimport off_t + * from io import BytesIO # <<<<<<<<<<<<<< + * + * from libc.stdio cimport (SEEK_SET, + */ + __Pyx_TraceLine(37,0,__PYX_ERR(0, 37, __pyx_L1_error)) + __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_n_s_BytesIO); + __Pyx_GIVEREF(__pyx_n_s_BytesIO); + PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_BytesIO); + __pyx_t_1 = __Pyx_Import(__pyx_n_s_io, __pyx_t_7, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_BytesIO, __pyx_t_7) < 0) __PYX_ERR(0, 37, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":65 + * + * + * from . import poll, check_data_valid, tempdir, compress_inmem # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L1_error)) + __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_n_s_poll); + __Pyx_GIVEREF(__pyx_n_s_poll); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_poll); + __Pyx_INCREF(__pyx_n_s_check_data_valid); + __Pyx_GIVEREF(__pyx_n_s_check_data_valid); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_check_data_valid); + __Pyx_INCREF(__pyx_n_s_tempdir); + __Pyx_GIVEREF(__pyx_n_s_tempdir); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_tempdir); + __Pyx_INCREF(__pyx_n_s_compress_inmem); + __Pyx_GIVEREF(__pyx_n_s_compress_inmem); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_compress_inmem); + __pyx_t_7 = __Pyx_Import(__pyx_kp_s__35, __pyx_t_1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_poll); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_poll, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_data_valid, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempdir, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_compress_inmem); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_compress_inmem, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":75 + * cimport indexed_gzip.zran_file_util as zran_file_util + * + * np.import_array() # <<<<<<<<<<<<<< + * + * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): + */ + __Pyx_TraceLine(75,0,__PYX_ERR(0, 75, __pyx_L1_error)) + __pyx_t_6 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 75, __pyx_L1_error) + + /* "indexed_gzip/tests/ctest_zran.pyx":77 + * np.import_array() + * + * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): # <<<<<<<<<<<<<< + * + * cdef void *buffer + */ + __Pyx_TraceLine(77,0,__PYX_ERR(0, 77, __pyx_L1_error)) + + + /* "indexed_gzip/tests/ctest_zran.pyx":232 + * + * + * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< + * raise Exception("Error") + * + */ + __Pyx_TraceLine(232,0,__PYX_ERR(0, 232, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_1error_fn, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 232, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_error_fn, __pyx_t_7) < 0) __PYX_ERR(0, 232, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":236 + * + * + * def return_fn(return_value): # <<<<<<<<<<<<<< + * return lambda *args, **kwargs: return_value + * + */ + __Pyx_TraceLine(236,0,__PYX_ERR(0, 236, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_3return_fn, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 236, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_return_fn, __pyx_t_7) < 0) __PYX_ERR(0, 236, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":240 + * + * + * def test_fread(): # <<<<<<<<<<<<<< + * """Tests Python wrapper C function for fread.""" + * + */ + __Pyx_TraceLine(240,0,__PYX_ERR(0, 240, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_5test_fread, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_fread, __pyx_t_7) < 0) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":259 + * + * + * def test_ftell(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __Pyx_TraceLine(259,0,__PYX_ERR(0, 259, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_7test_ftell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 259, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_ftell, __pyx_t_7) < 0) __PYX_ERR(0, 259, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":275 + * + * + * def test_fseek(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __Pyx_TraceLine(275,0,__PYX_ERR(0, 275, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_9test_fseek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 275, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_fseek, __pyx_t_7) < 0) __PYX_ERR(0, 275, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":294 + * + * + * def test_feof(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_11test_feof, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 294, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_feof, __pyx_t_7) < 0) __PYX_ERR(0, 294, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":305 + * + * + * def test_ferror(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __Pyx_TraceLine(305,0,__PYX_ERR(0, 305, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_13test_ferror, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 305, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_ferror, __pyx_t_7) < 0) __PYX_ERR(0, 305, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":315 + * + * + * def test_fflush(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __Pyx_TraceLine(315,0,__PYX_ERR(0, 315, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_15test_fflush, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 315, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_fflush, __pyx_t_7) < 0) __PYX_ERR(0, 315, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":329 + * + * + * def test_fwrite(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __Pyx_TraceLine(329,0,__PYX_ERR(0, 329, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_17test_fwrite, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 329, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_fwrite, __pyx_t_7) < 0) __PYX_ERR(0, 329, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":351 + * + * + * def test_getc(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"dbc") + */ + __Pyx_TraceLine(351,0,__PYX_ERR(0, 351, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_getc, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_getc, __pyx_t_7) < 0) __PYX_ERR(0, 351, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":372 + * + * + * def test_seekable(): # <<<<<<<<<<<<<< + * + * f = BytesIO(b"abc") + */ + __Pyx_TraceLine(372,0,__PYX_ERR(0, 372, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_21test_seekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 372, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seekable, __pyx_t_7) < 0) __PYX_ERR(0, 372, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":380 + * + * + * def test_init(testfile, no_fds): # <<<<<<<<<<<<<< + * """Tests a bunch of permutations of the parameters to zran_init. """ + * + */ + __Pyx_TraceLine(380,0,__PYX_ERR(0, 380, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_23test_init, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 380, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init, __pyx_t_7) < 0) __PYX_ERR(0, 380, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":418 + * + * + * def test_init_file_modes(testfile, no_fds): # <<<<<<<<<<<<<< + * + * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] + */ + __Pyx_TraceLine(418,0,__PYX_ERR(0, 418, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_file_modes, __pyx_t_7) < 0) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":451 + * + * + * def test_no_auto_build(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(451,0,__PYX_ERR(0, 451, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 451, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_no_auto_build, __pyx_t_7) < 0) __PYX_ERR(0, 451, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":506 + * + * + * def test_seek_to_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(506,0,__PYX_ERR(0, 506, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 506, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_to_end, __pyx_t_7) < 0) __PYX_ERR(0, 506, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":535 + * + * + * def test_seek_cur(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(535,0,__PYX_ERR(0, 535, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 535, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_cur, __pyx_t_7) < 0) __PYX_ERR(0, 535, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":579 + * + * + * def test_seek_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * cdef zran.zran_index_t index + * + */ + __Pyx_TraceLine(579,0,__PYX_ERR(0, 579, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_33test_seek_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 579, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_end, __pyx_t_7) < 0) __PYX_ERR(0, 579, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":637 + * + * + * def test_seek_beyond_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(637,0,__PYX_ERR(0, 637, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 637, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_beyond_end, __pyx_t_7) < 0) __PYX_ERR(0, 637, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":691 + * + * + * def test_sequential_seek_to_end(testfile, no_fds, nelems, niters): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 691, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_sequential_seek_to_end, __pyx_t_7) < 0) __PYX_ERR(0, 691, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":738 + * + * + * def test_random_seek(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(738,0,__PYX_ERR(0, 738, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_39test_random_seek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 738, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_random_seek, __pyx_t_7) < 0) __PYX_ERR(0, 738, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":769 + * + * + * def test_read_all(testfile, no_fds, nelems, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + __Pyx_TraceLine(769,0,__PYX_ERR(0, 769, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_41test_read_all, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 769, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_all, __pyx_t_7) < 0) __PYX_ERR(0, 769, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":805 + * + * + * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + __Pyx_TraceLine(805,0,__PYX_ERR(0, 805, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 805, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_then_read_block, __pyx_t_7) < 0) __PYX_ERR(0, 805, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":870 + * + * + * def test_random_seek_and_read(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(870,0,__PYX_ERR(0, 870, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 870, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_random_seek_and_read, __pyx_t_7) < 0) __PYX_ERR(0, 870, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":907 + * + * + * def test_read_all_sequential(testfile, no_fds, nelems): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(907,0,__PYX_ERR(0, 907, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 907, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_all_sequential, __pyx_t_7) < 0) __PYX_ERR(0, 907, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":943 + * + * + * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): # <<<<<<<<<<<<<< + * + * filesize = nelems * 8 + */ + __Pyx_TraceLine(943,0,__PYX_ERR(0, 943, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 943, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_build_then_read, __pyx_t_7) < 0) __PYX_ERR(0, 943, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":990 + * + * + * def test_readbuf_spacing_sizes(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< + * + * cdef zran.zran_index_t index + */ + __Pyx_TraceLine(990,0,__PYX_ERR(0, 990, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 990, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readbuf_spacing_sizes, __pyx_t_7) < 0) __PYX_ERR(0, 990, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1041 + * + * + * cdef _compare_indexes(zran.zran_index_t *index1, # <<<<<<<<<<<<<< + * zran.zran_index_t *index2): + * """Check that two indexes are equivalent. """ + */ + __Pyx_TraceLine(1041,0,__PYX_ERR(0, 1041, __pyx_L1_error)) + + + /* "indexed_gzip/tests/ctest_zran.pyx":1070 + * + * + * def test_export_then_import(testfile, no_fds): # <<<<<<<<<<<<<< + * """Export-import round trip . Test exporting an index, then importing it + * back in. + */ + __Pyx_TraceLine(1070,0,__PYX_ERR(0, 1070, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1070, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_export_then_import, __pyx_t_7) < 0) __PYX_ERR(0, 1070, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1122 + * + * + * def test_export_import_no_points(no_fds): # <<<<<<<<<<<<<< + * """Test exporting and importing an index which does not contain any + * seek points. + */ + __Pyx_TraceLine(1122,0,__PYX_ERR(0, 1122, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1122, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_export_import_no_points, __pyx_t_7) < 0) __PYX_ERR(0, 1122, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1179 + * + * + * def test_export_import_format_v0(): # <<<<<<<<<<<<<< + * """Test index export and import on a version 0 index file. """ + * + */ + __Pyx_TraceLine(1179,0,__PYX_ERR(0, 1179, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1179, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_export_import_format_v0, __pyx_t_7) < 0) __PYX_ERR(0, 1179, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1215 + * + * + * cdef _write_index_file_v0(zran.zran_index_t *index, dest): # <<<<<<<<<<<<<< + * """Write the given index out to a file, index file version 0 format. """ + * + */ + __Pyx_TraceLine(1215,0,__PYX_ERR(0, 1215, __pyx_L1_error)) + + + /* "indexed_gzip/tests/ctest_zran.pyx":1240 + * + * + * def test_crc_validation(concat): # <<<<<<<<<<<<<< + * """Basic test of CRC validation. """ + * + */ + __Pyx_TraceLine(1240,0,__PYX_ERR(0, 1240, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_crc_validation, __pyx_t_7) < 0) __PYX_ERR(0, 1240, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1346 + * + * + * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< + * """Make sure standard usage works with files that have null-padding after + * the GZIP footer. + */ + __Pyx_TraceLine(1346,0,__PYX_ERR(0, 1346, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1346, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_standard_usage_with_null_pa_2, __pyx_t_7) < 0) __PYX_ERR(0, 1346, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1421 + * + * # pauldmccarthy/indexed_gzip#82 + * def test_inflateInit_leak_on_error(): # <<<<<<<<<<<<<< + * """Make sure memory is not leaked after a successful call to + * inflateInit2(), but then a failure on subsequent zlib calls. + */ + __Pyx_TraceLine(1421,0,__PYX_ERR(0, 1421, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1421, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_inflateInit_leak_on_error, __pyx_t_7) < 0) __PYX_ERR(0, 1421, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1459 + * + * # pauldmccarthy/indexed_gzip#80 + * def test_read_eof_memmove_rotate_bug(seed): # <<<<<<<<<<<<<< + * + * # This bug was triggered by the read buffer rotation + */ + __Pyx_TraceLine(1459,0,__PYX_ERR(0, 1459, __pyx_L1_error)) + __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1459, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_eof_memmove_rotate_bug, __pyx_t_7) < 0) __PYX_ERR(0, 1459, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "indexed_gzip/tests/ctest_zran.pyx":1 + * # # <<<<<<<<<<<<<< + * # Tests for the zran module. + * # + */ + __Pyx_TraceLine(1,0,__PYX_ERR(0, 1, __pyx_L1_error)) + __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_7) < 0) __PYX_ERR(0, 1, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":735 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + __Pyx_TraceLine(735,0,__PYX_ERR(2, 735, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":738 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + __Pyx_TraceLine(738,0,__PYX_ERR(2, 738, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":741 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + __Pyx_TraceLine(741,0,__PYX_ERR(2, 741, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":744 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + __Pyx_TraceLine(744,0,__PYX_ERR(2, 744, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":747 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + __Pyx_TraceLine(747,0,__PYX_ERR(2, 747, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":750 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< + * if PyDataType_HASSUBARRAY(d): + * return d.subarray.shape + */ + __Pyx_TraceLine(750,0,__PYX_ERR(2, 750, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":929 + * int _import_umath() except -1 + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * Py_INCREF(base) # important to do this before stealing the reference below! + * PyArray_SetBaseObject(arr, base) + */ + __Pyx_TraceLine(929,0,__PYX_ERR(2, 929, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":933 + * PyArray_SetBaseObject(arr, base) + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * base = PyArray_BASE(arr) + * if base is NULL: + */ + __Pyx_TraceLine(933,0,__PYX_ERR(2, 933, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":941 + * # Versions of the import_* functions which are more suitable for + * # Cython code. + * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< + * try: + * __pyx_import_array() + */ + __Pyx_TraceLine(941,0,__PYX_ERR(2, 941, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":947 + * raise ImportError("numpy.core.multiarray failed to import") + * + * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + __Pyx_TraceLine(947,0,__PYX_ERR(2, 947, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":953 + * raise ImportError("numpy.core.umath failed to import") + * + * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< + * try: + * _import_umath() + */ + __Pyx_TraceLine(953,0,__PYX_ERR(2, 953, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":967 + * + * + * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.timedelta64)` + */ + __Pyx_TraceLine(967,0,__PYX_ERR(2, 967, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":982 + * + * + * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< + * """ + * Cython equivalent of `isinstance(obj, np.datetime64)` + */ + __Pyx_TraceLine(982,0,__PYX_ERR(2, 982, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":997 + * + * + * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy datetime64 object + */ + __Pyx_TraceLine(997,0,__PYX_ERR(2, 997, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1007 + * + * + * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the int64 value underlying scalar numpy timedelta64 object + */ + __Pyx_TraceLine(1007,0,__PYX_ERR(2, 1007, __pyx_L1_error)) + + + /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1014 + * + * + * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< + * """ + * returns the unit part of the dtype for a numpy datetime64 object. + */ + __Pyx_TraceLine(1014,0,__PYX_ERR(2, 1014, __pyx_L1_error)) + + __Pyx_TraceReturn(Py_None, 0); + + /*--- Wrapped vars code ---*/ + + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_7); + if (__pyx_m) { + if (__pyx_d) { + __Pyx_AddTraceback("init indexed_gzip.tests.ctest_zran", __pyx_clineno, __pyx_lineno, __pyx_filename); + } + Py_CLEAR(__pyx_m); + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init indexed_gzip.tests.ctest_zran"); + } + __pyx_L0:; + __Pyx_RefNannyFinishContext(); + #if CYTHON_PEP489_MULTI_PHASE_INIT + return (__pyx_m != NULL) ? 0 : -1; + #elif PY_MAJOR_VERSION >= 3 + return __pyx_m; + #else + return; + #endif +} + +/* --- Runtime support code --- */ +/* Refnanny */ +#if CYTHON_REFNANNY +static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { + PyObject *m = NULL, *p = NULL; + void *r = NULL; + m = PyImport_ImportModule(modname); + if (!m) goto end; + p = PyObject_GetAttrString(m, "RefNannyAPI"); + if (!p) goto end; + r = PyLong_AsVoidPtr(p); +end: + Py_XDECREF(p); + Py_XDECREF(m); + return (__Pyx_RefNannyAPIStruct *)r; +} +#endif + +/* PyObjectGetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro)) + return tp->tp_getattro(obj, attr_name); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_getattr)) + return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); +#endif + return PyObject_GetAttr(obj, attr_name); +} +#endif + +/* GetBuiltinName */ +static PyObject *__Pyx_GetBuiltinName(PyObject *name) { + PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); + if (unlikely(!result)) { + PyErr_Format(PyExc_NameError, +#if PY_MAJOR_VERSION >= 3 + "name '%U' is not defined", name); +#else + "name '%.200s' is not defined", PyString_AS_STRING(name)); +#endif + } + return result; +} + +/* PyErrFetchRestore */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + tmp_type = tstate->curexc_type; + tmp_value = tstate->curexc_value; + tmp_tb = tstate->curexc_traceback; + tstate->curexc_type = type; + tstate->curexc_value = value; + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + *type = tstate->curexc_type; + *value = tstate->curexc_value; + *tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +} +#endif + +/* Profile */ +#if CYTHON_PROFILE +static int __Pyx_TraceSetupAndCall(PyCodeObject** code, + PyFrameObject** frame, + PyThreadState* tstate, + const char *funcname, + const char *srcfile, + int firstlineno) { + PyObject *type, *value, *traceback; + int retval; + if (*frame == NULL || !CYTHON_PROFILE_REUSE_FRAME) { + if (*code == NULL) { + *code = __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno); + if (*code == NULL) return 0; + } + *frame = PyFrame_New( + tstate, /*PyThreadState *tstate*/ + *code, /*PyCodeObject *code*/ + __pyx_d, /*PyObject *globals*/ + 0 /*PyObject *locals*/ + ); + if (*frame == NULL) return 0; + if (CYTHON_TRACE && (*frame)->f_trace == NULL) { + Py_INCREF(Py_None); + (*frame)->f_trace = Py_None; + } +#if PY_VERSION_HEX < 0x030400B1 + } else { + (*frame)->f_tstate = tstate; +#endif + } + __Pyx_PyFrame_SetLineNumber(*frame, firstlineno); + retval = 1; + __Pyx_EnterTracing(tstate); + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + #if CYTHON_TRACE + if (tstate->c_tracefunc) + retval = tstate->c_tracefunc(tstate->c_traceobj, *frame, PyTrace_CALL, NULL) == 0; + if (retval && tstate->c_profilefunc) + #endif + retval = tstate->c_profilefunc(tstate->c_profileobj, *frame, PyTrace_CALL, NULL) == 0; + __Pyx_LeaveTracing(tstate); + if (retval) { + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + return __Pyx_IsTracing(tstate, 0, 0) && retval; + } else { + Py_XDECREF(type); + Py_XDECREF(value); + Py_XDECREF(traceback); + return -1; + } +} +static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno) { + PyCodeObject *py_code = 0; +#if PY_MAJOR_VERSION >= 3 + py_code = PyCode_NewEmpty(srcfile, funcname, firstlineno); + if (likely(py_code)) { + py_code->co_flags |= CO_OPTIMIZED | CO_NEWLOCALS; + } +#else + PyObject *py_srcfile = 0; + PyObject *py_funcname = 0; + py_funcname = PyString_FromString(funcname); + if (unlikely(!py_funcname)) goto bad; + py_srcfile = PyString_FromString(srcfile); + if (unlikely(!py_srcfile)) goto bad; + py_code = PyCode_New( + 0, + 0, + 0, + CO_OPTIMIZED | CO_NEWLOCALS, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + firstlineno, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); +bad: + Py_XDECREF(py_srcfile); + Py_XDECREF(py_funcname); +#endif + return py_code; +} +#endif + +/* PyObjectCall */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { + PyObject *result; + ternaryfunc call = Py_TYPE(func)->tp_call; + if (unlikely(!call)) + return PyObject_Call(func, arg, kw); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = (*call)(func, arg, kw); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) +{ + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif + return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; +} + +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + int flags = PyCFunction_GET_FLAGS(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { + return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); + } else { + return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); + } +} +#endif + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = __Pyx_PyFrame_GetLocalsplus(f); + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, (int)nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif +#endif + +/* PyObjectCall2Args */ +static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { + PyObject *args, *result = NULL; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyFunction_FastCall(function, args, 2); + } + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(function)) { + PyObject *args[2] = {arg1, arg2}; + return __Pyx_PyCFunction_FastCall(function, args, 2); + } + #endif + args = PyTuple_New(2); + if (unlikely(!args)) goto done; + Py_INCREF(arg1); + PyTuple_SET_ITEM(args, 0, arg1); + Py_INCREF(arg2); + PyTuple_SET_ITEM(args, 1, arg2); + Py_INCREF(function); + result = __Pyx_PyObject_Call(function, args, NULL); + Py_DECREF(args); + Py_DECREF(function); +done: + return result; +} + +/* PyObjectCallMethO */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { + PyObject *self, *result; + PyCFunction cfunc; + cfunc = PyCFunction_GET_FUNCTION(func); + self = PyCFunction_GET_SELF(func); + if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) + return NULL; + result = cfunc(self, arg); + Py_LeaveRecursiveCall(); + if (unlikely(!result) && unlikely(!PyErr_Occurred())) { + PyErr_SetString( + PyExc_SystemError, + "NULL result without error in PyObject_Call"); + } + return result; +} +#endif + +/* PyObjectCallOneArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_New(1); + if (unlikely(!args)) return NULL; + Py_INCREF(arg); + PyTuple_SET_ITEM(args, 0, arg); + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif + if (likely(PyCFunction_Check(func))) { + if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { + return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (__Pyx_PyFastCFunction_Check(func)) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif + } + } + return __Pyx__PyObject_CallOneArg(func, arg); +} +#else +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { + PyObject *result; + PyObject *args = PyTuple_Pack(1, arg); + if (unlikely(!args)) return NULL; + result = __Pyx_PyObject_Call(func, args, NULL); + Py_DECREF(args); + return result; +} +#endif + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a + b); + if (likely((x^a) >= 0 || (x^b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_add(op1, op2); + } + } + x = a + b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla + llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("add", return NULL) + result = ((double)a) + (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); +} +#endif + +/* PyDictVersioning */ +#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; +} +static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { + PyObject **dictptr = NULL; + Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; + if (offset) { +#if CYTHON_COMPILING_IN_CPYTHON + dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); +#else + dictptr = _PyObject_GetDictPtr(obj); +#endif + } + return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; +} +static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { + PyObject *dict = Py_TYPE(obj)->tp_dict; + if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) + return 0; + return obj_dict_version == __Pyx_get_object_dict_version(obj); +} +#endif + +/* GetModuleGlobalName */ +#if CYTHON_USE_DICT_VERSIONS +static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) +#else +static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) +#endif +{ + PyObject *result; +#if !CYTHON_AVOID_BORROWED_REFS +#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 + result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } else if (unlikely(PyErr_Occurred())) { + return NULL; + } +#else + result = PyDict_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } +#endif +#else + result = PyObject_GetItem(__pyx_d, name); + __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) + if (likely(result)) { + return __Pyx_NewRef(result); + } + PyErr_Clear(); +#endif + return __Pyx_GetBuiltinName(name); +} + +/* GetItemInt */ +static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyList_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + Py_ssize_t wrapped_i = i; + if (wraparound & unlikely(i < 0)) { + wrapped_i += PyTuple_GET_SIZE(o); + } + if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); + Py_INCREF(r); + return r; + } + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +#else + return PySequence_GetItem(o, i); +#endif +} +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, + CYTHON_NCP_UNUSED int wraparound, + CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); + if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { + PyObject *r = PyList_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } + else if (PyTuple_CheckExact(o)) { + Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, n); + Py_INCREF(r); + return r; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return NULL; + PyErr_Clear(); + } + } + return m->sq_item(o, i); + } + } +#else + if (is_list || PySequence_Check(o)) { + return PySequence_GetItem(o, i); + } +#endif + return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); +} + +/* RaiseDoubleKeywords */ +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, + PyObject* kw_name) +{ + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION >= 3 + "%s() got multiple values for keyword argument '%U'", func_name, kw_name); + #else + "%s() got multiple values for keyword argument '%s'", func_name, + PyString_AsString(kw_name)); + #endif +} + +/* ParseKeywords */ +static int __Pyx_ParseOptionalKeywords( + PyObject *kwds, + PyObject **argnames[], + PyObject *kwds2, + PyObject *values[], + Py_ssize_t num_pos_args, + const char* function_name) +{ + PyObject *key = 0, *value = 0; + Py_ssize_t pos = 0; + PyObject*** name; + PyObject*** first_kw_arg = argnames + num_pos_args; + while (PyDict_Next(kwds, &pos, &key, &value)) { + name = first_kw_arg; + while (*name && (**name != key)) name++; + if (*name) { + values[name-argnames] = value; + continue; + } + name = first_kw_arg; + #if PY_MAJOR_VERSION < 3 + if (likely(PyString_Check(key))) { + while (*name) { + if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) + && _PyString_Eq(**name, key)) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + if ((**argname == key) || ( + (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) + && _PyString_Eq(**argname, key))) { + goto arg_passed_twice; + } + argname++; + } + } + } else + #endif + if (likely(PyUnicode_Check(key))) { + while (*name) { + int cmp = (**name == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**name, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) { + values[name-argnames] = value; + break; + } + name++; + } + if (*name) continue; + else { + PyObject*** argname = argnames; + while (argname != first_kw_arg) { + int cmp = (**argname == key) ? 0 : + #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 + (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : + #endif + PyUnicode_Compare(**argname, key); + if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; + if (cmp == 0) goto arg_passed_twice; + argname++; + } + } + } else + goto invalid_keyword_type; + if (kwds2) { + if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; + } else { + goto invalid_keyword; + } + } + return 0; +arg_passed_twice: + __Pyx_RaiseDoubleKeywordsError(function_name, key); + goto bad; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + goto bad; +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif +bad: + return -1; +} + +/* RaiseArgTupleInvalid */ +static void __Pyx_RaiseArgtupleInvalid( + const char* func_name, + int exact, + Py_ssize_t num_min, + Py_ssize_t num_max, + Py_ssize_t num_found) +{ + Py_ssize_t num_expected; + const char *more_or_less; + if (num_found < num_min) { + num_expected = num_min; + more_or_less = "at least"; + } else { + num_expected = num_max; + more_or_less = "at most"; + } + if (exact) { + more_or_less = "exactly"; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", + func_name, more_or_less, num_expected, + (num_expected == 1) ? "" : "s", num_found); +} + +/* None */ +static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) { + PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname); +} + +/* PyObjectCallNoArg */ +#if CYTHON_COMPILING_IN_CPYTHON +static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif +#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG) + if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) +#else + if (likely(PyCFunction_Check(func))) +#endif + { + if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { + return __Pyx_PyObject_CallMethO(func, NULL); + } + } + return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); +} +#endif + +/* RaiseTooManyValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { + PyErr_Format(PyExc_ValueError, + "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); +} + +/* RaiseNeedMoreValuesToUnpack */ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", + index, (index == 1) ? "" : "s"); +} + +/* IterFinish */ +static CYTHON_INLINE int __Pyx_IterFinish(void) { +#if CYTHON_FAST_THREAD_STATE + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* exc_type = tstate->curexc_type; + if (unlikely(exc_type)) { + if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { + PyObject *exc_value, *exc_tb; + exc_value = tstate->curexc_value; + exc_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; + Py_DECREF(exc_type); + Py_XDECREF(exc_value); + Py_XDECREF(exc_tb); + return 0; + } else { + return -1; + } + } + return 0; +#else + if (unlikely(PyErr_Occurred())) { + if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { + PyErr_Clear(); + return 0; + } else { + return -1; + } + } + return 0; +#endif +} + +/* UnpackItemEndCheck */ +static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { + if (unlikely(retval)) { + Py_DECREF(retval); + __Pyx_RaiseTooManyValuesError(expected); + return -1; + } + return __Pyx_IterFinish(); +} + +/* FetchCommonType */ +static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { + PyObject* fake_module; + PyTypeObject* cached_type = NULL; + fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); + if (!fake_module) return NULL; + Py_INCREF(fake_module); + cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); + if (cached_type) { + if (!PyType_Check((PyObject*)cached_type)) { + PyErr_Format(PyExc_TypeError, + "Shared Cython type %.200s is not a type object", + type->tp_name); + goto bad; + } + if (cached_type->tp_basicsize != type->tp_basicsize) { + PyErr_Format(PyExc_TypeError, + "Shared Cython type %.200s has the wrong size, try recompiling", + type->tp_name); + goto bad; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; + PyErr_Clear(); + if (PyType_Ready(type) < 0) goto bad; + if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) + goto bad; + Py_INCREF(type); + cached_type = type; + } +done: + Py_DECREF(fake_module); + return cached_type; +bad: + Py_XDECREF(cached_type); + cached_type = NULL; + goto done; +} + +/* CythonFunctionShared */ +#include +static PyObject * +__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure) +{ + if (unlikely(op->func_doc == NULL)) { + if (op->func.m_ml->ml_doc) { +#if PY_MAJOR_VERSION >= 3 + op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc); +#else + op->func_doc = PyString_FromString(op->func.m_ml->ml_doc); +#endif + if (unlikely(op->func_doc == NULL)) + return NULL; + } else { + Py_INCREF(Py_None); + return Py_None; + } + } + Py_INCREF(op->func_doc); + return op->func_doc; +} +static int +__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp = op->func_doc; + if (value == NULL) { + value = Py_None; + } + Py_INCREF(value); + op->func_doc = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + if (unlikely(op->func_name == NULL)) { +#if PY_MAJOR_VERSION >= 3 + op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name); +#else + op->func_name = PyString_InternFromString(op->func.m_ml->ml_name); +#endif + if (unlikely(op->func_name == NULL)) + return NULL; + } + Py_INCREF(op->func_name); + return op->func_name; +} +static int +__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__name__ must be set to a string object"); + return -1; + } + tmp = op->func_name; + Py_INCREF(value); + op->func_name = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(op->func_qualname); + return op->func_qualname; +} +static int +__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; +#if PY_MAJOR_VERSION >= 3 + if (unlikely(value == NULL || !PyUnicode_Check(value))) +#else + if (unlikely(value == NULL || !PyString_Check(value))) +#endif + { + PyErr_SetString(PyExc_TypeError, + "__qualname__ must be set to a string object"); + return -1; + } + tmp = op->func_qualname; + Py_INCREF(value); + op->func_qualname = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure) +{ + PyObject *self; + self = m->func_closure; + if (self == NULL) + self = Py_None; + Py_INCREF(self); + return self; +} +static PyObject * +__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + if (unlikely(op->func_dict == NULL)) { + op->func_dict = PyDict_New(); + if (unlikely(op->func_dict == NULL)) + return NULL; + } + Py_INCREF(op->func_dict); + return op->func_dict; +} +static int +__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) +{ + PyObject *tmp; + if (unlikely(value == NULL)) { + PyErr_SetString(PyExc_TypeError, + "function's dictionary may not be deleted"); + return -1; + } + if (unlikely(!PyDict_Check(value))) { + PyErr_SetString(PyExc_TypeError, + "setting function's dictionary to a non-dict"); + return -1; + } + tmp = op->func_dict; + Py_INCREF(value); + op->func_dict = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(op->func_globals); + return op->func_globals; +} +static PyObject * +__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + Py_INCREF(Py_None); + return Py_None; +} +static PyObject * +__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) +{ + PyObject* result = (op->func_code) ? op->func_code : Py_None; + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { + int result = 0; + PyObject *res = op->defaults_getter((PyObject *) op); + if (unlikely(!res)) + return -1; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + op->defaults_tuple = PyTuple_GET_ITEM(res, 0); + Py_INCREF(op->defaults_tuple); + op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); + Py_INCREF(op->defaults_kwdict); + #else + op->defaults_tuple = PySequence_ITEM(res, 0); + if (unlikely(!op->defaults_tuple)) result = -1; + else { + op->defaults_kwdict = PySequence_ITEM(res, 1); + if (unlikely(!op->defaults_kwdict)) result = -1; + } + #endif + Py_DECREF(res); + return result; +} +static int +__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value) { + value = Py_None; + } else if (value != Py_None && !PyTuple_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__defaults__ must be set to a tuple object"); + return -1; + } + Py_INCREF(value); + tmp = op->defaults_tuple; + op->defaults_tuple = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->defaults_tuple; + if (unlikely(!result)) { + if (op->defaults_getter) { + if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; + result = op->defaults_tuple; + } else { + result = Py_None; + } + } + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value) { + value = Py_None; + } else if (value != Py_None && !PyDict_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__kwdefaults__ must be set to a dict object"); + return -1; + } + Py_INCREF(value); + tmp = op->defaults_kwdict; + op->defaults_kwdict = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->defaults_kwdict; + if (unlikely(!result)) { + if (op->defaults_getter) { + if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; + result = op->defaults_kwdict; + } else { + result = Py_None; + } + } + Py_INCREF(result); + return result; +} +static int +__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { + PyObject* tmp; + if (!value || value == Py_None) { + value = NULL; + } else if (!PyDict_Check(value)) { + PyErr_SetString(PyExc_TypeError, + "__annotations__ must be set to a dict object"); + return -1; + } + Py_XINCREF(value); + tmp = op->func_annotations; + op->func_annotations = value; + Py_XDECREF(tmp); + return 0; +} +static PyObject * +__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { + PyObject* result = op->func_annotations; + if (unlikely(!result)) { + result = PyDict_New(); + if (unlikely(!result)) return NULL; + op->func_annotations = result; + } + Py_INCREF(result); + return result; +} +static PyGetSetDef __pyx_CyFunction_getsets[] = { + {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, + {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, + {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, + {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, + {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, + {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0}, + {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, + {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, + {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, + {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, + {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, + {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, + {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, + {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, + {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, + {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, + {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, + {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, + {0, 0, 0, 0, 0} +}; +static PyMemberDef __pyx_CyFunction_members[] = { + {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0}, + {0, 0, 0, 0, 0} +}; +static PyObject * +__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) +{ +#if PY_MAJOR_VERSION >= 3 + Py_INCREF(m->func_qualname); + return m->func_qualname; +#else + return PyString_FromString(m->func.m_ml->ml_name); +#endif +} +static PyMethodDef __pyx_CyFunction_methods[] = { + {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, + {0, 0, 0, 0} +}; +#if PY_VERSION_HEX < 0x030500A0 +#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) +#else +#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) +#endif +static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, + PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { + if (unlikely(op == NULL)) + return NULL; + op->flags = flags; + __Pyx_CyFunction_weakreflist(op) = NULL; + op->func.m_ml = ml; + op->func.m_self = (PyObject *) op; + Py_XINCREF(closure); + op->func_closure = closure; + Py_XINCREF(module); + op->func.m_module = module; + op->func_dict = NULL; + op->func_name = NULL; + Py_INCREF(qualname); + op->func_qualname = qualname; + op->func_doc = NULL; + op->func_classobj = NULL; + op->func_globals = globals; + Py_INCREF(op->func_globals); + Py_XINCREF(code); + op->func_code = code; + op->defaults_pyobjects = 0; + op->defaults_size = 0; + op->defaults = NULL; + op->defaults_tuple = NULL; + op->defaults_kwdict = NULL; + op->defaults_getter = NULL; + op->func_annotations = NULL; + return (PyObject *) op; +} +static int +__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) +{ + Py_CLEAR(m->func_closure); + Py_CLEAR(m->func.m_module); + Py_CLEAR(m->func_dict); + Py_CLEAR(m->func_name); + Py_CLEAR(m->func_qualname); + Py_CLEAR(m->func_doc); + Py_CLEAR(m->func_globals); + Py_CLEAR(m->func_code); + Py_CLEAR(m->func_classobj); + Py_CLEAR(m->defaults_tuple); + Py_CLEAR(m->defaults_kwdict); + Py_CLEAR(m->func_annotations); + if (m->defaults) { + PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); + int i; + for (i = 0; i < m->defaults_pyobjects; i++) + Py_XDECREF(pydefaults[i]); + PyObject_Free(m->defaults); + m->defaults = NULL; + } + return 0; +} +static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) +{ + if (__Pyx_CyFunction_weakreflist(m) != NULL) + PyObject_ClearWeakRefs((PyObject *) m); + __Pyx_CyFunction_clear(m); + PyObject_GC_Del(m); +} +static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) +{ + PyObject_GC_UnTrack(m); + __Pyx__CyFunction_dealloc(m); +} +static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) +{ + Py_VISIT(m->func_closure); + Py_VISIT(m->func.m_module); + Py_VISIT(m->func_dict); + Py_VISIT(m->func_name); + Py_VISIT(m->func_qualname); + Py_VISIT(m->func_doc); + Py_VISIT(m->func_globals); + Py_VISIT(m->func_code); + Py_VISIT(m->func_classobj); + Py_VISIT(m->defaults_tuple); + Py_VISIT(m->defaults_kwdict); + if (m->defaults) { + PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); + int i; + for (i = 0; i < m->defaults_pyobjects; i++) + Py_VISIT(pydefaults[i]); + } + return 0; +} +static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) +{ +#if PY_MAJOR_VERSION < 3 + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { + Py_INCREF(func); + return func; + } + if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { + if (type == NULL) + type = (PyObject *)(Py_TYPE(obj)); + return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); + } + if (obj == Py_None) + obj = NULL; +#endif + return __Pyx_PyMethod_New(func, obj, type); +} +static PyObject* +__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) +{ +#if PY_MAJOR_VERSION >= 3 + return PyUnicode_FromFormat("", + op->func_qualname, (void *)op); +#else + return PyString_FromFormat("", + PyString_AsString(op->func_qualname), (void *)op); +#endif +} +static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { + PyCFunctionObject* f = (PyCFunctionObject*)func; + PyCFunction meth = f->m_ml->ml_meth; + Py_ssize_t size; + switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { + case METH_VARARGS: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) + return (*meth)(self, arg); + break; + case METH_VARARGS | METH_KEYWORDS: + return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); + case METH_NOARGS: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) { + size = PyTuple_GET_SIZE(arg); + if (likely(size == 0)) + return (*meth)(self, NULL); + PyErr_Format(PyExc_TypeError, + "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", + f->m_ml->ml_name, size); + return NULL; + } + break; + case METH_O: + if (likely(kw == NULL || PyDict_Size(kw) == 0)) { + size = PyTuple_GET_SIZE(arg); + if (likely(size == 1)) { + PyObject *result, *arg0; + #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS + arg0 = PyTuple_GET_ITEM(arg, 0); + #else + arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; + #endif + result = (*meth)(self, arg0); + #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) + Py_DECREF(arg0); + #endif + return result; + } + PyErr_Format(PyExc_TypeError, + "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", + f->m_ml->ml_name, size); + return NULL; + } + break; + default: + PyErr_SetString(PyExc_SystemError, "Bad call flags in " + "__Pyx_CyFunction_Call. METH_OLDARGS is no " + "longer supported!"); + return NULL; + } + PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", + f->m_ml->ml_name); + return NULL; +} +static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { + return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); +} +static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { + PyObject *result; + __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; + if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { + Py_ssize_t argc; + PyObject *new_args; + PyObject *self; + argc = PyTuple_GET_SIZE(args); + new_args = PyTuple_GetSlice(args, 1, argc); + if (unlikely(!new_args)) + return NULL; + self = PyTuple_GetItem(args, 0); + if (unlikely(!self)) { + Py_DECREF(new_args); +#if PY_MAJOR_VERSION > 2 + PyErr_Format(PyExc_TypeError, + "unbound method %.200S() needs an argument", + cyfunc->func_qualname); +#else + PyErr_SetString(PyExc_TypeError, + "unbound method needs an argument"); +#endif + return NULL; + } + result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); + Py_DECREF(new_args); + } else { + result = __Pyx_CyFunction_Call(func, args, kw); + } + return result; +} +static PyTypeObject __pyx_CyFunctionType_type = { + PyVarObject_HEAD_INIT(0, 0) + "cython_function_or_method", + sizeof(__pyx_CyFunctionObject), + 0, + (destructor) __Pyx_CyFunction_dealloc, + 0, + 0, + 0, +#if PY_MAJOR_VERSION < 3 + 0, +#else + 0, +#endif + (reprfunc) __Pyx_CyFunction_repr, + 0, + 0, + 0, + 0, + __Pyx_CyFunction_CallAsMethod, + 0, + 0, + 0, + 0, + Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, + 0, + (traverseproc) __Pyx_CyFunction_traverse, + (inquiry) __Pyx_CyFunction_clear, + 0, +#if PY_VERSION_HEX < 0x030500A0 + offsetof(__pyx_CyFunctionObject, func_weakreflist), +#else + offsetof(PyCFunctionObject, m_weakreflist), +#endif + 0, + 0, + __pyx_CyFunction_methods, + __pyx_CyFunction_members, + __pyx_CyFunction_getsets, + 0, + 0, + __Pyx_CyFunction_descr_get, + 0, + offsetof(__pyx_CyFunctionObject, func_dict), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, +#if PY_VERSION_HEX >= 0x030400a1 + 0, +#endif +#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) + 0, +#endif +#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, +#endif +#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 + 0, +#endif +}; +static int __pyx_CyFunction_init(void) { + __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); + if (unlikely(__pyx_CyFunctionType == NULL)) { + return -1; + } + return 0; +} +static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults = PyObject_Malloc(size); + if (unlikely(!m->defaults)) + return PyErr_NoMemory(); + memset(m->defaults, 0, size); + m->defaults_pyobjects = pyobjects; + m->defaults_size = size; + return m->defaults; +} +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults_tuple = tuple; + Py_INCREF(tuple); +} +static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->defaults_kwdict = dict; + Py_INCREF(dict); +} +static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { + __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; + m->func_annotations = dict; + Py_INCREF(dict); +} + +/* CythonFunction */ +static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, + PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { + PyObject *op = __Pyx_CyFunction_Init( + PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), + ml, flags, qualname, closure, module, globals, code + ); + if (likely(op)) { + PyObject_GC_Track(op); + } + return op; +} + +/* RaiseException */ +#if PY_MAJOR_VERSION < 3 +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, + CYTHON_UNUSED PyObject *cause) { + __Pyx_PyThreadState_declare + Py_XINCREF(type); + if (!value || value == Py_None) + value = NULL; + else + Py_INCREF(value); + if (!tb || tb == Py_None) + tb = NULL; + else { + Py_INCREF(tb); + if (!PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto raise_error; + } + } + if (PyType_Check(type)) { +#if CYTHON_COMPILING_IN_PYPY + if (!value) { + Py_INCREF(Py_None); + value = Py_None; + } +#endif + PyErr_NormalizeException(&type, &value, &tb); + } else { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto raise_error; + } + value = type; + type = (PyObject*) Py_TYPE(type); + Py_INCREF(type); + if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto raise_error; + } + } + __Pyx_PyThreadState_assign + __Pyx_ErrRestore(type, value, tb); + return; +raise_error: + Py_XDECREF(value); + Py_XDECREF(type); + Py_XDECREF(tb); + return; +} +#else +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { + PyObject* owned_instance = NULL; + if (tb == Py_None) { + tb = 0; + } else if (tb && !PyTraceBack_Check(tb)) { + PyErr_SetString(PyExc_TypeError, + "raise: arg 3 must be a traceback or None"); + goto bad; + } + if (value == Py_None) + value = 0; + if (PyExceptionInstance_Check(type)) { + if (value) { + PyErr_SetString(PyExc_TypeError, + "instance exception may not have a separate value"); + goto bad; + } + value = type; + type = (PyObject*) Py_TYPE(value); + } else if (PyExceptionClass_Check(type)) { + PyObject *instance_class = NULL; + if (value && PyExceptionInstance_Check(value)) { + instance_class = (PyObject*) Py_TYPE(value); + if (instance_class != type) { + int is_subclass = PyObject_IsSubclass(instance_class, type); + if (!is_subclass) { + instance_class = NULL; + } else if (unlikely(is_subclass == -1)) { + goto bad; + } else { + type = instance_class; + } + } + } + if (!instance_class) { + PyObject *args; + if (!value) + args = PyTuple_New(0); + else if (PyTuple_Check(value)) { + Py_INCREF(value); + args = value; + } else + args = PyTuple_Pack(1, value); + if (!args) + goto bad; + owned_instance = PyObject_Call(type, args, NULL); + Py_DECREF(args); + if (!owned_instance) + goto bad; + value = owned_instance; + if (!PyExceptionInstance_Check(value)) { + PyErr_Format(PyExc_TypeError, + "calling %R should have returned an instance of " + "BaseException, not %R", + type, Py_TYPE(value)); + goto bad; + } + } + } else { + PyErr_SetString(PyExc_TypeError, + "raise: exception class must be a subclass of BaseException"); + goto bad; + } + if (cause) { + PyObject *fixed_cause; + if (cause == Py_None) { + fixed_cause = NULL; + } else if (PyExceptionClass_Check(cause)) { + fixed_cause = PyObject_CallObject(cause, NULL); + if (fixed_cause == NULL) + goto bad; + } else if (PyExceptionInstance_Check(cause)) { + fixed_cause = cause; + Py_INCREF(fixed_cause); + } else { + PyErr_SetString(PyExc_TypeError, + "exception causes must derive from " + "BaseException"); + goto bad; + } + PyException_SetCause(value, fixed_cause); + } + PyErr_SetObject(type, value); + if (tb) { +#if CYTHON_COMPILING_IN_PYPY + PyObject *tmp_type, *tmp_value, *tmp_tb; + PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); + Py_INCREF(tb); + PyErr_Restore(tmp_type, tmp_value, tb); + Py_XDECREF(tmp_tb); +#else + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject* tmp_tb = tstate->curexc_traceback; + if (tb != tmp_tb) { + Py_INCREF(tb); + tstate->curexc_traceback = tb; + Py_XDECREF(tmp_tb); + } +#endif + } +bad: + Py_XDECREF(owned_instance); + return; +} +#endif + +/* WriteUnraisableException */ +static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, + CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename, + int full_traceback, CYTHON_UNUSED int nogil) { + PyObject *old_exc, *old_val, *old_tb; + PyObject *ctx; + __Pyx_PyThreadState_declare +#ifdef WITH_THREAD + PyGILState_STATE state; + if (nogil) + state = PyGILState_Ensure(); + else state = (PyGILState_STATE)0; +#endif + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); + if (full_traceback) { + Py_XINCREF(old_exc); + Py_XINCREF(old_val); + Py_XINCREF(old_tb); + __Pyx_ErrRestore(old_exc, old_val, old_tb); + PyErr_PrintEx(1); + } + #if PY_MAJOR_VERSION < 3 + ctx = PyString_FromString(name); + #else + ctx = PyUnicode_FromString(name); + #endif + __Pyx_ErrRestore(old_exc, old_val, old_tb); + if (!ctx) { + PyErr_WriteUnraisable(Py_None); + } else { + PyErr_WriteUnraisable(ctx); + Py_DECREF(ctx); + } +#ifdef WITH_THREAD + if (nogil) + PyGILState_Release(state); +#endif +} + +/* KeywordStringCheck */ +static int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) +{ + PyObject* key = 0; + Py_ssize_t pos = 0; +#if CYTHON_COMPILING_IN_PYPY + if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) + goto invalid_keyword; + return 1; +#else + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_Check(key))) + #endif + if (unlikely(!PyUnicode_Check(key))) + goto invalid_keyword_type; + } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + return 0; +#endif +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); + #else + "%s() got an unexpected keyword argument '%U'", + function_name, key); + #endif + return 0; +} + +/* PyIntCompare */ +static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { + if (op1 == op2) { + Py_RETURN_TRUE; + } + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long a = PyInt_AS_LONG(op1); + if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + int unequal; + unsigned long uintval; + Py_ssize_t size = Py_SIZE(op1); + const digit* digits = ((PyLongObject*)op1)->ob_digit; + if (intval == 0) { + if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } else if (intval < 0) { + if (size >= 0) + Py_RETURN_FALSE; + intval = -intval; + size = -size; + } else { + if (size <= 0) + Py_RETURN_FALSE; + } + uintval = (unsigned long) intval; +#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 4)) { + unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 3)) { + unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 2)) { + unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif +#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 + if (uintval >> (PyLong_SHIFT * 1)) { + unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) + | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); + } else +#endif + unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); + if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; + } + return ( + PyObject_RichCompare(op1, op2, Py_EQ)); +} + +/* BytesEquals */ +static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else + if (s1 == s2) { + return (equals == Py_EQ); + } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { + const char *ps1, *ps2; + Py_ssize_t length = PyBytes_GET_SIZE(s1); + if (length != PyBytes_GET_SIZE(s2)) + return (equals == Py_NE); + ps1 = PyBytes_AS_STRING(s1); + ps2 = PyBytes_AS_STRING(s2); + if (ps1[0] != ps2[0]) { + return (equals == Py_NE); + } else if (length == 1) { + return (equals == Py_EQ); + } else { + int result; +#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) + Py_hash_t hash1, hash2; + hash1 = ((PyBytesObject*)s1)->ob_shash; + hash2 = ((PyBytesObject*)s2)->ob_shash; + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + return (equals == Py_NE); + } +#endif + result = memcmp(ps1, ps2, (size_t)length); + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { + return (equals == Py_NE); + } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { + return (equals == Py_NE); + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +#endif +} + +/* PyObjectSetAttrStr */ +#if CYTHON_USE_TYPE_SLOTS +static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_setattro)) + return tp->tp_setattro(obj, attr_name, value); +#if PY_MAJOR_VERSION < 3 + if (likely(tp->tp_setattr)) + return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); +#endif + return PyObject_SetAttr(obj, attr_name, value); +} +#endif + +/* UnicodeEquals */ +static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { +#if CYTHON_COMPILING_IN_PYPY + return PyObject_RichCompareBool(s1, s2, equals); +#else +#if PY_MAJOR_VERSION < 3 + PyObject* owned_ref = NULL; +#endif + int s1_is_unicode, s2_is_unicode; + if (s1 == s2) { + goto return_eq; + } + s1_is_unicode = PyUnicode_CheckExact(s1); + s2_is_unicode = PyUnicode_CheckExact(s2); +#if PY_MAJOR_VERSION < 3 + if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { + owned_ref = PyUnicode_FromObject(s2); + if (unlikely(!owned_ref)) + return -1; + s2 = owned_ref; + s2_is_unicode = 1; + } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { + owned_ref = PyUnicode_FromObject(s1); + if (unlikely(!owned_ref)) + return -1; + s1 = owned_ref; + s1_is_unicode = 1; + } else if (((!s2_is_unicode) & (!s1_is_unicode))) { + return __Pyx_PyBytes_Equals(s1, s2, equals); + } +#endif + if (s1_is_unicode & s2_is_unicode) { + Py_ssize_t length; + int kind; + void *data1, *data2; + if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) + return -1; + length = __Pyx_PyUnicode_GET_LENGTH(s1); + if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { + goto return_ne; + } +#if CYTHON_USE_UNICODE_INTERNALS + { + Py_hash_t hash1, hash2; + #if CYTHON_PEP393_ENABLED + hash1 = ((PyASCIIObject*)s1)->hash; + hash2 = ((PyASCIIObject*)s2)->hash; + #else + hash1 = ((PyUnicodeObject*)s1)->hash; + hash2 = ((PyUnicodeObject*)s2)->hash; + #endif + if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { + goto return_ne; + } + } +#endif + kind = __Pyx_PyUnicode_KIND(s1); + if (kind != __Pyx_PyUnicode_KIND(s2)) { + goto return_ne; + } + data1 = __Pyx_PyUnicode_DATA(s1); + data2 = __Pyx_PyUnicode_DATA(s2); + if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { + goto return_ne; + } else if (length == 1) { + goto return_eq; + } else { + int result = memcmp(data1, data2, (size_t)(length * kind)); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ) ? (result == 0) : (result != 0); + } + } else if ((s1 == Py_None) & s2_is_unicode) { + goto return_ne; + } else if ((s2 == Py_None) & s1_is_unicode) { + goto return_ne; + } else { + int result; + PyObject* py_result = PyObject_RichCompare(s1, s2, equals); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + if (!py_result) + return -1; + result = __Pyx_PyObject_IsTrue(py_result); + Py_DECREF(py_result); + return result; + } +return_eq: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_EQ); +return_ne: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(owned_ref); + #endif + return (equals == Py_NE); +#endif +} + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +#if PY_MAJOR_VERSION < 3 || CYTHON_USE_PYLONG_INTERNALS +#define __Pyx_PyInt_FloorDivideObjC_ZeroDivisionError(operand)\ + if (unlikely(zerodivision_check && ((operand) == 0))) {\ + PyErr_SetString(PyExc_ZeroDivisionError, "integer division by zero");\ + return NULL;\ + } +#endif +static PyObject* __Pyx_PyInt_FloorDivideObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + __Pyx_PyInt_FloorDivideObjC_ZeroDivisionError(b) + if (unlikely(b == -1 && ((unsigned long)a) == 0-(unsigned long)a)) + return PyInt_Type.tp_as_number->nb_floor_divide(op1, op2); + else { + long q, r; + q = a / b; + r = a - q*b; + q -= ((r != 0) & ((r ^ b) < 0)); + x = q; + } + return PyInt_FromLong(x); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_floor_divide(op1, op2); + } + } + __Pyx_PyInt_FloorDivideObjC_ZeroDivisionError(b) + { + long q, r; + q = a / b; + r = a - q*b; + q -= ((r != 0) & ((r ^ b) < 0)); + x = q; + } + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + { + PY_LONG_LONG q, r; + q = lla / llb; + r = lla - q*llb; + q -= ((r != 0) & ((r ^ llb) < 0)); + llx = q; + } + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + return (inplace ? PyNumber_InPlaceFloorDivide : PyNumber_FloorDivide)(op1, op2); +} +#endif + +/* PyIntBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + x = (long)((unsigned long)a - b); + if (likely((x^a) >= 0 || (x^~b) >= 0)) + return PyInt_FromLong(x); + return PyLong_Type.tp_as_number->nb_subtract(op1, op2); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2); + } + } + x = a - b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla - llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + if (PyFloat_CheckExact(op1)) { + const long b = intval; + double a = PyFloat_AS_DOUBLE(op1); + double result; + PyFPE_START_PROTECT("subtract", return NULL) + result = ((double)a) - (double)b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); + } + return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); +} +#endif + +/* PyFloatBinop */ +#if !CYTHON_COMPILING_IN_PYPY +static PyObject* __Pyx_PyFloat_TrueDivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) { + const double b = floatval; + double a, result; + (void)inplace; + (void)zerodivision_check; + if (likely(PyFloat_CheckExact(op1))) { + a = PyFloat_AS_DOUBLE(op1); + + } else + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + a = (double) PyInt_AS_LONG(op1); + + } else + #endif + if (likely(PyLong_CheckExact(op1))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + switch (size) { + case 0: a = 0.0; break; + case -1: a = -(double) digits[0]; break; + case 1: a = (double) digits[0]; break; + case -2: + case 2: + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) { + a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -2) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + case -3: + case 3: + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) { + a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -3) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + case -4: + case 4: + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) { + a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { + if (size == -4) + a = -a; + break; + } + } + CYTHON_FALLTHROUGH; + default: + #else + { + #endif + a = PyLong_AsDouble(op1); + if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL; + + } + } else { + return (inplace ? PyNumber_InPlaceTrueDivide : PyNumber_TrueDivide)(op1, op2); + } + + PyFPE_START_PROTECT("divide", return NULL) + result = a / b; + PyFPE_END_PROTECT(result) + return PyFloat_FromDouble(result); +} +#endif + +/* None */ + static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) { + PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname); +} + +/* SetItemInt */ + static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { + int r; + if (!j) return -1; + r = PyObject_SetItem(o, j, v); + Py_DECREF(j); + return r; +} +static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list, + CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) { +#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS + if (is_list || PyList_CheckExact(o)) { + Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o)); + if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) { + PyObject* old = PyList_GET_ITEM(o, n); + Py_INCREF(v); + PyList_SET_ITEM(o, n, v); + Py_DECREF(old); + return 1; + } + } else { + PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; + if (likely(m && m->sq_ass_item)) { + if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { + Py_ssize_t l = m->sq_length(o); + if (likely(l >= 0)) { + i += l; + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + return -1; + PyErr_Clear(); + } + } + return m->sq_ass_item(o, i, v); + } + } +#else +#if CYTHON_COMPILING_IN_PYPY + if (is_list || (PySequence_Check(o) && !PyDict_Check(o))) +#else + if (is_list || PySequence_Check(o)) +#endif + { + return PySequence_SetItem(o, i, v); + } +#endif + return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v); +} + +/* PyIntBinop */ + #if !CYTHON_COMPILING_IN_PYPY +#if PY_MAJOR_VERSION < 3 || CYTHON_USE_PYLONG_INTERNALS +#define __Pyx_PyInt_RemainderObjC_ZeroDivisionError(operand)\ + if (unlikely(zerodivision_check && ((operand) == 0))) {\ + PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");\ + return NULL;\ + } +#endif +static PyObject* __Pyx_PyInt_RemainderObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { + (void)inplace; + (void)zerodivision_check; + #if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(op1))) { + const long b = intval; + long x; + long a = PyInt_AS_LONG(op1); + __Pyx_PyInt_RemainderObjC_ZeroDivisionError(b) + x = a % b; + x += ((x != 0) & ((x ^ b) < 0)) * b; + return PyInt_FromLong(x); + } + #endif + #if CYTHON_USE_PYLONG_INTERNALS + if (likely(PyLong_CheckExact(op1))) { + const long b = intval; + long a, x; +#ifdef HAVE_LONG_LONG + const PY_LONG_LONG llb = intval; + PY_LONG_LONG lla, llx; +#endif + const digit* digits = ((PyLongObject*)op1)->ob_digit; + const Py_ssize_t size = Py_SIZE(op1); + if (likely(__Pyx_sst_abs(size) <= 1)) { + a = likely(size) ? digits[0] : 0; + if (size == -1) a = -a; + } else { + switch (size) { + case -2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 2: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 3: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case -4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + case 4: + if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); + break; +#ifdef HAVE_LONG_LONG + } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { + lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); + goto long_long; +#endif + } + CYTHON_FALLTHROUGH; + default: return PyLong_Type.tp_as_number->nb_remainder(op1, op2); + } + } + __Pyx_PyInt_RemainderObjC_ZeroDivisionError(b) + x = a % b; + x += ((x != 0) & ((x ^ b) < 0)) * b; + return PyLong_FromLong(x); +#ifdef HAVE_LONG_LONG + long_long: + llx = lla % llb; + llx += ((llx != 0) & ((llx ^ llb) < 0)) * llb; + return PyLong_FromLongLong(llx); +#endif + + + } + #endif + return (inplace ? PyNumber_InPlaceRemainder : PyNumber_Remainder)(op1, op2); +} +#endif + +/* SliceObject */ + static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_slice(obj, cstart, cstop); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_subscript)) +#endif + { + PyObject* result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_subscript(obj, py_slice); +#else + result = PyObject_GetItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); +bad: + return NULL; +} + +/* ObjectGetItem */ + #if CYTHON_USE_TYPE_SLOTS +static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { + PyObject *runerr = NULL; + Py_ssize_t key_value; + PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; + if (unlikely(!(m && m->sq_item))) { + PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); + return NULL; + } + key_value = __Pyx_PyIndex_AsSsize_t(index); + if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { + return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); + } + if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { + PyErr_Clear(); + PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); + } + return NULL; +} +static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { + PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; + if (likely(m && m->mp_subscript)) { + return m->mp_subscript(obj, key); + } + return __Pyx_PyObject_GetIndex(obj, key); +} +#endif + +/* SliceObject */ + static CYTHON_INLINE int __Pyx_PyObject_SetSlice(PyObject* obj, PyObject* value, + Py_ssize_t cstart, Py_ssize_t cstop, + PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, + int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { +#if CYTHON_USE_TYPE_SLOTS + PyMappingMethods* mp; +#if PY_MAJOR_VERSION < 3 + PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; + if (likely(ms && ms->sq_ass_slice)) { + if (!has_cstart) { + if (_py_start && (*_py_start != Py_None)) { + cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); + if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstart = 0; + } + if (!has_cstop) { + if (_py_stop && (*_py_stop != Py_None)) { + cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); + if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; + } else + cstop = PY_SSIZE_T_MAX; + } + if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { + Py_ssize_t l = ms->sq_length(obj); + if (likely(l >= 0)) { + if (cstop < 0) { + cstop += l; + if (cstop < 0) cstop = 0; + } + if (cstart < 0) { + cstart += l; + if (cstart < 0) cstart = 0; + } + } else { + if (!PyErr_ExceptionMatches(PyExc_OverflowError)) + goto bad; + PyErr_Clear(); + } + } + return ms->sq_ass_slice(obj, cstart, cstop, value); + } +#endif + mp = Py_TYPE(obj)->tp_as_mapping; + if (likely(mp && mp->mp_ass_subscript)) +#endif + { + int result; + PyObject *py_slice, *py_start, *py_stop; + if (_py_slice) { + py_slice = *_py_slice; + } else { + PyObject* owned_start = NULL; + PyObject* owned_stop = NULL; + if (_py_start) { + py_start = *_py_start; + } else { + if (has_cstart) { + owned_start = py_start = PyInt_FromSsize_t(cstart); + if (unlikely(!py_start)) goto bad; + } else + py_start = Py_None; + } + if (_py_stop) { + py_stop = *_py_stop; + } else { + if (has_cstop) { + owned_stop = py_stop = PyInt_FromSsize_t(cstop); + if (unlikely(!py_stop)) { + Py_XDECREF(owned_start); + goto bad; + } + } else + py_stop = Py_None; + } + py_slice = PySlice_New(py_start, py_stop, Py_None); + Py_XDECREF(owned_start); + Py_XDECREF(owned_stop); + if (unlikely(!py_slice)) goto bad; + } +#if CYTHON_USE_TYPE_SLOTS + result = mp->mp_ass_subscript(obj, py_slice, value); +#else + result = value ? PyObject_SetItem(obj, py_slice, value) : PyObject_DelItem(obj, py_slice); +#endif + if (!_py_slice) { + Py_DECREF(py_slice); + } + return result; + } + PyErr_Format(PyExc_TypeError, + "'%.200s' object does not support slice %.10s", + Py_TYPE(obj)->tp_name, value ? "assignment" : "deletion"); +bad: + return -1; +} + +/* PyErrExceptionMatches */ + #if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} +#endif + +/* PyObject_GenericGetAttrNoDict */ + #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { + PyErr_Format(PyExc_AttributeError, +#if PY_MAJOR_VERSION >= 3 + "'%.50s' object has no attribute '%U'", + tp->tp_name, attr_name); +#else + "'%.50s' object has no attribute '%.400s'", + tp->tp_name, PyString_AS_STRING(attr_name)); +#endif + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { + PyObject *descr; + PyTypeObject *tp = Py_TYPE(obj); + if (unlikely(!PyString_Check(attr_name))) { + return PyObject_GenericGetAttr(obj, attr_name); + } + assert(!tp->tp_dictoffset); + descr = _PyType_Lookup(tp, attr_name); + if (unlikely(!descr)) { + return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); + } + Py_INCREF(descr); + #if PY_MAJOR_VERSION < 3 + if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) + #endif + { + descrgetfunc f = Py_TYPE(descr)->tp_descr_get; + if (unlikely(f)) { + PyObject *res = f(descr, obj, (PyObject *)tp); + Py_DECREF(descr); + return res; + } + } + return descr; +} +#endif + +/* PyObject_GenericGetAttr */ + #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 +static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { + if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { + return PyObject_GenericGetAttr(obj, attr_name); + } + return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); +} +#endif + +/* PyObjectGetAttrStrNoError */ + static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) + __Pyx_PyErr_Clear(); +} +static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { + PyObject *result; +#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 + PyTypeObject* tp = Py_TYPE(obj); + if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { + return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); + } +#endif + result = __Pyx_PyObject_GetAttrStr(obj, attr_name); + if (unlikely(!result)) { + __Pyx_PyObject_GetAttrStr_ClearAttributeError(); + } + return result; +} + +/* SetupReduce */ + static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { + int ret; + PyObject *name_attr; + name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); + if (likely(name_attr)) { + ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); + } else { + ret = -1; + } + if (unlikely(ret < 0)) { + PyErr_Clear(); + ret = 0; + } + Py_XDECREF(name_attr); + return ret; +} +static int __Pyx_setup_reduce(PyObject* type_obj) { + int ret = 0; + PyObject *object_reduce = NULL; + PyObject *object_getstate = NULL; + PyObject *object_reduce_ex = NULL; + PyObject *reduce = NULL; + PyObject *reduce_ex = NULL; + PyObject *reduce_cython = NULL; + PyObject *setstate = NULL; + PyObject *setstate_cython = NULL; + PyObject *getstate = NULL; +#if CYTHON_USE_PYTYPE_LOOKUP + getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate); +#else + getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate); + if (!getstate && PyErr_Occurred()) { + goto __PYX_BAD; + } +#endif + if (getstate) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate); +#else + object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate); + if (!object_getstate && PyErr_Occurred()) { + goto __PYX_BAD; + } +#endif + if (object_getstate != getstate) { + goto __PYX_GOOD; + } + } +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; +#else + object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; +#endif + reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD; + if (reduce_ex == object_reduce_ex) { +#if CYTHON_USE_PYTYPE_LOOKUP + object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; +#else + object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; +#endif + reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD; + if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { + reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython); + if (likely(reduce_cython)) { + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + } else if (reduce == object_reduce || PyErr_Occurred()) { + goto __PYX_BAD; + } + setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); + if (!setstate) PyErr_Clear(); + if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { + setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython); + if (likely(setstate_cython)) { + ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; + } else if (!setstate || PyErr_Occurred()) { + goto __PYX_BAD; + } + } + PyType_Modified((PyTypeObject*)type_obj); + } + } + goto __PYX_GOOD; +__PYX_BAD: + if (!PyErr_Occurred()) + PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); + ret = -1; +__PYX_GOOD: +#if !CYTHON_USE_PYTYPE_LOOKUP + Py_XDECREF(object_reduce); + Py_XDECREF(object_reduce_ex); + Py_XDECREF(object_getstate); + Py_XDECREF(getstate); +#endif + Py_XDECREF(reduce); + Py_XDECREF(reduce_ex); + Py_XDECREF(reduce_cython); + Py_XDECREF(setstate); + Py_XDECREF(setstate_cython); + return ret; +} + +/* TypeImport */ + #ifndef __PYX_HAVE_RT_ImportType +#define __PYX_HAVE_RT_ImportType +static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, + size_t size, enum __Pyx_ImportType_CheckSize check_size) +{ + PyObject *result = 0; + char warning[200]; + Py_ssize_t basicsize; +#ifdef Py_LIMITED_API + PyObject *py_basicsize; +#endif + result = PyObject_GetAttrString(module, class_name); + if (!result) + goto bad; + if (!PyType_Check(result)) { + PyErr_Format(PyExc_TypeError, + "%.200s.%.200s is not a type object", + module_name, class_name); + goto bad; + } +#ifndef Py_LIMITED_API + basicsize = ((PyTypeObject *)result)->tp_basicsize; +#else + py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); + if (!py_basicsize) + goto bad; + basicsize = PyLong_AsSsize_t(py_basicsize); + Py_DECREF(py_basicsize); + py_basicsize = 0; + if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) + goto bad; +#endif + if ((size_t)basicsize < size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { + PyErr_Format(PyExc_ValueError, + "%.200s.%.200s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + goto bad; + } + else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility. " + "Expected %zd from C header, got %zd from PyObject", + module_name, class_name, size, basicsize); + if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; + } + return (PyTypeObject *)result; +bad: + Py_XDECREF(result); + return NULL; +} +#endif + +/* Import */ + static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { + PyObject *empty_list = 0; + PyObject *module = 0; + PyObject *global_dict = 0; + PyObject *empty_dict = 0; + PyObject *list; + #if PY_MAJOR_VERSION < 3 + PyObject *py_import; + py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); + if (!py_import) + goto bad; + #endif + if (from_list) + list = from_list; + else { + empty_list = PyList_New(0); + if (!empty_list) + goto bad; + list = empty_list; + } + global_dict = PyModule_GetDict(__pyx_m); + if (!global_dict) + goto bad; + empty_dict = PyDict_New(); + if (!empty_dict) + goto bad; + { + #if PY_MAJOR_VERSION >= 3 + if (level == -1) { + if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, 1); + if (!module) { + if (!PyErr_ExceptionMatches(PyExc_ImportError)) + goto bad; + PyErr_Clear(); + } + } + level = 0; + } + #endif + if (!module) { + #if PY_MAJOR_VERSION < 3 + PyObject *py_level = PyInt_FromLong(level); + if (!py_level) + goto bad; + module = PyObject_CallFunctionObjArgs(py_import, + name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); + Py_DECREF(py_level); + #else + module = PyImport_ImportModuleLevelObject( + name, global_dict, empty_dict, list, level); + #endif + } + } +bad: + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_import); + #endif + Py_XDECREF(empty_list); + Py_XDECREF(empty_dict); + return module; +} + +/* ImportFrom */ + static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { + PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); + if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { + PyErr_Format(PyExc_ImportError, + #if PY_MAJOR_VERSION < 3 + "cannot import name %.230s", PyString_AS_STRING(name)); + #else + "cannot import name %S", name); + #endif + } + return value; +} + +/* CLineInTraceback */ + #ifndef CYTHON_CLINE_IN_TRACEBACK +static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) { + PyObject *use_cline; + PyObject *ptype, *pvalue, *ptraceback; +#if CYTHON_COMPILING_IN_CPYTHON + PyObject **cython_runtime_dict; +#endif + if (unlikely(!__pyx_cython_runtime)) { + return c_line; + } + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); +#if CYTHON_COMPILING_IN_CPYTHON + cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); + if (likely(cython_runtime_dict)) { + __PYX_PY_DICT_LOOKUP_IF_MODIFIED( + use_cline, *cython_runtime_dict, + __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) + } else +#endif + { + PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); + if (use_cline_obj) { + use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; + Py_DECREF(use_cline_obj); + } else { + PyErr_Clear(); + use_cline = NULL; + } + } + if (!use_cline) { + c_line = 0; + (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); + } + else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { + c_line = 0; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + return c_line; +} +#endif + +/* CodeObjectCache */ + static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { + int start = 0, mid = 0, end = count - 1; + if (end >= 0 && code_line > entries[end].code_line) { + return count; + } + while (start < end) { + mid = start + (end - start) / 2; + if (code_line < entries[mid].code_line) { + end = mid; + } else if (code_line > entries[mid].code_line) { + start = mid + 1; + } else { + return mid; + } + } + if (code_line <= entries[mid].code_line) { + return mid; + } else { + return mid + 1; + } +} +static PyCodeObject *__pyx_find_code_object(int code_line) { + PyCodeObject* code_object; + int pos; + if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { + return NULL; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { + return NULL; + } + code_object = __pyx_code_cache.entries[pos].code_object; + Py_INCREF(code_object); + return code_object; +} +static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { + int pos, i; + __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; + if (unlikely(!code_line)) { + return; + } + if (unlikely(!entries)) { + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); + if (likely(entries)) { + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = 64; + __pyx_code_cache.count = 1; + entries[0].code_line = code_line; + entries[0].code_object = code_object; + Py_INCREF(code_object); + } + return; + } + pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); + if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { + PyCodeObject* tmp = entries[pos].code_object; + entries[pos].code_object = code_object; + Py_DECREF(tmp); + return; + } + if (__pyx_code_cache.count == __pyx_code_cache.max_count) { + int new_max = __pyx_code_cache.max_count + 64; + entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( + __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); + if (unlikely(!entries)) { + return; + } + __pyx_code_cache.entries = entries; + __pyx_code_cache.max_count = new_max; + } + for (i=__pyx_code_cache.count; i>pos; i--) { + entries[i] = entries[i-1]; + } + entries[pos].code_line = code_line; + entries[pos].code_object = code_object; + __pyx_code_cache.count++; + Py_INCREF(code_object); +} + +/* AddTraceback */ + #include "compile.h" +#include "frameobject.h" +#include "traceback.h" +#if PY_VERSION_HEX >= 0x030b00a6 + #ifndef Py_BUILD_CORE + #define Py_BUILD_CORE 1 + #endif + #include "internal/pycore_frame.h" +#endif +static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( + const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = NULL; + PyObject *py_funcname = NULL; + #if PY_MAJOR_VERSION < 3 + PyObject *py_srcfile = NULL; + py_srcfile = PyString_FromString(filename); + if (!py_srcfile) goto bad; + #endif + if (c_line) { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + #else + py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); + if (!py_funcname) goto bad; + funcname = PyUnicode_AsUTF8(py_funcname); + if (!funcname) goto bad; + #endif + } + else { + #if PY_MAJOR_VERSION < 3 + py_funcname = PyString_FromString(funcname); + if (!py_funcname) goto bad; + #endif + } + #if PY_MAJOR_VERSION < 3 + py_code = __Pyx_PyCode_New( + 0, + 0, + 0, + 0, + 0, + __pyx_empty_bytes, /*PyObject *code,*/ + __pyx_empty_tuple, /*PyObject *consts,*/ + __pyx_empty_tuple, /*PyObject *names,*/ + __pyx_empty_tuple, /*PyObject *varnames,*/ + __pyx_empty_tuple, /*PyObject *freevars,*/ + __pyx_empty_tuple, /*PyObject *cellvars,*/ + py_srcfile, /*PyObject *filename,*/ + py_funcname, /*PyObject *name,*/ + py_line, + __pyx_empty_bytes /*PyObject *lnotab*/ + ); + Py_DECREF(py_srcfile); + #else + py_code = PyCode_NewEmpty(filename, funcname, py_line); + #endif + Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline + return py_code; +bad: + Py_XDECREF(py_funcname); + #if PY_MAJOR_VERSION < 3 + Py_XDECREF(py_srcfile); + #endif + return NULL; +} +static void __Pyx_AddTraceback(const char *funcname, int c_line, + int py_line, const char *filename) { + PyCodeObject *py_code = 0; + PyFrameObject *py_frame = 0; + PyThreadState *tstate = __Pyx_PyThreadState_Current; + PyObject *ptype, *pvalue, *ptraceback; + if (c_line) { + c_line = __Pyx_CLineForTraceback(tstate, c_line); + } + py_code = __pyx_find_code_object(c_line ? -c_line : py_line); + if (!py_code) { + __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); + py_code = __Pyx_CreateCodeObjectForTraceback( + funcname, c_line, py_line, filename); + if (!py_code) { + /* If the code object creation fails, then we should clear the + fetched exception references and propagate the new exception */ + Py_XDECREF(ptype); + Py_XDECREF(pvalue); + Py_XDECREF(ptraceback); + goto bad; + } + __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); + __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); + } + py_frame = PyFrame_New( + tstate, /*PyThreadState *tstate,*/ + py_code, /*PyCodeObject *code,*/ + __pyx_d, /*PyObject *globals,*/ + 0 /*PyObject *locals*/ + ); + if (!py_frame) goto bad; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); + PyTraceBack_Here(py_frame); +bad: + Py_XDECREF(py_code); + Py_XDECREF(py_frame); +} + +/* CIntFromPyVerify */ + #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) +#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ + __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) +#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ + {\ + func_type value = func_value;\ + if (sizeof(target_type) < sizeof(func_type)) {\ + if (unlikely(value != (func_type) (target_type) value)) {\ + func_type zero = 0;\ + if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ + return (target_type) -1;\ + if (is_unsigned && unlikely(value < zero))\ + goto raise_neg_overflow;\ + else\ + goto raise_overflow;\ + }\ + }\ + return (target_type) value;\ + } + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabsf(b.real) >= fabsf(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + float r = b.imag / b.real; + float s = (float)(1.0) / (b.real + b.imag * r); + return __pyx_t_float_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + float r = b.real / b.imag; + float s = (float)(1.0) / (b.imag + b.real * r); + return __pyx_t_float_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + if (b.imag == 0) { + return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + float denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_float_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrtf(z.real*z.real + z.imag*z.imag); + #else + return hypotf(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + float denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_float(a, a); + case 3: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, a); + case 4: + z = __Pyx_c_prod_float(a, a); + return __Pyx_c_prod_float(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if ((b.imag == 0) && (a.real >= 0)) { + z.real = powf(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2f(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_float(a); + theta = atan2f(a.imag, a.real); + } + lnr = logf(r); + z_r = expf(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cosf(z_theta); + z.imag = z_r * sinf(z_theta); + return z; + } + #endif +#endif + +/* Declarations */ + #if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +/* Arithmetic */ + #if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + #if 1 + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else if (fabs(b.real) >= fabs(b.imag)) { + if (b.real == 0 && b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); + } else { + double r = b.imag / b.real; + double s = (double)(1.0) / (b.real + b.imag * r); + return __pyx_t_double_complex_from_parts( + (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); + } + } else { + double r = b.real / b.imag; + double s = (double)(1.0) / (b.imag + b.real * r); + return __pyx_t_double_complex_from_parts( + (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); + } + } + #else + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + if (b.imag == 0) { + return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); + } else { + double denom = b.real * b.real + b.imag * b.imag; + return __pyx_t_double_complex_from_parts( + (a.real * b.real + a.imag * b.imag) / denom, + (a.imag * b.real - a.real * b.imag) / denom); + } + } + #endif + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } + #if 1 + static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { + #if !defined(HAVE_HYPOT) || defined(_MSC_VER) + return sqrt(z.real*z.real + z.imag*z.imag); + #else + return hypot(z.real, z.imag); + #endif + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double r, lnr, theta, z_r, z_theta; + if (b.imag == 0 && b.real == (int)b.real) { + if (b.real < 0) { + double denom = a.real * a.real + a.imag * a.imag; + a.real = a.real / denom; + a.imag = -a.imag / denom; + b.real = -b.real; + } + switch ((int)b.real) { + case 0: + z.real = 1; + z.imag = 0; + return z; + case 1: + return a; + case 2: + return __Pyx_c_prod_double(a, a); + case 3: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, a); + case 4: + z = __Pyx_c_prod_double(a, a); + return __Pyx_c_prod_double(z, z); + } + } + if (a.imag == 0) { + if (a.real == 0) { + return a; + } else if ((b.imag == 0) && (a.real >= 0)) { + z.real = pow(a.real, b.real); + z.imag = 0; + return z; + } else if (a.real > 0) { + r = a.real; + theta = 0; + } else { + r = -a.real; + theta = atan2(0.0, -1.0); + } + } else { + r = __Pyx_c_abs_double(a); + theta = atan2(a.imag, a.real); + } + lnr = log(r); + z_r = exp(lnr * b.real - theta * b.imag); + z_theta = theta * b.real + lnr * b.imag; + z.real = z_r * cos(z_theta); + z.imag = z_r * sin(z_theta); + return z; + } + #endif +#endif + +/* CIntFromPy */ + static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const size_t neg_one = (size_t) -1, const_zero = (size_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(size_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (size_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (size_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0]) + case 2: + if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) { + return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) { + return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) >= 4 * PyLong_SHIFT) { + return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (size_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(size_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (size_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, +digits[0]) + case -2: + if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { + return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { + return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(size_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + size_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (size_t) -1; + } + } else { + size_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (size_t) -1; + val = __Pyx_PyInt_As_size_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to size_t"); + return (size_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to size_t"); + return (size_t) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int64_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int64_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int64_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int64_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, digits[0]) + case 2: + if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) >= 2 * PyLong_SHIFT) { + return (int64_t) (((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) >= 3 * PyLong_SHIFT) { + return (int64_t) (((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) >= 4 * PyLong_SHIFT) { + return (int64_t) (((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int64_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int64_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int64_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(int64_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, +digits[0]) + case -2: + if (8 * sizeof(int64_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { + return (int64_t) (((int64_t)-1)*(((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { + return (int64_t) ((((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { + return (int64_t) (((int64_t)-1)*(((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { + return (int64_t) ((((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) { + return (int64_t) (((int64_t)-1)*(((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) { + return (int64_t) ((((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int64_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int64_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int64_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int64_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int64_t) -1; + } + } else { + int64_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int64_t) -1; + val = __Pyx_PyInt_As_int64_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int64_t"); + return (int64_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int64_t"); + return (int64_t) -1; +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(uint64_t) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(uint64_t) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(uint64_t) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(uint64_t), + little, !is_unsigned); + } +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int), + little, !is_unsigned); + } +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(long) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(long) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(long) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(long), + little, !is_unsigned); + } +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(int64_t) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(int64_t) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(int64_t) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(int64_t), + little, !is_unsigned); + } +} + +/* CIntFromPy */ + static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const int neg_one = (int) -1, const_zero = (int) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(int) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (int) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { + return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { + return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { + return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (int) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(int) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (int) 0; + case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) + case -2: + if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(int) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(int) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(int) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { + return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); + } + } + break; + } +#endif + if (sizeof(int) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + int val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (int) -1; + } + } else { + int val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (int) -1; + val = __Pyx_PyInt_As_int(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to int"); + return (int) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to int"); + return (int) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(uint32_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(uint32_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (uint32_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint32_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, digits[0]) + case 2: + if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) >= 2 * PyLong_SHIFT) { + return (uint32_t) (((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) >= 3 * PyLong_SHIFT) { + return (uint32_t) (((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) >= 4 * PyLong_SHIFT) { + return (uint32_t) (((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (uint32_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(uint32_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint32_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(uint32_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, +digits[0]) + case -2: + if (8 * sizeof(uint32_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { + return (uint32_t) (((uint32_t)-1)*(((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { + return (uint32_t) ((((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { + return (uint32_t) (((uint32_t)-1)*(((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { + return (uint32_t) ((((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) { + return (uint32_t) (((uint32_t)-1)*(((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) { + return (uint32_t) ((((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(uint32_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint32_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint32_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + uint32_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (uint32_t) -1; + } + } else { + uint32_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (uint32_t) -1; + val = __Pyx_PyInt_As_uint32_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to uint32_t"); + return (uint32_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to uint32_t"); + return (uint32_t) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint16_t neg_one = (uint16_t) -1, const_zero = (uint16_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(uint16_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(uint16_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (uint16_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint16_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, digits[0]) + case 2: + if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) >= 2 * PyLong_SHIFT) { + return (uint16_t) (((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) >= 3 * PyLong_SHIFT) { + return (uint16_t) (((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) >= 4 * PyLong_SHIFT) { + return (uint16_t) (((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (uint16_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(uint16_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint16_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint16_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(uint16_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, +digits[0]) + case -2: + if (8 * sizeof(uint16_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { + return (uint16_t) (((uint16_t)-1)*(((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { + return (uint16_t) ((((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { + return (uint16_t) (((uint16_t)-1)*(((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { + return (uint16_t) ((((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) { + return (uint16_t) (((uint16_t)-1)*(((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) { + return (uint16_t) ((((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(uint16_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint16_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint16_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint16_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + uint16_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (uint16_t) -1; + } + } else { + uint16_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (uint16_t) -1; + val = __Pyx_PyInt_As_uint16_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to uint16_t"); + return (uint16_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to uint16_t"); + return (uint16_t) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(uint64_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (uint64_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint64_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, digits[0]) + case 2: + if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) >= 2 * PyLong_SHIFT) { + return (uint64_t) (((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) >= 3 * PyLong_SHIFT) { + return (uint64_t) (((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) >= 4 * PyLong_SHIFT) { + return (uint64_t) (((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (uint64_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(uint64_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (uint64_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, +digits[0]) + case -2: + if (8 * sizeof(uint64_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { + return (uint64_t) (((uint64_t)-1)*(((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { + return (uint64_t) ((((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { + return (uint64_t) (((uint64_t)-1)*(((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { + return (uint64_t) ((((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT) { + return (uint64_t) (((uint64_t)-1)*(((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT) { + return (uint64_t) ((((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(uint64_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(uint64_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(uint64_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + uint64_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (uint64_t) -1; + } + } else { + uint64_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (uint64_t) -1; + val = __Pyx_PyInt_As_uint64_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to uint64_t"); + return (uint64_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to uint64_t"); + return (uint64_t) -1; +} + +/* CIntFromPy */ + static CYTHON_INLINE Py_intptr_t __Pyx_PyInt_As_Py_intptr_t(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const Py_intptr_t neg_one = (Py_intptr_t) -1, const_zero = (Py_intptr_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(Py_intptr_t) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (Py_intptr_t) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (Py_intptr_t) 0; + case 1: __PYX_VERIFY_RETURN_INT(Py_intptr_t, digit, digits[0]) + case 2: + if (8 * sizeof(Py_intptr_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) >= 2 * PyLong_SHIFT) { + return (Py_intptr_t) (((((Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(Py_intptr_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) >= 3 * PyLong_SHIFT) { + return (Py_intptr_t) (((((((Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(Py_intptr_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) >= 4 * PyLong_SHIFT) { + return (Py_intptr_t) (((((((((Py_intptr_t)digits[3]) << PyLong_SHIFT) | (Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (Py_intptr_t) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(Py_intptr_t) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(Py_intptr_t, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(Py_intptr_t) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(Py_intptr_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (Py_intptr_t) 0; + case -1: __PYX_VERIFY_RETURN_INT(Py_intptr_t, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(Py_intptr_t, digit, +digits[0]) + case -2: + if (8 * sizeof(Py_intptr_t) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) - 1 > 2 * PyLong_SHIFT) { + return (Py_intptr_t) (((Py_intptr_t)-1)*(((((Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(Py_intptr_t) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) - 1 > 2 * PyLong_SHIFT) { + return (Py_intptr_t) ((((((Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(Py_intptr_t) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) - 1 > 3 * PyLong_SHIFT) { + return (Py_intptr_t) (((Py_intptr_t)-1)*(((((((Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(Py_intptr_t) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) - 1 > 3 * PyLong_SHIFT) { + return (Py_intptr_t) ((((((((Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(Py_intptr_t) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) - 1 > 4 * PyLong_SHIFT) { + return (Py_intptr_t) (((Py_intptr_t)-1)*(((((((((Py_intptr_t)digits[3]) << PyLong_SHIFT) | (Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(Py_intptr_t) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(Py_intptr_t) - 1 > 4 * PyLong_SHIFT) { + return (Py_intptr_t) ((((((((((Py_intptr_t)digits[3]) << PyLong_SHIFT) | (Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); + } + } + break; + } +#endif + if (sizeof(Py_intptr_t) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(Py_intptr_t, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(Py_intptr_t) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(Py_intptr_t, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + Py_intptr_t val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (Py_intptr_t) -1; + } + } else { + Py_intptr_t val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (Py_intptr_t) -1; + val = __Pyx_PyInt_As_Py_intptr_t(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to Py_intptr_t"); + return (Py_intptr_t) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to Py_intptr_t"); + return (Py_intptr_t) -1; +} + +/* CIntToPy */ + static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; + if (is_unsigned) { + if (sizeof(uint32_t) < sizeof(long)) { + return PyInt_FromLong((long) value); + } else if (sizeof(uint32_t) <= sizeof(unsigned long)) { + return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) { + return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif + } + } else { + if (sizeof(uint32_t) <= sizeof(long)) { + return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG + } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) { + return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif + } + } + { + int one = 1; int little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&value; + return _PyLong_FromByteArray(bytes, sizeof(uint32_t), + little, !is_unsigned); + } +} + +/* CIntFromPy */ + static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" +#endif + const long neg_one = (long) -1, const_zero = (long) 0; +#ifdef __Pyx_HAS_GCC_DIAGNOSTIC +#pragma GCC diagnostic pop +#endif + const int is_unsigned = neg_one > const_zero; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x))) { + if (sizeof(long) < sizeof(long)) { + __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) + } else { + long val = PyInt_AS_LONG(x); + if (is_unsigned && unlikely(val < 0)) { + goto raise_neg_overflow; + } + return (long) val; + } + } else +#endif + if (likely(PyLong_Check(x))) { + if (is_unsigned) { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { + return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { + return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { + return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); + } + } + break; + } +#endif +#if CYTHON_COMPILING_IN_CPYTHON + if (unlikely(Py_SIZE(x) < 0)) { + goto raise_neg_overflow; + } +#else + { + int result = PyObject_RichCompareBool(x, Py_False, Py_LT); + if (unlikely(result < 0)) + return (long) -1; + if (unlikely(result == 1)) + goto raise_neg_overflow; + } +#endif + if (sizeof(long) <= sizeof(unsigned long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif + } + } else { +#if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)x)->ob_digit; + switch (Py_SIZE(x)) { + case 0: return (long) 0; + case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) + case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) + case -2: + if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 2: + if (8 * sizeof(long) > 1 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -3: + if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 3: + if (8 * sizeof(long) > 2 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case -4: + if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + case 4: + if (8 * sizeof(long) > 3 * PyLong_SHIFT) { + if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { + __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) + } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { + return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); + } + } + break; + } +#endif + if (sizeof(long) <= sizeof(long)) { + __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG + } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { + __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif + } + } + { +#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) + PyErr_SetString(PyExc_RuntimeError, + "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); +#else + long val; + PyObject *v = __Pyx_PyNumber_IntOrLong(x); + #if PY_MAJOR_VERSION < 3 + if (likely(v) && !PyLong_Check(v)) { + PyObject *tmp = v; + v = PyNumber_Long(tmp); + Py_DECREF(tmp); + } + #endif + if (likely(v)) { + int one = 1; int is_little = (int)*(unsigned char *)&one; + unsigned char *bytes = (unsigned char *)&val; + int ret = _PyLong_AsByteArray((PyLongObject *)v, + bytes, sizeof(val), + is_little, !is_unsigned); + Py_DECREF(v); + if (likely(!ret)) + return val; + } +#endif + return (long) -1; + } + } else { + long val; + PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); + if (!tmp) return (long) -1; + val = __Pyx_PyInt_As_long(tmp); + Py_DECREF(tmp); + return val; + } +raise_overflow: + PyErr_SetString(PyExc_OverflowError, + "value too large to convert to long"); + return (long) -1; +raise_neg_overflow: + PyErr_SetString(PyExc_OverflowError, + "can't convert negative value to long"); + return (long) -1; +} + +/* FastTypeChecks */ + #if CYTHON_COMPILING_IN_CPYTHON +static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { + while (a) { + a = a->tp_base; + if (a == b) + return 1; + } + return b == &PyBaseObject_Type; +} +static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { + PyObject *mro; + if (a == b) return 1; + mro = a->tp_mro; + if (likely(mro)) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(mro); + for (i = 0; i < n; i++) { + if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) + return 1; + } + return 0; + } + return __Pyx_InBases(a, b); +} +#if PY_MAJOR_VERSION == 2 +static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { + PyObject *exception, *value, *tb; + int res; + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ErrFetch(&exception, &value, &tb); + res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + if (!res) { + res = PyObject_IsSubclass(err, exc_type2); + if (unlikely(res == -1)) { + PyErr_WriteUnraisable(err); + res = 0; + } + } + __Pyx_ErrRestore(exception, value, tb); + return res; +} +#else +static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { + int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; + if (!res) { + res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); + } + return res; +} +#endif +static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + assert(PyExceptionClass_Check(exc_type)); + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; i '9'); + break; + } + if (rt_from_call[i] != ctversion[i]) { + same = 0; + break; + } + } + if (!same) { + char rtversion[5] = {'\0'}; + char message[200]; + for (i=0; i<4; ++i) { + if (rt_from_call[i] == '.') { + if (found_dot) break; + found_dot = 1; + } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { + break; + } + rtversion[i] = rt_from_call[i]; + } + PyOS_snprintf(message, sizeof(message), + "compiletime version %s of module '%.100s' " + "does not match runtime version %s", + ctversion, __Pyx_MODULE_NAME, rtversion); + return PyErr_WarnEx(NULL, message, 1); + } + return 0; +} + +/* InitStrings */ + static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { + while (t->p) { + #if PY_MAJOR_VERSION < 3 + if (t->is_unicode) { + *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); + } else if (t->intern) { + *t->p = PyString_InternFromString(t->s); + } else { + *t->p = PyString_FromStringAndSize(t->s, t->n - 1); + } + #else + if (t->is_unicode | t->is_str) { + if (t->intern) { + *t->p = PyUnicode_InternFromString(t->s); + } else if (t->encoding) { + *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); + } else { + *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + } + } else { + *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); + } + #endif + if (!*t->p) + return -1; + if (PyObject_Hash(*t->p) == -1) + return -1; + ++t; + } + return 0; +} + +static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { + return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); +} +static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { + Py_ssize_t ignore; + return __Pyx_PyObject_AsStringAndSize(o, &ignore); +} +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT +#if !CYTHON_PEP393_ENABLED +static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + char* defenc_c; + PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); + if (!defenc) return NULL; + defenc_c = PyBytes_AS_STRING(defenc); +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + { + char* end = defenc_c + PyBytes_GET_SIZE(defenc); + char* c; + for (c = defenc_c; c < end; c++) { + if ((unsigned char) (*c) >= 128) { + PyUnicode_AsASCIIString(o); + return NULL; + } + } + } +#endif + *length = PyBytes_GET_SIZE(defenc); + return defenc_c; +} +#else +static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { + if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + if (likely(PyUnicode_IS_ASCII(o))) { + *length = PyUnicode_GET_LENGTH(o); + return PyUnicode_AsUTF8(o); + } else { + PyUnicode_AsASCIIString(o); + return NULL; + } +#else + return PyUnicode_AsUTF8AndSize(o, length); +#endif +} +#endif +#endif +static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { +#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT + if ( +#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII + __Pyx_sys_getdefaultencoding_not_ascii && +#endif + PyUnicode_Check(o)) { + return __Pyx_PyUnicode_AsStringAndSize(o, length); + } else +#endif +#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) + if (PyByteArray_Check(o)) { + *length = PyByteArray_GET_SIZE(o); + return PyByteArray_AS_STRING(o); + } else +#endif + { + char* result; + int r = PyBytes_AsStringAndSize(o, &result, length); + if (unlikely(r < 0)) { + return NULL; + } else { + return result; + } + } +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { + int is_true = x == Py_True; + if (is_true | (x == Py_False) | (x == Py_None)) return is_true; + else return PyObject_IsTrue(x); +} +static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { + int retval; + if (unlikely(!x)) return -1; + retval = __Pyx_PyObject_IsTrue(x); + Py_DECREF(x); + return retval; +} +static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { +#if PY_MAJOR_VERSION >= 3 + if (PyLong_Check(result)) { + if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, + "__int__ returned non-int (type %.200s). " + "The ability to return an instance of a strict subclass of int " + "is deprecated, and may be removed in a future version of Python.", + Py_TYPE(result)->tp_name)) { + Py_DECREF(result); + return NULL; + } + return result; + } +#endif + PyErr_Format(PyExc_TypeError, + "__%.4s__ returned non-%.4s (type %.200s)", + type_name, type_name, Py_TYPE(result)->tp_name); + Py_DECREF(result); + return NULL; +} +static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS + PyNumberMethods *m; +#endif + const char *name = NULL; + PyObject *res = NULL; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_Check(x) || PyLong_Check(x))) +#else + if (likely(PyLong_Check(x))) +#endif + return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS + m = Py_TYPE(x)->tp_as_number; + #if PY_MAJOR_VERSION < 3 + if (m && m->nb_int) { + name = "int"; + res = m->nb_int(x); + } + else if (m && m->nb_long) { + name = "long"; + res = m->nb_long(x); + } + #else + if (likely(m && m->nb_int)) { + name = "int"; + res = m->nb_int(x); + } + #endif +#else + if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { + res = PyNumber_Int(x); + } +#endif + if (likely(res)) { +#if PY_MAJOR_VERSION < 3 + if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { +#else + if (unlikely(!PyLong_CheckExact(res))) { +#endif + return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); + } + } + else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "an integer is required"); + } + return res; +} +static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { + Py_ssize_t ival; + PyObject *x; +#if PY_MAJOR_VERSION < 3 + if (likely(PyInt_CheckExact(b))) { + if (sizeof(Py_ssize_t) >= sizeof(long)) + return PyInt_AS_LONG(b); + else + return PyInt_AsSsize_t(b); + } +#endif + if (likely(PyLong_CheckExact(b))) { + #if CYTHON_USE_PYLONG_INTERNALS + const digit* digits = ((PyLongObject*)b)->ob_digit; + const Py_ssize_t size = Py_SIZE(b); + if (likely(__Pyx_sst_abs(size) <= 1)) { + ival = likely(size) ? digits[0] : 0; + if (size == -1) ival = -ival; + return ival; + } else { + switch (size) { + case 2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -2: + if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -3: + if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case 4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + case -4: + if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { + return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); + } + break; + } + } + #endif + return PyLong_AsSsize_t(b); + } + x = PyNumber_Index(b); + if (!x) return -1; + ival = PyInt_AsSsize_t(x); + Py_DECREF(x); + return ival; +} +static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { + if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { + return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); +#if PY_MAJOR_VERSION < 3 + } else if (likely(PyInt_CheckExact(o))) { + return PyInt_AS_LONG(o); +#endif + } else { + Py_ssize_t ival; + PyObject *x; + x = PyNumber_Index(o); + if (!x) return -1; + ival = PyInt_AsLong(x); + Py_DECREF(x); + return ival; + } +} +static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); +} +static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { + return PyInt_FromSize_t(ival); +} + + +#endif /* Py_PYTHON_H */ diff --git a/indexed_gzip/tests/ctest_zran.cpython-36m-darwin.so b/indexed_gzip/tests/ctest_zran.cpython-36m-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..a01dfd7bdaf0ae1523ca597b70c047f52a4e342f GIT binary patch literal 484944 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 I`Q?}Y2cg;(^b literal 0 HcmV?d00001 diff --git a/indexed_gzip/tests/ctest_zran.cpython-37m-darwin.so b/indexed_gzip/tests/ctest_zran.cpython-37m-darwin.so new file mode 100755 index 0000000000000000000000000000000000000000..ac40f4b42ac8e16943130c8050ea450a23443f33 GIT binary patch literal 743664 zcmeFacYGAZ|37{K4gwf2sF9+PAfTWKL^!1#<{*KKB#3~BQi32wr3uNKCN+1Ebv;Ez zMMcG4C}Keo2!tX5Q7JYQl@7ZG5D`PM-1qr>&F$Ns72aKu!0I2^I~KMwz=RCPE4xbk0J{NJRK!;zKMJFRbTsVey=g;-Jlta~S_ z_&-R=zpSk6p%b&M8(d1$o7-8ny}c6B;2-a+s4DfhiepCfZC2L!?3}^l!&Rl}wWC(} z=ci)$$NLynl)teSy@-6Imo;MO$gxAm0ira$f*7UeQ7VOhyoXsL|H{ZWWX$OC5rs?B zTUJfcyVa#g@V7Bb=(Tl%U0oeC8nG&+1GAk=*^o09H z-Zs_Qu#Cq0(ll(^yfRKEN}Qy6dwZi=?D&{r)s?!Zd-%Wd7Udc} zGHd*#QG>^f%o>|L4)^8LQ_=wu^eh((1N!r6DXBkMS;NOfyg>RT>BU;|Bw2d$zBIjO zO3)j5&wt6+#H%D*W;v7h(e$Y2suJ`{$4N=~_NG~y-k^|p|KD+P?>*V~L>QFTckehw zuQwfrf4u*1dPByH8Z~CLf-Y;n){iK9@iqXi(Q#s#HQbt&HF$ia*OsN%!=mS?6GkZ^ zUuk+&!-xN~vNF=UcS}o6x5uag%WeghG}irz`Rbl@qG?_2aLi~)mVj#mhqc)d>(~{g zNc^T)N1cl?7JeP;*balSi6US1x?}9p7)MRi^}zr9_dag;e|waV;kr_4 z%m35n_3Dn>qXn|SuE3RiPJFm)?10SVCQFZfm^pJ!o5_t(CpNEM10Coh$948SuKWj) z9Mp%nl(l9hrE$u*vG-(;Xfg7>!IPUOH@|lh3TRdEZE&^WE8klmBVCN6Mb7wfgy#Rf zCXLS?I;wf6C^W}4z@Z#xcEvhUz@n*j-v)M>i*m)k3JX+Npuz$b7O1d5g#{`sP+@@z z3shL3!U7c*sIWkV1u861VSx$@R9K+G0u>ghut0?cDlAZ8feH&$SfIiJ6&9$lK!pV= zEKp&A3JX+Npuz$b7O1d5g#{`sP+@@z3shL3!U7c*sIWkV1u861VSx$@R9K+G0u>gh zut0?cDlAZ8feH&$SfIiJ|9`c>9X{=lFX%~Y5$hOWnyacghBbH9_lq{J`l${F+r4*s z`*`p0_U_dqUHivau)3PVr%#MG?g6w?B{?b=l2)x^u)|Y-r;Px*zk};K-o3M$BSSlF z{74po0++vvpl|SLg+>q5rE42~xs^jXHGF#KSf92h)T1ScxcooijqnWZh;faLw-OcU zS|LaVEs~nu)ErGdZ3CJnNmIzDtvB|3QqAGjJ}pf=EpW`0H<}1RcOQ#TicN@bx+_AR zB7~m)4?>LxajmfhGy(hzzA1DDH|B_eP3m?4s^mfp1{ILD@|++U|AvpCp#?jP(=LP?~4_`dvZ1bEeHc3r$@56m! zR*=YybIo0Teo~>RRnWV=Lv`1jT-@XZiASL10zl-{-V}Hi6-29Kqh${$Y7rc_J!Qr} z)hG1Kdy4IB7I3i2?zk!NoWki|nfJ|$>IZM#KI3fl361ieVvF}-X~>BU6y(%;uX#~5 z5nw{qyx{X_g;Be}2DWVvfgs zam9TJKP;8x^6K?AEQS^)g0G4M@VMYM;*W#u4Mw-7hr<6%28QtR^2v z13e`+cg0%}!r{t$mQn}Z2e+Z?gz)7ZU!ilj^}!aiV-u0HCOCWZXU~FTMRcY?eX zVzATO7%m7*H4LB|e|?C`pvMKi#&OFs+elY;UrJemiKlLe#fbVV#|_;ASW19g=l5ud zNzYAlgmM~~ZwgZ9Bwu^ye$=}HccVfYU4ETyTH^XtnrOGn{}k>sw8n!w#R39@J_qa^ zWyWc!6EiNscRj=?LC>BqV62}gsOB7Ix6hBXZ)SVGYVU5h=i2SM=N!I>PB4}+vPe+5i7Y_990&JAjGPRg!5W6ITz>_$F)N~}=@iWhYmCi5XH zeERr!U+$)mG3Em_+~CuD)rqe51$JgvPu^m@3ob=2qX3u42<6jj`ZV~uGAGCY=D{Fj zFsf4hTuzJAC{pf}CXlON6IWmqLi?mE-kF0**C+rx7-6OzO+5jNXsxVtA7@v$N42=# zFcrceyQKkJI5HU9R7-cer5al}SQyJyO9#8x%laxYt2sh0hA%L8oTP-WCrE!*vu+u3po9n=WD zFQ!>zx7^GY0}2_3RLf$!C6O&ZI?=LKwLE9HRAvi$ro(towdC0?W+SxZU5b`xRLlSD zmThctB%x)hYPr{LSVRC?Ut=%suEGE`j`%@$H)+~qovjqwQT8_7^F{k|O;RI*7N^jvD74p^QtFHbKzbJrEu;ksyuQxKujUP_%gS zKf_ch!MMFX3cCAFiNb`SbKH82ocL_JC5qNg@H7Jr(z}0J6nQRBXSs zL0Tw~FQYU$w?s5qWrJL#KsrZ(e5XJb+92jtqUP8rkPj6|zy{f*K$b_z^0)%I-v)VA zfjkifGFpM$W`oR7AcY7*Tcd6Yq_qt)KtSR?JXTFj*gow`pY|CnezgL;)CO#=Xblmk zCoGUlTo4zT=YjAWO{zJ6vFGN>3gLc&NWxrTe5pXT*&urp#Smj)2#jcNAsTIezosCU z*pMG7$TS7nojQx33yjGM5({?~8ILH)h6=KG6wMwA@;)1Ku!1}*T{MCH+@^Vrg6wKT zwo#D7CE5}e$|bIDlx@V!8&w#}>oBo|+%+*^t5ClE?QkeBWq)S(m;>VINL^qj81`DRMcjNSnxQ*imP_0d z3<_i?Sm}k_`JfhZ4~Gei>nLaL#(21LxJ|B&lC{2)HQtg{S*v)Z5Q#{6QlxATS|RsP za8^<-dMhkt9h>Yvd>s%{&W(!T#qWqA|F$R3H2^_BfBh!0($l=0&r1C8U&uWkL__XF zP*U-~KEnSkoA^D7f59(^eJetnDgHqlq@w}}MuAjUAmeP1D+I)IYa6lk1Az2t-x_P_ z70ub(hWewPDDtD5P|h!Su?DQe!89i=TP1Z6O$u;o^kIatdOH+&6_~dFZvUEgrXNzF%8x(NxJY znA|PT|4(rrV?*Wv5+)g=xDSfvUMf4NjD8<-PZRDdKv8+(pI5`&8`?BmEAETL1PKQj z%NF-Dw43IPu_0?H?!P6A?)!PMbuY#JQsEve+}nk@&xmke&XJq;{OEGkKgiY^s%9#- z&)FbP0t8A=R%{=z*s3^?#7OWWhQCIbKMCVt{0Cj7dgTanpG~=~V!jNcug$!QVt#`S za=BvucT3UvI4{uo-EZ^C3D_j{nI403v5nEOLE%^MW= z*D!Y2v2ccV)13F%AT<=*-?-zaC+_FvKVu1!{AO`2|#{oxYP zDjj-2tIq(7$6&d*K&#%61uXx@Wi7vLPpwvn#QR0!%cR_0T;6)w7k7r4mQL>NUhc||mN1?q;}^T0!C^23W^O&+t!#w$&x z!?4iAp)~nkRB*PFOI%Hew6>O|$!L)>MWpW}`dlf056j=p^7o{~MKgg}Bjp15TS>I- z02pI}3Y9_7@FH830C+&dkyo_QgxVLl^{ zA#cMs@ftWp8d z60#4nnQVy{*_T~U>WMG&5+%EkjmUmZWWP*gF9vHRdxwbZwQREEKo+v^6SpJ`h76Fs zy^?(aFk!A^5K?&IQ{f`}DY5%Ni8AUJa^EU?^q07PT51+bd8KGJ5_F6sk(n;7wbgGTvDdhISX(9L3VVy=S2>T<`Ci^1DLZ>*T)1!cePQyhR z=VnL>mUT<(lq5PmEPo#o*^i4Jc@p94fgEywE@c&m^FhG4G@{ckhBtL;pmd5=I-PC$ zpE~i0b;$h?oEdU=2Sw$ldC!M+(rmJy!5Yx1tpr!XN{X+?J&6lq>=fjMPJF%|9uEq{ z@;gQ1#Zo>DQ7}$OOsM{InP~VW(2R5y8XOOOm4{^*d0Y)n9Un8$hR#mjre}$ZhE%`uQM8$X!pg=`DKP z1gwyItY~(>c{57^l!el!GoH~7v9~S_Ff@{b%@jYIm{8UOO{?tpz-CJx}HLO#{{IH*9+GJ;e zEOh!!9F#B)u+XU+F7Q)txx_7pz-y7N%UG8pvi=}(t;W+X;vLTSA@?l#+grTWQObP< z@(EB1x&M;-=2Fu`%1;Q)MN-p8YUT?4=Rni=lrEULQSHe)ze8AvA+}>|hao<0EQWZC z7aF1}1uR}Eaz>onSPan%5fF0!4bsZFou3ICBF`o}31ndi0}{cx_dysKq7yDKL^rv_ zEv9v%1NKi5f4PW1M^wB|!st~|B_OK2EA^iUOh42Z$0J_2)Moxyb6i5okrsVowh+Dm@x^LwTJ<6?)9Qi zzDWO)1kd*X4!Mh@hI$$;mGqp7huUm9D(M?5=`XjXx6%k99`T4S((i!VLhc7ZQF-LO zr^3>6yb|e;;9(G???bEW3Eu%0(l5gW(l<~Zk$9!0kWGsQ_ldQ?5-+$#gKDC|eL%y0 zmy~~!ziTBX&Px6BQqC8wkhD&cnhjF(H|Q8`7&0?A&Hx{%KAA%REsTvyTJgGu6fW@! zUZNZ)QbkmMS5*HQ_Q5y?(n|G@=7m+i-X?n#+l5fQAGCz(KLQr2FUJL{uaQe!eaI=i zkWPx~qs2*0MCo&)*5^|GRstnnYF0`)TU7i~YT~8*j?|Bo@<&uRT}9Ja==vgu2I_hz zgo3UeuckDKEqIC2Rm6zs`m^YI4hF&e2Z~D9&z=nHdYetwp>!QXee{GAfQ7DYae=Pw z;=^0F$@*Z<9`jv zDRDS2q>X8S1BkGQ=+Rs@YTJn(t3h4qQ7NLwGd9^aAPb+h5Csy(0v39BAsqC0M=o&< zaVeokCz1UjpkVzYf0N|z)l%PI)x$T&Cn`v&M{}EDA?7pau{25ac!?M2QF2eKls1D! zn{2o)DU%*2l_bp*@1CNKrZD-S5 z1xSc{9XKP1ey5%FxQ*}{#9aS7sJIi7gYg5>mbekJN|@QBVr5Y*DP(<1aib|wf5s`{9Zi>ELl}Jy+U~tHECDI54 zD;!c?iS$11!n11}AVTiiV#k?i54pF>-*2R50xi2!`JJ=tGd7#OSi3^>!Yf7e6}*%& zYpFT*1JPkQJP>kM3+s^iXxOZsY~r~fj>BlLTm@||ozH#{Oz21+ z%V9@S=c!0Eo#fyfOl(MaZI5va)yMI?`aEl_yT4|u?n&E*b6Abg#G{~rk5x{ySb7xIbP{%rgp4Gf#q@JXGw&Pr@-2H(&U)x=HAPAw7xA?T6 zfm4miyOTracTmuq{}D`5)F0B8Yqmy^5qj-Uw zU7=9Ao`%D;zv3`04&~jz=)+G)dkAWHOg2(83?_QG9!Z9>N5LygP@4tn7~=YLAC3Y&u9h8zI9TZNk0Obkj4ToyE6n#~Xouw(g|Qo|dbN!V>nt`Q5M2J@ zD5c?eeBeP8%zF`HJaRc}GuivEcNC;Ompo0n^B^(_>B}F zVevC5E@N@66yIm@Ln(g9;@eVO$Ks198X;Xw=nAyjP4hateolYzg@LE#5#0}n5ju?pKD<&*q8lT}q-K`V;6~Z1g{W z5XU_lM*m5k=u!8T3f)x_{SBg5v(bN7=(mN@Uksy9QRusng+vKIoamdW7j-XE=<#9n ztT1{9h5m9$^d>~tZ1e*Pea9AC_oOiT-*ZIw`%9vm=YW2zjlNrBI zk-8i>$pwD)ud{e7U=sd#^EWVtpC`4yAg49x2Wkpv*$yb3l7oyCI4~GFln!a5+ zumsQ(<~T7_1la4LEoKr!OdS^uiLCKrbkufh5q_YI+Dw7~_B&BChV7ScMmRW*y8s zknleP<``_Pk@7j*WoWOfVcPkH;>r;Zbn0J50(g_iK6SZA2*6n&!1y07?eXPCUARzl{VvV=wjP+7(8W+3!p;xxT&bI zUM!U}(0m+8gs}s#mJop{gzW-YlfoGtP)aUPugT0(19;TSGP;cD$YJgR<=setj7Jq^ zm;XKVE>w0D%eg;ha-`7t64cjz<%35tS^}u90(y=FUPhD5FOw3?F=!5}m7y!s20i;L z0q%L~XGLGh93seo_Gz1afh_=_ak3lwa`6&DVy1Rj-qgXArxk{7Z;44NQ#*xMFWShA zTP7U|?9Rq9{E}~hfu#7fO!9*H56N8@$mYtccbXC;?m#Y>5p2A^GA@`8kHeOXyuXUk zTIk$^YW_ofwWI;sJ8NySlg*{5aJT~8KC+U{KR%^DomJ6*R~x1)%4g*6h%wKi{EDKS zfS9%@4`X<@cYX|PmBt=qn=9}{g!1!>atAbk@(qe|bL4uIxt&GXrzm$rwMBUWil96o zOu1e)q5NWmvR6?aC$t*xMurY++zT*L-fP9c@jt{GGl`9Vu*OalLAi36a*tS{+$%!) z$VRcoTSBX`#?@EQQyUxpMuS`qklPWw(x>K!-&AK`-0b@xoX)sX^At%NIzZp+j&8YQLYp3Ryt61X3Q zapx%9DGGNoF5VS`ATuaD3kuR@VQ0`82Rh*#JH4<Oe%6m%b>^4+5^3Kr2))31T7V8T_2NMo*D=HZ0#vKHTrAlcK>_bmT1A(8{172+Mt|IWNBEa<8yTS)BkXbiFB%#cp^(tt&0?k0o zOu`@Zx5p(8+*^QSbyMRnaE3d|2;CVx?+){5hTQ6`c>J3JnDD*}SvNGF_ zL7HPu#2-tC7Knify+N;Dm|hVj2qx^|eo!#3t?1AaV4(Ws?+0By5> zn864#co2V}(k3pSf^J8YN=+@5`jqm+0EjSW9jJ>L)07DPl?Vl|iApoTyyyX?Mt^b{ zia+Z1P2MiUA1Hhmn3`W<@Kqhf>~_*pHuvnE6UKo}%P^Z5#pVz04+Z1y0vqp&zA6eY zEupDXG@S;b<~aN@;?OF~PY%%D)e@5IQFG2jjrqyD%?H#_x{1>%-mw)v31?re=J*89 zu5CA4U3do*0L}RdVM(hF7y+rTLi)UXqy-8o$3{8;8vv=HLVB@$q~Qw5XCp0DNXNNX z6ij%qe54x{(iJw+B!%>eLb|nlq`xph6mMBfYMW4sk~+nDA!#NKF+|I~!@NLRzMfrj(C# zYP}dD&PHmlknRMu-Pv8!P)29(SE^^+iI5$&hHzW~UQdi*LMP!CR~vWemcx+q6^$?^ z;1b>x0Vyl#a0L!xNHk|47STPPz?OjdAyR5<0Qe4pD1%ttFppne79KxyuO=Ax0q(pj zcByXh*A&!+2Y@c1rVQ)F?jzlrH)TSzUxU9#>;o1n=1iVbrAvgvfs;g zA>{ZN$$&`vqmYRR0`0A>p#Tx0U#8YQ?;$Tha{UW0&}rIarOYgDaamhQrIaBJ4mG08 z5KvsVpL2+IBNSk5#cr;}?%)KaUDgG%yI#(e zdG3m07l>xZ$B)A9v|{%bvwYp%)MA%ovHO$R=>>#JUB&JssMy+F9?cGi92L7mid|d9 zPS)2jW>t&bGZ)CNtzxG~v3s)T%^CYl}2^D1^}3b3DIcZwIVYhtn6CY$)@?|08DD)~USjk(1er5%n%D|S3_i5_zl z%Rp!swAg);qqKYA0@-PbN}nipcSp0sse8rl4h1+>v1@LzyVYV>?E={)@g3#qa5%gr z>uf!5E;tnR_vRm%gvnO#euh+#>gzTff_K8<~j4zHHkd13CD7#O3N<75jdaG!pH$Rp5^M%yy zEC!`Gki}V2e1OFXQk=-*NGS$byhn;pu-FI1@|nmt20C)o&#fGjhOa*4$|jg2yC&vs z5r`jK$dy@JRmzS5DrMSfp&aocb_(nOdFvJsQ{gXxzeolCju;7zhXKh*d~v)A4V^AM zU$+kBl-;_p<-8&yr^+vs71cy*$?fttmHs7W^&t^)1?osebTVQ(QB^3L_{(532*qih z&t^(J*omYOw&3N#l$f2*ikae`5*tXYW#}XN`m|sHSfsc8BDXY}<-{^(V8@P=!Ulo|Jq?iUAw6q{i@tm_09KNqaVxzM zTuy0x!KXx{VDJp@^nAv=F$wc1$mFd-)+8<+gdq!Exq(Cc^@Cgz#(#*Nf?pm~KD$VE z8^e#c%9zJi{Q^xW(v)XHHb4hRV|7opX{oo#&?m;ifaoarl!WRw8Xx`0<3FF~i!bZ7 zOfZN~XO2-L9a&h07LuC8nlLR=7n?HhM?!;!u*L!fIC3j*QM@~&#QXDRSN7e*AYyJlRVB93^oa3`IZz1_Y z1fBpTwFHM~nc61rC!mJ-Y@@=j1A2(d|M%~R$YZd#S`qlKk&R*VFsi-z`!EC}z3vNo z*3dkEKkIAwIaW6YHFGp70OA%9WZ&35I}R*!4C;-iY`XrcN^*+)CrHC*l+Kqstp{pM z)@X$*iEb3NC5>aCq0)Qwlt6V5GdGAxzmxdceURc~4w4*tV3_q-{Fs~Z$Ikc5x3PR$ zC;}2~YXAR`SgP-cxW~|$k+sPYIi4Fgm^O}%K4)L4;g@lO5=?qJ7A;xFG#=Px*Satyj(gbIgGbYL^0ORRJf-~5ZD%M0x0 zAY%n~GAUYW>z;Xk62(1=m&lrp6v5|`BoBtP{p9_sLJQu;c7SE+zL4@^Od`|RyifGVtlEriJ|AptE@_8PP z@H9*CY@>KKwRk!$o(oIzboo!SqQu-MhK1c-{(n>(D-aoKwBU4VZUZZCepB>NbLY?O ztT9YS3Q;twj<&kFKlL|uJ{dvUvRI-!UW*#993Nz-RS#U3|8s;h za)lU`4T`k6k}atWSWr}2EF*r2TzQ5(rNcaOn5qXoMUNqK>U$rA=0G{8GOf*LEGJNp zz%s7ApU*4Hd_z$(!R27h14wv)RPP-;^zz>>ozi&+Zq)wYXQaM(1Rs&$(_*f`wV)q4 zvQ!v&4XRd}h|kkmQUwwLU_LD|>V})m4!aRBQy_y1n4Di>CDj%0XR$`;uSN$E$7_i*h~iuVD6DIi#aM@qEJxxr4NPOU#UJF<_%z*tVf4p3 zY`MRL#kH6-r&h$2JO{-!djR=YEW8k^<-u{b7@VO~F1a6#p}F&sMCYD~bIoa38B*!a z#c$CFm`|OzhTGx$7x;))+avF@n9QoY`L|K~cfW`B$6+a@{ifq#XRKnegfreojdv}w zCefZ(qhm5Db+@!13}R+3q4N8acux|4JWPC7g!mU_h?AXnEfy9+oL6ICOA_yA5qFaK zQ-bF#fAH~^#BXmZkusACs;w&j6&hsLUY^7i* z=GEva;*7Aw`5%axIZB*1A`Wf-Ew%?j@v!&)N0hzkF>M`o$Ww=wC!>FwoKSRr$tP&^ znv61Bsin95Df?zM8t_#B>719zYbTu}>$9hUEg%2;**K_4hwz^u!Jy}B9R!1MwWo7! z#xA*%RE(wY7cygxh*+C(G{koqITB)Y<@jd&bTi3J9Afug|9E*--IMt{1$1A9bU%5g zapz=v-TEG=$}rP`a2RGVzHGq^!3T7Ofn^}s9AkkiFjVvmKO*geTWjG90tzq@fF?uS zoBzLD6fgS@^7MjhRcKB;1}W7zF^a_!q1g{L-nFt71$XgkyxN?UazKgWMB%q^ms{|h z$=DDG&7CV9C&uO91!#hJRkwP8kK`n_K7+!Nc-!D1C5wp&xMm4V-E4f(nGCw8B|*C?o4$+r&GLhJC(?#S%XM5H;Sl_>hiR zfmh?*X0*Zr%L-q84F-<_%7_b7TpzLP$7SsLI%{B2*~Sq)Zby3#m!Jyi)= ztYfLlUd$`Ty)Y&_TwtP5ar*f<4xbI(HHeD^y3?ttDvUyl=AcpI!M9J*j8y0heU5(+ zI2SXpH$OI_$ZKDTA`h@$mRsKZ%c;ogsQ2bKVsR#l#{PRO3AW+6HrQ3NBD+zX45+LUzMOS6$I(o2er74l@acr6FaUg48A202*@jBWkLBwYTO|pL{tkecj z#+6};XCfhVtV{^)W(_DZe>cVn#m``ImC%#oUNo4?8A3-XKC3d7))(;+CG0*ZD{S{# zstR^*H5-j$_e?ZLEn&R**Hi1d$U)HW3SbK>L1YI4`Dr*^fYme`GTM$@SI6a_C-N7> z_}WT}nq$a`E)J|=0zq|`y}1tN0)q#csk^p8a?4qpsxRT_U=IM+ z**flZ4Z<28TUwfR77X*!g>HErjB zC7U$}39hV+tR@VyA0#ALL4m%2$;|G6^5%ax3&cllhqzx3w8X8g#6A9^61P)C+}~9d z#7zi`+oH6%tspM?<`K+#st=mil02hG$$m99fh^f;vsglQCu+QFyFpNDz^n1XwbUR5 zWGVZ)ZIFEr0$6RQS;V5Y)8a`p=&8n)c`$BPu5736#3LLe4O~%K10p&tHVeF;EJ4BG z7aP4=A?W9sNQqtktzck02a8bT?2aOC_RSDgz5~rIuk5DQm@kA1S1u);lh}GwnZSt& zO58Uv_ku1A4ps1Wf|_PVl6-rMyvtuRViAY3NSKYwf1I5awvgoKabdt@C%DCf;!^R!KVwA)#e;?E+sh3$&^J;VmOI=rp=1eo232tYu`=n>0TMtMsK!4tV z{ya!{NPlLd)t~cFL_buQ>=i)&|{JW_Pu7y`4P&W#{@>b}h9Y!Pa&7ZItrPb6Rsh(#N?ZS9VWb&!7Kq4U%`3 z#lT6#nG$|?XES-FmGq}JkHB3_spCEeBv-JxxX_IJ%{MeV6)TJ0^DTXsFhRrO7!3$*A zK{0Hg7*19UKfW_cLw?^&7*F#Jw2yiPG3Z!tU#SZc^OuP=n*VWr_w zQVDtvZ55Nwie{K)Gkj1n{N#XWSi@pC+hW-C0vW!hG@POs&QlC)MKk30w?xAQBAdsj z7`{vlm^8s+xPi~WFTkV$#ju8A*jX`L*gMLk{4|y@yh$Q#$xyyU}@3;7szm! zV)!h@4th?0CMInW%}^eLfTW)v*ub-!VT$24VnD-I7Q@q3E=^nR}B9q1~k0g zVtD-pGOVr`c2NvNTg0S4_KebypJ)<>FUox2xl}QnXEEFhSZX-(0vZ0Iy2Ur767(!p z3?GPQD8KkaAGT2pU)c*#-F>~qaE!&U=>-POR>kmM#c+UPc<%Nn4f%4DXt+~`XHT+X zxSkj==|6y_hDjI5aIs?eJE;Uc7b%8XG(&!YNEnV(3=8&%hId&EgBHWu7sxQE7|v1* zS8Wy_)`@1w&jSfVoFrqnxJ@xUK@4bkrN!{#3uHK2F|4H+-me(G*@MJnC69;OOhxI# zg)$#_e*RfBoMSOu1X!BXd4UXXQw$eU?4YNvVt7+DLw+Mi7`9UkM=6F^Sq$4*3@^Db zhJim2%?2Y)CE$k{+-haETjD%=lVl5PkjwLvHpZv*xULx&PLqPs@3XnJ2kb#5f#zsT?*8eM7EnD*Rb;*_DPSjW#F)V6e@;1ifW4qq`-Vgy1 z6L@AFR*H)Wm0yn%&%wPne=r4n2t{KR9IXUA6XA2L44>V?=P2`1@Zr^{DSYm+__QFO z<$zKvzw5AuGTUMqXWSiTFwG1rGM>c}tFn7gqgG|I6AdQ38gF1zR8efImU@AMSn8Rr z0PW2mLoGfk0Fys%v$c3NqQ(3&TFe$LB)bL!UX3&`@aB)Uw73t%%t3_8zn0dz3-{jq zhsdWp`2@p!Xj027FPGu-7;C_RX|-{nHaSdD9Q@fNzLpKGT< zCeg;F!sjWAk1{D6%w|HoJNYz_;;ZCyIr-cX=2IBqv$_l)(GYx?I~$9z+3wAM#o|Mg zde^eS+_;8z>qkDHNO2kYEJe{cmTBv=J;LYHGJHfs@L|eqbQV7ET6}0y?^-sP{e^fw ziQg{8&sgjt#S!G*9z~?c?S7C^_N(#l7??-C z1}uklJ~Y071TqkZ%+{zL*6|-F(9|gVJBuaukoK_#I`Z8~BMVPby!q21H0PL2X!5RQ zgE=wZ?y*O(R|6TW)xRt74>qYy?q?hGGi;+Cjcn2EQ(H7A{$Y5^;iqk^0YfeejN^FH z=FMMi8TCUndDpVRtOkZgmoUYe5jQ!?xaqh>k$JzdKq&H&6jk_2D6+v^zMA3i9ewkT z6c4iak`#Yqah??aVNsJ}P1wPlCdE1|j+bI%7Dq_&MivK1@fH?)N-=}Qu2Q^<#ST&& z#$vJ*$Fq2i6mwX-0!7O|58|O`N&jTA2IfLm>M;1c)SJI|7X88sj@&=3f&<#}$!qOy zwgWP05#{ktESB(iOUqnbwHTv>;Z%j8MF%48_|lid>c$ zR|v%e7RA;=kqu^RQXC(qs7ENyC_{0yMUm?cV+$TVd-G3N6nhCpHkkWYf?|U(#djhU zUn)Z}Xi?qWhf4_C^G*x+6u+K7R7Etkqu@~QhYp2@s$Y0XUb3vSQMFH8%J<7 z%9}sbqR7{a@pOL#Tu>NBV4c|*b znXvjRnSJ=Xb=WBFnHn|waD9&M-0KDU0YW}iNQ#SsDg+UWVV5Oew(Pj*rE z%+3_Cv%5r(J$$X$+ME9aht9nDkBG+E4ZLf)VQ*dndA<2FP-#|^;w%>b`iLV~!k?51 z2OU<40*`l&Qh>iV(pqf%(7cn^h0~QM8oZkbkz;g_PxbrJfs|w)8 z;LM>n|BbK`tTZ24P9>hBu4a6Z7(9nLP<_ykoXAo1I5@NRR`tu1ty zDY`YiYguWw1_k)B6?F@GGFFNow|Jw>K(J^(I<})xcYjX|nBfb+Ua%i)*rNV>Ao7EU z#z<_`;M-DR6R^_MKBNiWqu$e`_yLRKQG^2HC{@t2=o3*OHd+B9M=Nm4Hc=qSQsAQh zivsD0TCw%NEATuOScEk^egQ1304vSSA5eiclsaFE1uVXgA{2O!QUyIVlmcB-Xk9B2 zC318iPQz0NcwjhHh6lO<_Wu-!enjqhl;9b3<1n%rBxhkISZP)k$+uGSGw)NMFIYT= zqS4Hz`|p9sk0%VO*qRc?BXg^NClLDAw1Puo> zqyqMW192vtejXF>ONYh*Ea&kqff5xXA}dXY=)E76<{$6T1P59C1w|-eQmUY5*2kj2 z^o~&q5II_bkFYNf1>U8~P#_nu7py=5oPHh!_+3QfYEj@%2#9kjP=J-@Eh6==s5Dzk z@i!KmDg~M-1@?U;3as%&DL~|C1^&P;I20%*1{7Ei*b7!51b3ZB0e%$GxCfhfI3Y9J zR)Ce}v}H8=UzB>h6#rpy1d8y$aGEvfNl^;?-62W=B1bFGS}EYM6o~o1DA4iz3Lw>V z7z?pS=gq$~tN<&`{CBB9byS+~OR*-4Z=z_7jTV@|BCyVa?#ca3EIyAa!s0yu3yVK= zA#+d?tYc`1F|m4YHCJSom@97auHAzqj57wW#-XZW^(HtB(F;$Yy!lC#GDZZxjK$)m zRO50Mi%>MKv&l!DHwdpXvzvO?%HAxup;t+0fBW;O z_JKu+SEFNu&|)DpnS|~pp=ZxWh(9w=iFh^sz#mJsAwtMcLbXV!$N2~qT7-Bt7Doux z6GD%Y(B?%TRPB6(zO@MPY7B`G+R>9XnomO0NoWl=|Nqndhb%(88ucQC@`TVUBy>Utlc0NMI79n1Zya=J<+o{?|B=i~y9cZgmbNL^D zfc6lDb0w2F>=hcBNDs{(XmZu}V_bAN?(k`cymxy0c<=D`?$slWKlb@mx^~K^-|Pz% z=QK*!aM&NOQGS`KoizTr2}HOba2$iHPun!ZmsB}j!{=KQuKAST>BB;L4}O$I{hgz4?!+FBoJ;XSz(9(@cknb{k956Cqf~9|$lT7&VhTIAq%imhRZ52bK;H~~ z${?TKZG=z52UPDYaMkME*H_qign*F$GJ%}}60IAhB^UDt6GPkC@C+J2FC^de!q1%Z zeZ{X)r*&?b7ASW4e^!WKFn&;mK4e6O24)(WrET|Vokx^C0F)Uh=3B5;=*t;um3rmsjfwjbKdLiawzFHbG8{jtbd-EmZ$EW?7p$~_7C&0X8Mu_ja z!gpQ8cUqs3xn1Gxu9mZ>_mHm~!g;+?s3A__MI4t?qm+W7oKY|x-1VDyPcslHaNrQU z6y9yn|H*mfS*WbTG6M&**QmpwAKM>2EPAJezW6vb-Wa`OGe0YcIKcZTk>NY^$=Pk2*e&$D$M-uO7oCIo{gT`SDchHf{Ow^9|&@WHqYebi=e?%$#8 zWJx%8r*%;$d;t=icyn!$y9BKDMXb6O8?VB-;6TpM z3`B38sOZHJ)|1%~5hsS5LsYPZ^fintQ8xP^AS^jvDq0c=4OjitQsWEkg)icL;nlwO zYNvhL)P+VXHx=51GjSQ(sJC!jSQ+VX0nLH;%HBovdtLEe`nsB?6{PE3FeId{Kv;QQ zwYv08FYF?5WgM~eya(n^(+=_UzTUMC-T^y~g`O)g2So7=WD_@Vs>{EJ_w5^RfkG}n zAL`-ebGg~i8+@J6fL<6+0^4wJet|y>{DvI$bkD7nO?T@Xd5OHJ3VY>{G{}cldok&3PNwqk3ia)g)(IOU^)F7`Dg_-1@*(T{8_; zQC;&U+#0pO#8MnzZp}01B$Jxwm9@OM4{YEi;m7d^yM};-Ch7XLzUlhFL7Don5w0d_ z%9t1eSEOq&aM=@$`lmEk=c8#Di?F5QT=p$QfJqvq>dtv6 zr)ukR*M(epdtq4ZGvB)XRZ`oIjE{8%pF%~dHnaeOLBKBP)oIKA&FMTw>G#nkK~G;E zc?%}==S9z1n5vz{D+3E|6s|6ReVIGu)t<3-o%%M;)VDB;>30+ujat$bh04ZN#n0h) zeNIEDz?Nw@C5MXQhRqF5j?uoxQgDt zWvupXYTKge-#@gosFvP0mIFQRT?^L5?9e_-ZM)tTtW7r#f$ICHdTgvK;6zP^-XWGR zQNmr{>;mq@|*m2#H8!pM`UWl`XX4CAy@`Q z2hF8&axjj4B3=6&vt)+0k78X;vG6$(HKF*lt^Cxx_B}uCf^U?>U}E*@cQ}xDo<33f}hsc?Ds}(ic0STOk28(}oihp{=Xxp^2ZNC%$e5?Jw zuBd*@?>qjC`N}usckxd){Ie&u?QzRLV`K60T=?fW{qw!HHMQ-5sh9YMY>oKFe-8y{ z-+13w)f_p=-rS8T=|fJD6cef%uoN7F6D$Z5bmffzO4S-K=S6S)hTI))`t!7*nL{>` zsWPSJ=hny(+}(kuJ|hPu3A-EX2cX`x8~<7$R}pgFgstv zSh&{}-~EKE*2TWu4gX*mJmJgTwAa^m>-2*~m2J5-#8igXAr`{MK$`jxgMpQ*4=s={ zq>D>ncRR@cr8gramX$Le=u=n7;QR#MfTGh~fjpMrc=HVu);h4NFp6#v!({6)%DX%9 z29@&#{7r$C3Y|Jiuqg~R0%Eo?2g#_`K}1#rdrFOblE&K+i@MVOZyr~qEu3dx# zx^}u&)u-pq74n#v`r<<@V{y11r`j`-bn>eXnY+qA$j+R}YxU=zYC}UK0oN#y!Rjyv6kaEbedxa%{f= zW<%6QXH>FY^J(XN`h*lreCzR4Ah}?Gxr|_8`m&zu-78)D76~bGQ+-Yz%$mE`nR}*6 z4#w_Y@v^8OH!r!u0RuSuVf9vQG_`7OLmq_LF+=^Jh8tZPQ;^sy>T^IoZC8}m*^Thx z2atY1j&4_*f5N57yNkXlgQ`1s-4Et^n{>T*BPippNoDXMb7NN%q)M-q(nr>(P$`|6 zBl`OEK@8c85gOjmcg)plV?=?^lS)-{ph0!ZQq`vPhAD`#5=3^YY6NA8>Q$=RSE~9o zRo$ahbx>9JWpxc(z?{jDLV_<+HQcAKl5wE~Aby-=)qIjDQQIEt)v?J19I0FC-6mqj zYl@^B2}ZYx>A9cA_=fDjhuYhIGxgGLdWWM#HEqt>KT0rRWEh~vhDbmSn`@7!y?Uf; z|AeiI%z6+cz|e@~A_=p}6c6GVZ5KPD@2LZl^4KHNGK_t`Ht}d4h!Gw%>?_$8qszYpZ zO}f6u_TUZag|k@>6T8y35Vk%n3)#RqUjfl}axEaTY$Ilq>RY&@8%dRA{v*qr@~B$C zIbUV!)5daC>+RLMOvH;@9nkgaMEe^_17c+}@`b5art2N{kVTQu#j;6+Bxcbr62d3H zj0M*qbtvpImh8D8=bna4Fs}MDSjXAYY1RM~BMF4Cw{vE|hH~cz?JJ*tXT07iK6kGx zw;+^zrrHFoOpCe4q<4x%0xv79AysDiVz!6&GC{13d?{1gXe@1nY*#}S`uPHI#psOO z$i%i6`nEG~n2aMBLT<&g9b+4SlMCztXoG_FX`k6OUPb#-i+0a2?VMC>I>mEh&jJz_ z@=Ym&4R>7x4lV#(?%9}}9zK0M2EEhKv~_1_s5P*4Mc?4(6daHX16!yemdp1@YUA8p z8s;WE6)CC%b=H+`;qy6QuOoItU?0Zmvp8IvR1C*QNqv&CZ&CJaY3bAQeER%7*w&{T^eIAq=lmsHbq`f+ z3Q?4a3rq8deS26sNxTBNG3}$&Y#v?;+4&UUF-9wU{6#M1*kg_wrOTMar_Wi)Q3S^F zA_0>GSY6Rl5G`n2D25`n$x9@}j9;aQjAOtNj%R4p!)7TRM}hAt@J@&I26 z$5IaK2>Df$a8yV7C*xs`nr!|*=-(Ck=PLbSj#B!wUg-}F%GaN&+4`d#tv@JR`VX@8 zpN9uxhO>TY{e{2w7%%@v{nZp%Mt`IIRg|kByE?QZOwpdO^IY{)WLE3dBYF2HXcGC` z!GF&{%@q6vSpuFlQMSxhsrWiE8=pD@@x?HH@~fD<6Ql z0yko{;mw_12OFWQ(UPuDk5AVpBpLk>dDzPKE=S-y+u&pkHWa;!aB1JQjw|p!*C={o z6V~(5K^yL{;cK`U{2zLku-I29`BO)~0weNMM<(cw zxqA?I<$OkhW@+!ddLR|#i6AK0l8dl2H=wL-6lULXxkAmVD*{(>?6kLO%F^UhE&0kQ zmsi#f-ZGyKr+<6}C7s@c^Ik%FVb><~e2MuFt(XW@Ys+$4)i+<~rier(_7v6U7dFcF zPxRMJ-)BwG(7FZ~Dv!Zl4+Km%e+ITC_hBXm>0@tMKJ|A8 z2l(_2RB*Y8lunc0#74Qp3$(ZDKZ;a{COC052 z!zOhu{{w-7CDdCHukjX#0}j#OyWnq3&tuI;1t>8|6zzpaXFnU4Sw_O|BE3PC_`4C# z?>?kXjd$U~P7#;}JmZHtXlGw*1FID^H0seQvMcTiJO+TWox}J>f$)1|_$bUEP**!r zk;ln=Ti{2r}L)*<|cgeXe zcoheZ)3qUrMAfN385S~5nEWM03}`3sf`H!u!u(Du65oCu(7I=qT*6_-J!V>U9rO#2 z(1BWl;^a3TRG1CGgF5w%nsy}lG6EdWU+c(s-C6?}yAya!4m&Cna=gW(0H>P-kXH3* zi6Fxhfg>5(aU<_qPE-fbH{>H7_#7q(L_XAE{(cVQLvhy=_*P)EvmlK*tvZYjDFfpH zY1T%iaRuFAx!;cp^Du+NiCVkQWrB=(GuA`=0^vS@SfTnYi|n*2R10~FP~FE+yImxa7Kwe!Z-tY3!J^gIlEWk1c{T%7S$#0D2da>!Z|>kPc59gh|?^B<0*;L z+`>6XoX0I34oT)^XtDDX?)P#3CbBmsqkd$c3Ef_8fJLe*Sy@i$9U;j#`t(v;Y)vwB z_o6%57sofjjw^ab=`|DyqqSxEtz3l<#Hur#vPbrtR6aBFXdX0E8wuC zi|4$9mUvg-1$4aR;?OfKag{)A(SRLsU50)`yofde`?YDP366lPGqn3K*%wqw*V3>d zdS}5f>_lTebpF(b(UP_TCrje7ZR-l$4|3_bp%^~I3{`RkGLk@5@0_H7hHxX(XxWOK zFbtl-r{#>hF9Qk2MgVVsX7CwEVPGOyLQHn6A|yV#bLujQ(?<*9P?_sF^kg+h6XZ*{ z!-j|E9EfJjjKgus&>O823GpbqN~2-;o7yNoy)d;A1ffYDY81;oe25A2A2E^=(3@xC z4@ce%ZRkS$C=r@6gV=OU*D&nEpIX{m_-JR^{0x1G*rL7X_#MnOGC>3%cQxgP(>ZQF zmz!3+LH9Ze-Jqo_&>R)U*h^`wb$C|;vCPg>2eqqe;guj^GB*=PhE~4_?&d~x&xzxIlVqV|A>dRBYF9A|z8<$X+65mdDuqNo)xm0Z0zBOzbbdKbt9$ZexNW$?v#58K}mV`r@h$&NE zR|u6JOvP-e1qK0DOeo1z23ks3QD05~nCxX}=?Z)Ro$xiJ_MYc>JFmd2rPY}+bw12o z1!t>}6;GxyFzcr4Q=62`x3mFG6l6z2DiB0#)RsiLHlU>fnGTS2y<@sIH7Pwf0D+Mf z4^5D(Pi3xt19AfV#vl&}!2G+GfTQkt`6XPCpJ!+yu`6%_G%|G0Iy8#|)*uX#Co+#s z#AM4y9^qUAj>aT#FCZdm>~IAyN1yB;007sq!qsz9=4&GF>8QMsX2{|UKho5J~jFIssB4!URRBO9p+<__F3w^1{USWZ6D#u?_T zo}?#9zP1O1GjLGt+6E+9sAd=ccg&2mANj}#^8jwd7(8rRHf6vseo;MJnE!#e%ijSK z%GC9bk$E*~ZDO{KV>%06e!g(V0mYwLEwRPPh-%RPtC{|PVPrU$#% zNe}i(%FuB#1W5v-2L7R>8QRpjIT)__6pCd;M!brQ<;srNqqD)0*{_y1Kc3sob@_h* z6sL3is5kt2OmHO9Pr7i@;WlyHa*jov@qtT@`3U+( zqH6(K1|D4kk4o&cclN>YLswuEnlts`@D&c%tiw&Zo&{Gil~Nkvq%(#DhhzkN!yiKq zGXiaoMdox5nt3RPjrLByIqwSODkkyx{&eo%pl1fr$6?&VU@mfCuv?L#>H{_M0F$8}NKn)s0X4HHy3&7|(HCruVQbS0niEQ7XulY~ zBnZnedRwVb)C5O8EifN;?g3N04iS9-&5Sv9-t7?XXsL2e3E|Ma7%h6}V|QY=ivG0` z3>SZ4c)^1#<7-Y7lwo8|@d5h?9vj1$*;mkwIZe&MXo+afrW`!eu-DGY*Bt?aA#u%% z>@|rKo(FNf2lE^+jnB$R=9#xm>X;ES$kah5vkoDQYPlbe?&FF@-I2Z94Yt z(-!);PpIMW0rGP!Ah7V#vXWF5QmZRcq-uzc=_xo3=~IN%smKg%LJvkxWC4<)4ewjn zb)o{AGlN(B1KwC(hq-FWHXyGHS+7maGh*VZIh2Oqz`+<6zm_$YC-^KxXnp){@FwrZlAinuh2Xw-H~VP z0}x)fz#hGO|9pBBN1M(W+mbA#7lDM1B~HDGQIMU20WV1$+ueK^t*ct#J#4nS{PQcz z5H90f;1%4McQT&{KeU%9Dv0zbo07}#rEL1tBuMd)44);ZtqEw3jG2=K_%;mRabq$# zB#HLemXHNDZ!qRzEa#Ywp-#ARLh1xyHNc_Ma*10Pql(q>qc^-Vu^56^Wb&AXk4uQ! z_-rBK+Ky;iKS~cYqv~7eVAG>}*AT?hM}IA6o3lm;HD|e(plnV+kCKz_MnM zEw^$Od4+n*;AZP%ds-QD<$)Ls8PJJ_j;U<+@Mw;KURaa(Z2$B z;+1IS`ECM;{2xa;lS6WJMt&j4tL;j|slg{;8O%2|!14XC|#FsJP^rcK0 zb+>CF6L%v8AC5*Vrd1>m?T~N6_2|IH3ar;Z-BRZ$~4QGdN zFGSF(OoU&b*9OeTxlVubZu>{;Is7B~^Q6~AA1JYAhB6Dyf0;>eYB&%5ks@PD1VcW% z6pp$1qrFT)i!NddOKjB#%r~!rT$0rl8xuHwFki&*68QNKELv8c;hE-QEIbo#oDpm$9sYT^3R11>2Ne`k``Fc35UQGukkOHG88OvwAWX-Pnwi?ZxF) z={(Fq&RkB`YJ2f5gnNeOc^enWj|_O#m{JAp>|pOfb##q>0w0+mtZlN7(Q3~T;Xx$_ zbL*QR0yaOUk&XP&@YQ^3@6*!es(rIcV34W(VfLeG2RH#{?Or_#OlzTpoNpp^EYVMp z{vj029cuHmm&oN={W$rQ5ib_Dx5aY>E>$x5!ZJP6prlNrE8`i}|G-g}^kT#>m@Th? ztR*Z7mX* z^}%+rkW-dBoHm&sWWiM7lsQk7vC}zo5^vi(H>PsXpIn`N`Lt2Ta-#nhj*Z-3EcxP& z_2_2)UW5ze2z@2LU!oQiOkS=BnyTmB)j|X>Xb_O0@ggdW8Q_5voP8xx|B@hFi@N+z zi40TcGBka;2i?>)TF}gj?8fft@wfJ_c(qbkmSJeYSTMIQLdsh?6 zoX0*c-`kP<2#m=ecQdMm8DEJZ+G1Rb#S)A|7Gq|l#sG`)FJycz7~8Xe%2>??9BcH% zs*kZZsUc%lC40!|@hEHMi9`U40t^|magiZo6X+Q}2ih4Ii(y*~8BGMfOrLxMt#+UM zf2_R;cvMBx_YLaEqH%D?B^nXEQ9(t`EfAuN5KSN;xZ#G&4K9e_LZTpoU}ltYjNp#@ zuDHwXh6DzX9Th=QQB)MSa|{Zi0*b=>`&XYcGg*9}=XmqYbFV)pm)z#J2)qT`_ zG;ym?hLRyIpFIRHLJK@@@bz zCjhSqpcCV#40f&<->DP?K(UkFM~j>Qj3Ke+ctAM;R-XTmMpZeq3!zW8BFkQ0j<*gn%@3tF@`V$+QjhcYGfPF>+#d;P#v>!|GBk(q>A zNc{n<%t8v!9{79aLX-cEZ+FR45MJ)iV#-;6&hw3#A5H8JXulPI=+@acn@Wy0#TSRGm5SiM!I)ChoQ>|tg5iy3!b{|wxgS-7fD zSA@()1nx}1eQ~~nyFzep%7v?J|7yYA3O$`@ek5QH-^C5!PE`tU=L+uW0o*49_pV&H z%J%mb+-E|#i90mLQsyo!O&!_D+T!1IjXBP(Ew=TBW@=7V&8i~I=!0ZOoR-PZjVMTO zvDs#Y_wd7TdtYk|&9s-PnpkIDbkl7NBzJE^W_s`6B6&Y z+d&xhCnzT8)E+ClV3@s>Ok%M2GQ;T%%5C)S{Yz!oAQBEzESL;zxlSTT*3QJ{p+zoeT~$c$d;8S{Tn>C@5a^ivI|u zwYr!EjPc$PKs0_PzQBiUp2&Cs+Fh!53RM*LaDtFa9p~LmN3fvFlFhtLn?o`9S8YZN z+v|^JAU7!rmBMon#u}RFPX5mF)@(vKJVhI^ z>Cdax+r{DRJ6e3iC_v2U;y_gW*|fAe(w`}sZL|uUUZv3UGAvHQbe z^KfF`2h!8f#*j#+RrCSQU|24IW_9`Tx>DfBW8z1e%W@@qkIK+GRzM^Y+F)}{x>-_1 z{cAxm0O~B^+`0Ce0O;caIyeA&p@7Ez38;$tZL&an3Pc@+*C_z{q=4=g06kDZd;Jqo z74_fS4pOej)iLiV`3;hT4z$K0UAL|6l>${3tF6ggsw=Ae!bG8!ea*YMz*NK^3@~MR z>*2Kkx1Nay*IZv12po}vB8jt zyev0ObzU3;ERf}w*na7VOJhBv{2t#e$gT|+gApdWTM&k8EqVBtDd^}^{*=~>2BoPR z!=?(`8{lx{U0nzC+kp1(kl><*Q;`lI89fuc)i5ll1Wg3{DEmj=FV z9CY2##99f}U2e%0*yx8?qH!A-sQGAOh6!F~UH6iBbliq4=X!}pk8M=nM#zye(84!z zrN3Vg!7&RIydg84@N^}y=HXnyQMP|1Dz@ge++@uu?u%9qesKf%hXwE#2>uQM{5=GJ zaxNfc`%BS>3Ni=;N(XkfMjxKV;fAyJFh-xFpJ<=Ogp92yln`_w?h5RmF74^P_3QRc(l=@9tS&y8B&6pW>Q8$>=-oQYd8q1G zM+l7nCWr+Te6>Lj9}9Z;lt3Jkb`-o-Jv`%|hPsOStNBy2Jw-x|HPPuU=Na?o2wY#} z%#G0fnAA{~Bx>wV&K+}^P4=$PB%0{63ZCEdmBuBDX%1l=#y8#VBvJo-{CY{$W?6^G;0F$uD~(S9@&{gBbq>uX1wl zkWBoOTPt_3-7D)F4H9)=o1Kmm8>)_~(UY509;XxTDnpY3dBTouXr<5wW-~|gf6IA??lYO+DE((DdNU^u`*JO z_qE>H>`QCBzb%0Y$NRtw5b8$8dwny!@%=uHf%q2u3$pE_iQn{;@vQsb@ft{GS3TC5 zgbq~-6N9D@Pp40X+U_LQd;-Hv6Hh`;orczH?!+mJ!rWW-)mqQ{g|&5Tjgu-jwQ8|z z>t26P2<^?MgjG=l1@=sZ3i*Er#dZj2kuJkVfjCXIQcr@|k_Y}36*{P9e1INVQ z!2&`G$D2FNb;TpG=2g1l4^ga_tNRHPUtKcHQwn5wSaru!x8ovWI46o2&yiKr3aqld z52AB=*uJktV1T$L4-lUYwXy+One%_#{^QP5D~L?@nQ#uNqmwy~P@8L^C~`6>(fE_# zz!>}QksOCV!h%dwu~x~qt5#Q!`*SRLl^kmyjq0jgIJqF2(7L58b$#2`{+m3_lw$Li ztuq^%`>c6G01*qehDHP%=vNk)Taa0l^QYKn&oc1@Ucg|mRP+VCHUWA?obXO0092k_ z$AOmY5$F($((1}tHt7M;)78zj-Lu=mZt!u-L^f6&e*#@|qisdSv$gHn?M|J=`LqDc zuIGYCDoIk%N6(q%*TFrI&n=H}|kucpyE2)fGCO&S{6 z!D$c|<(JE&mXixAPat})b?tE$+UgavfYQ3A2lCH64nMBMgTBhK;9xnMg5$r>XNPX> zBN@`TrXfvpdYItUVO)LnN6_tTccc5)y>AMMBY5p2cYL2qgIdvf8r9kH8w$KTf8L(0 zg95%8mnj{JM&R%72wyYL< zMIizU>LAd=Ay9F?Y2}iIFeG~0_aH;-kB>wst!ed&rl(rEYg$`?vs_T?8g?uypx{+1r$MUR?R@i|D`5a6(&4h}29fknK-p;=uNp8GLCfpAR2 zfnP%+nu~;Gf(5_+b4(w(@wo0jwVaq-Hj-11j)ku5WJcpvJb3@5qZt7wp7qG~L{b#> zZZd`=qs6PR1-*lj2mF3xY`}95)cV-g<%otiBCIL)#Rz}>C(fNrL2*tYDTimYLDp!H zA`x7tOTu*jF8c2c_MJx9j?s);ByzxE(u(pX{ztf7N_OqHne$1yZ-8-RmR3RK_T2u^ zx^`O@E4uK)TL`?Io)(`7s8~_dI=X=!La!J+>1cmcG{aH*GIP8;!%D7`&Hky6Lns&a zaYyzA2@I5^^|In}pkE+q9$*%o2S3SA&UYYywq@PSJZ}i$W(9ruq|2gT z_2BLGO6IuDM?jCp&tu4VZw1Ik6Yr4N1J9ZFG)e5$mgvaE1`_3X`nNh5^kF~sLF#jK zrfz?-yVIPOuT}k=AP88H)JAS~-tWvsJ(53bWzh0fth1G3 zX8dSy_4-0JTmQt{hW$m3@MX`&jPqM5t-AOG2j(Tfq+8Rg(4VY4tA&>R+n*gDItc?2*M|2R&x-_{-pkiZZM9>vc3Z ziUt)u3Iyk4HSX}}sK;#mHdg=BpuT>+UtSVDlR^EjDB%BvP&KY!u=f^}d_^^Gyydds z*qcpFb6km!yyNvI*LU!P_4~Y*=924IDJ!#p<=ekx?n$oGR}sfkPa>yj54<|>eOv-P zxKW2u*u=XAR+q$Cgx$#-hJwz0JDbon%PsUV=PSxG+K|b?3=9B$hQAE$as%*WV%DG- zoO02FH~o37V@9-%#&r{cH;}$qM^2Wv^azq->7n5059BdDNKr@C#kNado!0?~41>=g zyLVVn&nYM9{1yGA_Yb`Z6?+LEaiQWl%aKG^JW`{ciFww;iWh-@Iq;c99<05w!Tl3C z^e+0gF1=@C)}coZ9cA<`BJ!s`z2Bq>NADLK(mTPnG-Ns-*MR5^Ynpi5)2IK>^lmDB zRGoJVzAxw<1)k9x)7#No4_-O9yynpRR~-KJ>HTbm-j6wYf8*TcGuSYI-j^Y!UQJN1 zKD|4<@z3;D&qQzQ;dU=T@5%o_Z_W>~ymx2Yn^qK;5)Li{gaED0+vv`T%}p!!CXli= zk3XrC_9cLOztR?3tk`iOijFv1PkzVSkcONvrd)TSxoR3 z6LaHClmpmY<&+gPTrh_UTWcSya~|IAy2xP2A!-Hd;@fmLVWhfUpceacI$~_ldM`{c zcR4^zgD}-iVf`o5T*ZQ*pOrni;5K3ibS~FsZgt^JAOT0G%eR|cjO%X8D(y^oQQ?K4 z_5XCjc`60c?st)Amo@=pGeD#e+_0#-Q^ss@486_joX|dV z>&q0TusekQEdAo;)PmVF-@55_4y4kV$4+=s8jHQ!IjCAqiFQLK?X7z6H{@_KP zWl2s(Zv~9crf|bn1N&R&<+*FGEct#}a=FaY-~c?oa>B@R(;`aaY%2S8TnWcjZpqQF zck15**|Q{@}P~^)wNf7 zO|~t&kAxl4=4G8%RUFScZ@f!mEMZMtylS9LU}gm`S}AuCE}dj*wUHmAiylpkg0r)m9-vw#eI+(dbpJWP8?V>vXd>{ZE@7D}D^LaaYmZ z0{1IF&r!xpb!P5%{x9YKB>q3d|8RUt+?q`l(cFzdRZ}PP+$5URp2CKkO&byB&x-^P zC9G^T)u|h9vb+j3?F1L&V><)=m|Z>?bBVb?I#>MBy5fn_ss%*%{8_n94a{^K2OBGH zl_!2J=1)=K7wi{vcyGWQ5p}zYBg#3J)f*sf$nAXne1e3|1!4BOnwE8byK)U~6g)7K zsZ_h4E-xD3clm7lCcQh)iN>XF%kWXL)6;ob#e_bobCRX^z|1|Ps%tTA*WT*{Tg`*~=&NRTq9(MT6dbMM1}JYg`X~Jn zzltNCsP;IQ3XI|rLuv3}mYd1ZW7$Y?w!o~g>}#%Ud8)7yQnC0?K6E+VWjq9D5^GTd zVMM(Qs%U)T4hC~~U|Qrwa+QO5IWTQT88BA5PnZlODz0~DA}TJLRMCk8n0wI%oGU7B zqKAV)$7@TiY7bjdz!Lc)h zb(3hkzt(@mFH{P-;@HLf*!?F7(m7kPuEGUr#aqZZAg5QVu^1{ud%#yoRl%cVA8 zJi58^0RJ^aMdK~kvF$P$SrVh74xjENZ+^l%xLa0r9L-(XS|!6PH@)XR z4!SnM3e67)10Ti@H$J>IDCEPUhzQnU1nJsjkN1Ph7DxsoiiU|1C0RzSHAd`ajBs&2 z?93rnMQWygJQ)CXF)>HnR(l76l7wmqK}-#I>%6V2ONYsxVi-+)x(!jyk+kT2RJ zDqo9TcDN)@Lm2~o)kgsXw>2uv)fh<5_gbkSr_+t-e}91>qyd8{7=X1)0_ zM}AeX@{=s$!r}`SBS^-Wt4uN;`A;YrJD6k~G>mlfx8BOT?JB|8t1g#h^k{I0Pan#- zfJTLYNi?nuv8)r=5vs|m5v>?Mk_mvmFr-m&D>s;ku%>8(c`fDb)QWEGD$3i9t$n_@ zAoP%z)S2#dncjP+xHQ{NmvLOk^_;pm_PlmyRn zuFS>es{!^1dL(}-OZIrLb?@Y$_X-dzf16AyU$muMHHWaA|#@?J3rbJOPoq&ubK%-G)qJcO7T!D zpP9C_(o;ig!8MHWg$$4EDq&URi$5Ki^6vdWLt2)tyQ#&$1?^gz%75RW6}N62=#Du+ zqltz1Tl`0ivibK~1=p9&z_uX~S#(~eFEs1HtNeeP$XwsNchUx-}Ps!fhsO-9O5ZBW<(?hah&RHM}NHj z^uTd=xr}DV;YE6^6XEctQsD3#;_!?2I}SfiqTfkScFsW2l`jF57J94$Wn%zEdd9mX zfU;Up{%USKd451vP96#S8X0P-CMR7`i(I-?#E-N_;yo&R7rh_INe?=S4OC*~8xZwR z9AqNFTqEivHM@xp(nF^*+VQ^4c1+ zGwL)kML7qWrpkMz6$&jmk83QjP|&TdcrQ=ZM&r!^hQfPP{L?XkP0CMYj|sRtx#}Mi z_&}v{jtLwhOxdCQz}u6s5IXDMPva;?bT(t=PW|5r5|XfA16Q-|xl2ML-2NyF$JMBRpGcn52t zsVfHZ$7(L#6Dcx<7`N{M%N|c$sUVe%&EQ{XuUYj)-TSFqxzNv}GV_r|(Ef`?p$A>^ zZ$|tTAnViu#fMnW=7~+`3Lk>GuBa2tHO%X~#7T(;?^`tJPlTUd7fW@6sy!i^{>w^j zYpG7oj+E+{L#oYPIn;b+CsDJTM&fi#A?W)Pp~BI`v3f~$4}!rC(VOi!AIk-0;^$%j zdT+lMVgvRs8l<*DYO$Js$}$~N_Y&dbf3MUDmgN$1sS@-8lm z)aXepXlgW0(;ZM*{&=1&-~wCF6!beJ_}bY(skNkp0u^NXSH%xk2fMR zl)1e>v4csoe6%BSTs+x@L(tb~q7|V1UHB8M93bNliVf6vMR@*6&*koUt)8{6$rk;a zBq+|}RmQo@rfA}6B*nj%KiOj2igo%@3=o?clfL!Ouo5rqsH~r%etKV?Y9r}g{JM$fVI{^Sr;L3@yEQUJh|TP&@Qk!SPJ7`_wV$jBW+(ef28QoZ|={NQ%7yYnAh zWRu}hR1U1p@?_;$49-cl=YZWU#6nuqirYy-jdq>VD@3N2 zu6MujT-%D8pYlKxDxi}!+*0zb-;Yf%vVJidDn)A(|2UUAFsCWNk5`we=kM#Xhc%L& z0lb-wGytDU8LH$WY_!|#f949D+js$CF_jYTDyiMpGDPd_c(sO+NObffC|jMkA8tH$ zU=EOV*jJrjlAR5C3oTGe(<#Hj)MS$1)|?u|wyI zy+<)qlcq2O<>~8YJ#P;rJw3~MWF)$b#Pqkk`&Tjc)B7L^{!QSYZqHLt)1df!ILta` z+8di`ZvgFCPpnUVdmxGYQ;k)TtwfEuzVx9+rZ4TNXKWE~SA8z1Q6i831)sq-)JhC_M=gPE8K-SI}8MgcC)X#5d-DQtDN z(9N1wYV;+tLW@2cpTb*N%I-Kx(KpsCmJr-=@(eGH-*Ivtg)um675al#p@pAl1~rFA z?kbdHdFGhe34N}4pkfES8)s3Ofaw0&l{|?(NUZ3=Lw7wC@o=afj*^R^5A=23s7r;O z*1{F-aqImXD{?nV$<$&LR&?+4MQZ z=p38=E^Sp_9#F9M0=RA_-!UIkhHqJhQTbd%&36;lVrtz;{6Xc*@)s!PzTzpX;VlOy z0%EJS^$31!`XT@~Y9K(}0pE)td5>T)^+5P|Ykr{2}W&eW&vdUyV-;vmeGifc6l z-1hNyl~-Bp+ZOLL0?BFUoZhL?j7@!|?;71&%LS1oncFrRryIg8k5L^zkPJdhu)61R z*d;z5%_bg|>VsMAd#%y_#h?YPE96RK>!D;JJ0*OKhkSMjOW3}wSiqUdAG{(%FPazt z0Nbl$@1vBRH$K%`+PU|_$`AZ+A$^_r3)_442E7e!h$Pb`qC2sHhT=n1r4$MR#Z~dI z%)Xjz#=Qc+No}j(At+Y)Y3aboZnk>t#jfe5W;e7cts2Ru-9FW&O_OpWBAp)EcM8k%0f~W;4K}j}+$}C0H?m+M z`2mAJRc3YGYW?I4fDD7*%Bei2{=mq_i{!*EJ9cNsL!XA@p@<~wbGB4FlB~bkBn_la zB0)B(?m!Cnm`M6Mk<^QB_w){n({@?V?ul-HmTr1ug z#zT#FpOXy6-{~ipcmI2CJu1@iuO7EfuKAz274$!Azl>Ys0jVT8k6Yw}@tKP3rA`Oi z{mGBL<^YzZa+wSf;?#mbgb@XpJr{3Q(N2WVv|XiP^(SBI!{WT;En;B~El>3-=-v72 z;b&5?cc$QenSy+Pi?T(Ot#4%L;-|hn(mFLPf8aG$SW^JfBeAK#W%IN?!-$;+KTnD=avgvS3=lBb|ON4Wp-9Ls1ICk zV_e~&9Q$Ymkox{GY%EU4h)nifwNk#479t<Ch2|D6hU~1#>ZnBNX(s$h+lD7hblf znPEDi*DbIlTUCBSZ?FF&FVN7PB)=H zlq&c^_L8AdUAZEb7C&u?qX%#H4Kh>}`a6ee-lYhJg`)P=iuo0iV(InJ$Nz!Hw8s;W zAA#XeXZ|cvXTA4j6%~&NDsnlqn%5^-E%x`Z6n6X)C0Xq6vzBAAzYoXKqN`TaM&E14 z(ZVmZK#0}-wPUjiq~7}3oj2PEeI;xXio(8Gq3}=B7%x5)IY~u&uz-T?w+$5AtBPOX zJUk!1(TNUI3kPX^Rh@S@Kf1`>+2`A})&1?Q1iHcf?H53IZ#I8AE^-U@;{ny1Ti)d# z#enX;RA(k`CXs-KjlBf6a77RO6ff#-c&#o$W`6;KiKEu$4Dd#8=6tj(6*zUFn>lUM zn`<{O&_ZB4O=dDTEs{-la+cUvF1lf0lo~}Agm-d|>g$Hj|8ys3cH(*z07$5J%^OIK z0v_!oa_)@?TDv9e8-EsRo4az-MT=)a<8TXU8Ekip5AG{%w-HsT>qBeS&_;Ur9thPG zo}3iF=_Dj4e*Gz>R2T2%cr+A05mJ0=+N5})!7w2fFz>JHiC>$oW%?DW1s~Ga0>Ab& zZxa1*+jp0_7P_&#K3|WiN&*duL664!@>=tgb$r1z{d#N0IOop4$w^lUQcEk4PVfv; z^FFr$FmHxA&A%M0HEo7k(Zr`z^B3{Q+bh$&4FR?3mbbTzr^qylG#dZKc}kA&Zc!lV zd4U343SPF7^kT2)c#NJ9+NpDxS&5_gMK8{c5=|V2Y}MCN4HvskQ5o=XK%t}-mRApD zA&#Q@o@=2|RA2wsDJlh+Xdzi&QGNIu1hFaU4MhP|@BYq828licyNsH(H#;Vu+CWvs zlu}*X6*bL3yoX9Kd6;aP&<|t$*mqRM4-=(Ex+iRKZkXD(jQgYkbx!iiN zU1H-~t{a>i&vVv48h_okaSP8wrO2~3hS+$99KHx*Hx{xnO1AlZa<_&`;v8i=C zqvzRfX7HKjuf5|YLmHVG#g_xV>Udgsj)GQWF%Oo~nk_O*X~Ax~rJTcqrR>d?uBEW) z>{9OG0a7GRw(c!CF6`b?(&=6$>DIlgS_Ivr@TIQsW0}G|nhQw&nM#**KTTmtw@uVV zkw@2y6w|Cw;XAxYZ4Kvw8@8(PtgyWWDK;y+o-@UrUf&hjFdh7wz$W>?=%si@u&=7n zK{=;X^?e-t&QpyG*4;^}kSd&vCJzIUCc%1h{QPJjr&D6<(gh{U$M31xj3xB0LU#O2 z(hbDFh*hZS4EiH@u#{)QlucoZuKD)Hy(~36u)q{&<2>z2Indb)bO>u%7`TcZMym~- zt05<~w<23HS zPr#-d>wDrJ3Xez_*Un=fUk`qKMK2$AwM-XeVs;;9I$%u4!l+ae*v0( zd`&CXS@8wz1$c8_35IGSjr$Srd5`4irTzc|SMxO(WkW{Jw&o*`arn<^ z!gcTPWZNX~y~x(Wa)6d`nXbw5aTLZi7=(uDXmtr!;px7-Mbu|d%ZroR{dyDwo>%$i z_e$F!ug`?u$-l#KpJ)!ySX#&iak;eycValL`1V1js?FO*-iX(Q*yI+lSDbW${7U*WD#)tNf`v1krSJ_F+f1S-p8ELq-MIMjp}IPSH_CJime`o zUmJ9Bs0}7k7;RujKTjM&nmNSWbd zSBn!{0q$e=#4Fpha%bsl@;D3)jlV>nl5iRc{s+>n5VY{c9D=SUTqEGeowDsuQaiY4PWjJEJ3%mB?NI;wC@LWKF!opJM`bHC6NpG^7pc!U2f1JIUC2 zT{J$J&KPlZ+@L6LDTmRciRD7FC^E-h7VuJ*I-L_MXYfs`6DS|MrKF(Ci3QO_p(vqy z=~Bg)tf6B3TqDhiT!^q~YXxTkdh_%LK5yMEWbsD{X;FB>DFr5t`32rb2prYhQN80z z5WQ=Tzo&peqFs~~%G@&IQvwpr*JGAMZ}J+O`G*=n==JOUry@h5`;wgpyoxJ$7&}>F83Oj(JYD=nkH$NW?()c;5;Rat{tDKSjm|B|oSAd6p zz0Za_i}+w=&FCK>G1Z8a|2H;&sB&8X->KYB{+&^|*Pmo6cQikya+?FidmpnSXhpjA zS@Aqo{H)b#pr7s|H#3eB?`;&_B89HAI6~rVF49G(ZqF0o8E1l{F@VL_AT3H#{h8pm zc$XqgX6;1&okg(rL~u>!uhEZUv+tq-?{MItNzVq5%?5`#44c)(5STX7^9@5mR&V+{ z4Da-f9bmYc{XZ57$v?4)XFS93StSN?VBdy*XNv2>vCPmnJ+JvdC;Sl|Hy?b}+7B0!O@CJKsA+2s# z17SDB3Q6)au2(~Nb$KL0jM|~zWO(LO`&okO#JdlVWmPw5t=Cu2Jx0L-%bOyXfj3_f@+9WiKSIpJgR7kKv%Z*sQ@X%D19?-?;?p{ zY}@E=iBwT)97)-2Y}3)hR1rWuQbU*LI-yFE8~wA$^F9VNmfNx)!j8?+om8%4Q+W(J z_M%c<$F`_rhg`{fD(`-(seiYTO^cC=sDn}+Mq7o^y(}KVsCj_VP7e6v0YXR@#!%)+`o3(Ev(_Am!)q=O{^@;}4G^{#(Pl&8acelOwCZQ;H?Na;mr zf#fD6J4wAxARYOx;4wgYkWzCPdL|7~ZP9m*p(SJo3^jo?_FQJRb?*9(&E19Gfcve* z+o)=M-Nn_-^0oE`?+VZb{AHAJSZ&~v;Q*^z9s{htQfdxU-yUjM9UWjbn{2QWQw=NQ z+j6svM=$g~dLZDfE-270>_enikIuLkWa`6s=&^RMWo3tHOTk?7tJpGMK!Iqj|Vg z4~Oz_vK|i50(>}ztwLLvz78dE^?On*%J^&o&bV^rGj1dFTOeeG(BbX;26aTzOx#gvyZ((#khj_XTX zERNna8-IR_1r=w+7t!jSWOD|IzEa5DwXhT_g6F>hZ9*}bOgZj~B4a2_%udlkqxEnI z4}YNmIX{xvxB}NoCMuVT| zk!bMrTBE_i>L4_j`lx8o#W?n@--A(V3!7M4Mx_4$2DtYjWRleZhut-*$7O|LxE`}c zmc%7C^LMHu9@F&e{e2lLi?z10;Lu%n3V1i>0PM+dN#|u)z~c3wMPOE)H}6?F!2k5V zxLk9w`?i}chZX`gHshE8<2%$=QQjwCLz(zjpwCMedy#y=?DvjfmQ+al751JDY1iin z!+4+U&G%(W%?W8gql5W@*yrf+x`cj?|0i95xBEB*V(E=wV20P_nAyxMnr!ICc?+!@ zTbMKL+M7SUUFnH9iXS1tlr(y2MV{>!HVc9`Fjg9i_thnri4yh9e8TN=wu`(@a4%%d z?!+(pFUz)SLuzO%9j4UHGMI`YkAEd1=QCL8+onhc10SpNkeQd%TBRbn8P zT8`Z}%i{cN~WkU}ke+r5s z=&weu$ZsAAmGBGB6*-mWv2DH6u7*;RNaOpD-CJE8Jv?%UO(u~!+JZ}UcvnBs60bbk z)3XlQr-!rQUAu(gT~B-|eK3pZ0wokg((AkLhPn6Cs}Ap1e*u{h4`=yz4M!vWJsF*l zJg~4|*OYczPMMC-&_ACc6AV&Qup2O)yu&FK^88qpT1lyZW5*%`IfJwvuYn(iK`NJq zcjhHV#1Czlx-Yo;O)1t`d|0kOwv%k#V8?Jb7QS9n(CD~wN>g?T+@vzk+^LbRU1X~k z7w94{oUzFPbEAni%s1@etRai7muS2_UQlhnC}16F-Sw^?xRsFsV!;RirF0oNJ zb>>5U%dg3%j)ne*M>A6cmg?YRH^4FeevX1py5E;&chGc;86AIeCt)DS=ihA zc~|;8m%f%w6{Es-71-%nLb@%U@>#Fg!imCXyTa#W z3bP@gk&Zqf z*?W4D457Ni0{3lG3L|<=eRKDx3YWo2U0{A6S0*{nzC;gS&g+4{3YT+pEE#h-&(O^u=5p49_X>wvV#&E8`n}-E_(jco zeKDb(w&;i-F>q}6NPgqbAs1nscCdJOT3cKU-+K`XyO_}r50dQK$-GC=L*>cB$M}&d zNxUww@7#-NGjm5e5StMZ8ZuxG&_k;D5v!Y7odej&f13Fjg2A8A90chP`;^X@r}jE_ z2i=V-{ef-q#SDMvW#~^~n4k4B82zOSPNjZE7i@osFl8?I-h1L18wd?0MJLt+1((<# zu<%0o*X&JKm<(m6-p9bf_wuN9qj*_cQ6i@|&TDe92~*gcr_7le8K4^mtT!*PDd&79 z$$RQjiVpzJ_5Y%__d0^)mMl6(7|bV68>Ea!>t0@CGj-C3nRJ?dz2+B^G~-|3E1EyZ z6k{LHlD_qJybT0Mj$h#rdhioN$U9s}%xEum8L-+*y<;=2_sX{3t#0cbt#!$&TGy|4 zi==EuCu_a3jc-R_cYqt5{w9X&NM|^ZH^O1lHO`|Itird(T5(@hj1E z-eh1nV%(8M=jOWTj4*Wc%@3iYUvKmIYVK5r&Yk`lRslk6TTPo)o3@F@Pqn1T9UnVN zw7pxDIMeVG1pgfNWxYc)t+!Wkwy5V72U+W!>jsj)MrNB> z@faA06SbBQ*(GTINxUnu8H25T!SGkgaC#2@xZclIao7G^Rx{JSd75YL7__fn@9*=} z`^upG+kxcAty2Dh2TE$)X3`M=*8(XO`P=T-vQhonQ5q`;t>i~@QKEu+-tTt`xoZqL zYe*8-1+a|jMOHU64#G3qcQIHrrMu&YM_cQW)0w>7ICydjPqvpd4%q(BXg_piwcS(Z zu)7_GIKS)pS?tOUyAHh#JHB7Bt+4A41k*EUBET0P+c-u?2N=0U)e;%k+^@7e#Ap{V zVxT*u*4zP7IAfVwMx$!5V_&Ac?mlqyOy=$bKzM*)j&)|ouJjPSBfo5?Cul)C8ubnu zCVw}N>_`CC+yqJ4?rW%yP(LEH%u-!y;xue)>^k2ry-wwyZJjLcRZvF@h1B1GiI%1Q z>spGWBA5BB!5x0!srT${z}GLa-)Du8|;`&^<){Zxa2N;i?n;=LFx0{v$jFix_#d10#S@ zFaM|61KXVI)-si3*F0s-{^YOHpqNfqk=x`=*^0F9D|Em+A=B8E=8tTyN#h~1T|v^GQbBIbYZUh9U~hU$z{hoPH$itD zY{6sD=9a8yH>x(<1#Ny$dd;j%o67U$EK{33lE9R+aT$eZQkgaL)MQ^Zc~015qA8*j zP|y2m0`8}7VOIPlwd=5XLXSAy2-KIa`7XU;NVCeDW_srCvmF^mkx{cUgOc)Uhj~B2 zdDp?wS&&!P1vxMWr19^B0Ax>r4EPry+B^AIZENrMiH?n@Q2_ptSo1V3*SEaf8L!5^ z^HN=W!BjX?o%abdUGmG+>C3&JAT7=wY*?HMjnrxMU`y5LxvWiwL)S)}1iyf#>-%f+ z8ar}6tH&%k?{^Mk2~9{<6RzXWa#X#Jd=oBzIYq?YlAA)28kVhVB2{~(Hzw2MS!%~M z*+-ArCXaX3Bo<+lCR^{G>6+Z1e3LEz!l23ZG-(pGTehl66of~ooccZ(;nMn!Sxuv< zQbYGQ1j;&}_#C$=d3e(~%vWw*R^q9pi%`3dN875cE4iB(aQmZW0>8lTw+KbeHM!%u*f-&by`?+zhpjhv<{*EsC z%5BZEjDRaI_cq|Y&{{eDXvr)6P^pm02JPYi+K&(^ga#S?Zp?nMncDy!qkhioCY)WE zoO>j<^ho~bos2x_xb8)BP2}R$@=#2qLr%cP*xZRZ;9M$AF#~=1&AkcGJ*3aRcwzk~ zp`SO>QXPFB6x9YX5y3j9AydJQn zd2k=$iSOddo3A6hBFd=+371syXsg@6mTp4Z zvgQ_8*_gE+X|Y%mr$ZBG%4KS{bRn?)_ux$CL#78&*sgyGc7dQB=BQT49jVWvIM|2R zfKhnt&)&F6CjAXOM7n@M%lw~Fh2?xjC*29;T}S*9^GOxnWat;a$vs_lR>m7lM81Z* z*8)M{W-)>c@N0E;Zp|D#B%`48Gh4mV2T+X z=EkoUa5n*7V(nDU3c|3?h; zf{W##f^m=%h)HsD1_t`;3X#9_#%TN|Qw^rzx*JmVsbU?g&5eR8zJk1}8(L#6o=XL^ zWFHcIB6XX1M~x2&tvj&l>#sgzpmsDY67QIuN)Og!Dnso(^~y{j@%Aq5>*i9;$0k5y zAvzO}274^6BK|s*B^`MhMI5M^T*{vZDhjf&VGzI2w1{02aPb0BegLc}4?p0m7hUje zDoi@Vc6~S#6X{H03B4oxuJ=mX1G4A%L&;{yGRO}V?D)Jqz-i=!`$k~d95F8wxu+rh z#*U)M^7+D~pRwJMTk%#+D|caVHvv)%dgFV*76QBCFDdOa7c}wSmX&3KeGdvPXD0aO zdPx0bm>d6r2{{n#&-Iuk^?Q1S)H=oQ{oTirdMb%V>M6OTRuMnJ1Vtx`_Gy&VXM;s% zti}iM76|#~dFr5OpAmAsG%n;zD4Y>c>6WMNHYEQCA^!n~#?w?l$On_)|CeX4cOoEq{PCA2wuCnrs}+DOzyF?N~gb|zCS~_%#Me+v{Q>tcjfCb zi_1=W1(*GW%iaMlf3RRQT>M;IRK$OrKS=PAJ4+qAX{syDIHyX>R!X&LYJb-H#19wn zV|%Jg0+8O8abPU9csBwqd5x-0gX!ruawRM>5jiwMAnWZwpvM=_36=Zn`1ly=ZkCz= zSigiyhW8rq=E@;(?VVh!CB%o!U!XnG5G=l|@izOQrNTCGFb5dZ=K8n8Hemw$AtJAhx1t z=_vj23$bK#Cg0;n0Dcp*(|$qu1trsWvwo{e?X}*w5Z|>Q$+rI|>&a5r{#re{_S>la zTF*F&4w44EaUP46eLRus-izFdgCb+P33GdQfUl;ZzV z*uqlkdKVMKI^fr#28Evss%yu4`uLff??-g+DZN@w?5XIY5I2OH&9oU>1 z)Iuz_vJ?++Y!Tr2z-Zwpb0GbIfzd)ERs1&Djgj$j(v6Id=|N;1uLsDeX-;H(noj4C zaiM_X?sH@uLg9ZR;}ObBjLxEXaoUk_6O(c*E%@noffm>>7Ifw9O>3d0ey>)`du9cx zmmahFyeqFYdx!-nb^UrJCo!-}04b%b!*70T%6Ri3NeFX-Dj5e)QAggDvUG~eMsXJU zNp4V2(n}uio&%Q1A| zuhWs!_Es~ApqU~PO=h3TZAL}xf=2Im2pD$g3Ch+OEnlNB+OYOXaH!7f%+<=4Mf z^L(Y|#2|gp+?)X{?PpD-xighrl=rQ*5OvL+WG~md=00l~Go2 z4Wv2Dd7A5|=8ji(QC_9BpzE-BSy7|jJ#FA3L&E0nvG;6q74}}gIe9B`oBOR<*t^ve zXl^js-UXN}VO-NvLSp>qvX;n~qPA1kAL`MmKpmR(ZtvkltA=zN{b?nqJ4yxWnqj4( zCvdjhYaLLyn{F8m!}j)~SzeqtIP+l{pkgxzA`VVj`RAEcg(@qGoMJ$ZFd%_D<&*0| zp+)yyN4|riP@(i)2E-N@j|M{NkZEafoQ}vMb1R_gA){ca*vxqbN5%bRu5G(-YOW50 zcO^l*+W_}oRl>NO5|1mP1^CBi6gc_b;c=7ivzU}^+jG4)ti*zgl7DFukLy!U-V_jV zQ)c_n2o%jf^V(n>_^n9;&GoTps}hTv8pOPXp08#pg08$rKhcs+L``iHE&S`@g9@Ky zg^zcIFQ61g-C+GtxRk=suZw}8j`k<(w9(2{JH!eUAElq%HqMt^G!mKB;w@=WeGVAA zCy30_2{lwRU)4PIHYZJTj~s})Gzqd9Fns~!@_#gAFms((Cf@5+T=>z%99yY}P+!-Z z_~89rt*2GUlv~7IWH=NBnj8U$&AdG$7_z4d8n`JID}2ztY{kg8A9aROz=t2yCV1N|HavX3%kZxEOWsf2v7f_O)4^d0Z{2 zn|{hcOV)_9Y+q2}yR2~5AaA1Rw9DjecXP#2)Xh=i2lDD%Ihu;(oARc0BWcDVAf>sW z1UHiZH$Z~>`|F<=b+;XGP!UK;h-Y^~F z9BUtPd0P;M)-GYLhK6Bi-^n=`e+Pb>6e=E-Ahdl`1LhKkcBr2U5MeL^(-y|x21^Lu ztyDCAF@>Po^|T$U8m%awM@Ui3(hPosq^2x-l(aX$LDG5VamhcIdh(KlldKL}hoOD8 zvUo+~u)+NZ&~iP@12b>2>z%riC}e#Qn|TN%s(D4zz+*f)C+&9F#E4+dtq8hxk4gXe zU66t5ya_m!aMBjb45`MFOdm{D3uV%S_gxWyT_{s6-HOIvqc*4R0$rKdh29XQnf$?j zKpB^Z8F4$7k0!K<>oe~Q>@2?nSQ6;8tf_<{2z1()8g703V-v}yt&jHvH`d3k`LXr! zFu`7ZHI$xt6WxoY+X+bxlauw3Dt^Q2X4c7JpwoGvoRP0Y2X#CZIe~y6=K#H({W}-v zGz{3jVz)9UDR-u@j@N2)MrJzyLvb4n04Ewm&F^dCh8F$ad+SCU5)DHO?1U|j+!bi0 z*i7MGa~IucpaJ1Z@&WN7@1;@NC{oq=UZ)xQd-eO> zV)fhqg0kKo89b!d13bp+F^k7l0yv*=?;(k{gWw?rdxD-qc?i6^A?q> z+Vt6miz@jmDd0T?w$2tX&$R3KA$1$v+ZyZ;G^k&1Qx^ey&l+@}O!I%E^R&kdxdScQ zw(c5|_=>AFscN-DyuwU-pO6`J@LfG-J2*qtW*#22r(bWpwfAMvp4RC8y_8b_UcA)x z?+(?P{*5(ebyE?A-Dm^($t#fgu~hO_T$yD~bBqfA0|YEK^LlE*n+=nUH~WkfZ`dAP z?;Y9Icw@KkKA2PYT?`oiev!#h?3=nhST0=L(1k@B2HyP6YA9hnsJzqvFD3pL^W6%W z?!kQb7gvLOSAhifLh$j_XhL%ZBi$np<#797bino|WhP>Atx&oGbDz|lCReqN-Er^d zE1Ky3vO9<7{hF-m$8Qc<0>tWZ(IGope;(#XySLm-FK5 zNwKV!C?l{LxIJ*I3p?Nm^EwR66dORU6&ucj_wLY4#@kjczdaCzYJJ~S3Ew+P+|=k? z;U)lu_P~#v3BbN9R$ct|jzT1F5>_!2Kvzr#Hvx21|8;$W9=vavT7n5+KXg4blf=Z4 z9UCBtG7>R0N|N9Cwoxj* zMO=bC{rP~%JyH7x@Abrn5jOp9z*XnH#Z;K?O1Gw|i{9c+Hp=wDW|aMd*1h8Q{t)Il zy>!a{7b;|X8BBC%y%_d#GW&E+*(Zk7BVh?gIm;1IZweykbY52>=|*tyvExwL>tn}| z{uoi5A*^3-+kfLtC;!UMy@c(No}3#XV(| zRu}FzmVvPwXnOmHCE}Vm1B~9&V^%As9qfM#1Q_Ypy9$x585Cgj5<|m|01Bgf2L?L$ zj%>A>!IZ2W;NtZ%6X59%RHpy~{d#MU0fQS1gUTcA zW_7i`7p+62xMoo3p^`Om3L#Kqo;Ox`t!Nd2cph&V0x_9+&xK2+A+inv%Nf&>>i%Xl zrB?uz!qYIFN${IVydCGBH%ZT6`5>>fSr}lcU$0D9p6#%_#lJ3FcWd3c>s;MqgSz_l z@>I9d>P8bdkNGTyE7evVsxJ2LupWHR#FnaDu1RAvT#=>tonI#02dSsQN%zs3b1uqK z_yr2&@c1EK-LMynZEW0jv~{P0Lwp!yVGk**T>AIn5zctWe=rjaKH6{jY0m z4*5Za>dzs#BklsC7l&ks&t*kHBue(&Iade}iBdAFl>4An)0%r; z4Zk9ybBHzves1EqqV9Fw%qro5dH{Qqa{y1NeacOcHYe1XAe&15tBc=?NFn7VvBjAn z_rb<+VJt<~5)-5zyg7$!f}96g$M?a<%_WE^NpB$bm(wO^n^XSVlH^+dS#n_LvfniO zoz6LrpS^s_xyi5gSDxJDSE`1S`DOai|?Lo4HJbO!`)l%1G#&RySu> z_}SR3&mv}Lg>!&{P?*N52DU)utZ-9cbd_iZh3^5YAP3&s{FLyED1^-2e z*dqPEcAI~nlet?L9W!=^Bn z{y7w*macABq?>gklF}xH$?a!Y2!L~2+pqmc6j2N5<}~JylcM_$_BnF6yPZaKV_X&) zoJ?qSd%dbpgjRQ_y4MBwgt)RR8N`UjW+*j%AV9g!;};-YnyjKe#zu0X%*i{&-z7sJ_oE7;tW`9j%p$1OW{9B4^vJ^;RbC~-5HzVcO9=K?L%+~) zXma$ypYLyl0RikI>JHZey)ssgQ^yYo;O?N|x+Wa1%JMaLc=rJ}6xKThw~sWfBdT0p zIXLg9*MO)e3iiB19nKLl3}>aLPZrKkNN>(uAno%xU{k%rK`X?=GiMac6uNB+R*Fh*d7Y2Z9vBl4Nu>;lT4RZ!$JrdZF3(k~pB1VCE zdaDjnaHe`6AzXQge|dm~gJ_C}uH+eTBAyxQ;(I%tMY1izK5tI;Z=GXLxMV2(mRYE@{VVZ3X6h)eV zL^OVkq|p&3gF*l!lTQO-QMhRgGx{b`JuXJPu>? zMF4q)2^G5A*ZK2oU0{w@J#+i>qWce`@jT%3a*n+;(F+=L6b6L*q|s>Zp|r^%{wKzT z2FiAnfdMySb;E#n{Ez`}!5B=Pt4TLs)EPuiQxh*%aIbsuBbl-t=qo1Y8CDic>J}@T zJ-hzULqhFwN@3qGX~)!?D|JcF-FjP09u+V#h~rzent{XyMV(z zvj`3uZY{_SQ)V~3zF|){K+D@^@yJ?Za%r;UmEe-+>cVXkHoJFRS$93hK!CuIz3mF~ z$FQMS?_!Z)luCM1g?D3MG=3m{4h7s&Whl+NO0!AJ)gCx=e6P!CQtP_;a}rFq!J%Wc zu7+F~S{Eu8Nubsqv17YGAyl{)3mJU{8rIhyCOpV2N*V9>A66&*s#+y8#o0{ zRFme3SAuh2UG!@6#4FRz6tIWdx_RONfq9=B&b{-YKGK|2QU7rPUQ3Eo#RpNPL4Phg z)%xQt42#7DENFiZJ!ac)rq`hTv(aa7Zwm!^2K;9bTyJ;===Y=rKy{!t z2k5(c4S=2_pbHNSCTxLe15gRyul?wS4%AIis%~fX_6UI|;u^>=quIS}!nC+9GYJ~3 z)?>C8`aF8rpfr!yKWI>2;_?^l1`8eam)5N}JEz`Rs<(eoZ?ft=maTVHU8-@GI@8{{ zs`o=1*FkYNy*6J~@P-=Y*zrL{l@*?QKLhYC&aBF{vpp6@RzYj&_m@nRRODfnTIhfU z--SA0chdnKZX?||F_m{)uFV8GwyY*U>AD-0E}C~^bhZnIp19oe}BE^&mc86Q$$NY0N(zi8nsyJ;Z&mWJE0p8FvO)uwdf0TsXj(Pnd609Vlx=| z8anC!0;)#xY$tH3wOddtmRuE>&OMTwdEqR~Qj7(CCkUs&NKag^jKrMh@3(>@fq94{J~XLr^LFVcoQ@6fczjj7sbhmWY38gSC=b z!@_f_4q;5n`N))b?Kjf;XCUeuyg4F)*?+gM=E<#D_YkJZ{5|!f;Z-5fNff<^l^Bn* zVU!KF@;O$Fa~|A8Zq}P}95op|zsq%RtI{4<+q~uc2m1li?@9%^)66!}InVNxHWSQf z$huVaxko4kw{tErCNuqP@rDc%pXb#dTx>5ORb~|@e*8@~eJ`k+p2muSK_!MQVpKwl zA=ZoH2fr4A4LTFY;LUdCDge=$cA3sx%bqZ>Txa?*anx8VFVG4Twnh{q(cel--pJEK z)}07U@3PG6BeJopi;o^%-!lIiqYln^$A?AZ{nfrx#k#ebHTmSgX>p!jS;O>^2u(tS z6!5OeR-a-{ue4t4JElUZMuq&#q}Hl7bLL}b*Q+*n8H>EvPN5qrlKzTnem6~-)8Uhw zi+?6IC_v#GJ!Vl@u2)b{sDZb;p%9JFBr(0FZu2VO*P6mEJRJ)xusP;$~>OqVAs zm(~a)lfL&2FgL6VM$US7_N+v|O~0n;ol3Oz(=)LE=JIs(}9pt5lf; zUzIs$ScL(L^t;0`^qamgR0Y$msa$)t_cI(0EGv}^EGw&&5vVSD1p_He@1y{OgGfxb zt&4$a)O;}T-ohdgg{30?MM+b(>4WMN_kU%!@P=j(cvj6g1RmC7mIM>@3IeAHf%$to z5?n`O`gkDvCFpRpeKm@p5&7AZWwNbzYE<1sYHyN)qe4q>7w2}hgg}V&(mO|pOr2;8 z^GV9O$vlvwQ5Om?zROW>a_G&}Q8jugn)(m{ZZOvuu11Dxzy`Fbt!uPTLzq|yG%t16 zXeTEMEsP5->#nz#3KJfE1f*|pmGCRVy&Q8ku7f!P z>#*BqOnJ)x#mR$lsZ&!8;Or(0)*ew2a zrOG!@)ZNJq{R*b}5_eG>29BCwqX0ktVtkAlW&LDtC7V9<^&tpvGwtLqy%Py_=VH1; zfO#tab8EJ^vTp04C-wrQF>F1W*xR+-G}Cfl*Ru1(9!kqbm-HYB@;B(=^yQ9fZgJ;t zFLNQ4zq3)sd6x4}Htgt6?Po&VJj)Yp*pO>auiHX;-EX^nf&aKdU;}z>H4j$)NTY?rZ?sWQi@;u4{F)ek9hw?` z7`V^Vg4Z2D&T29&KQ~y#`Hf?_gj`|i&iG&HFnqQ;#BkGKbV*^e3_@?KS| z!S`+XifKbd$cm*XKS3$J%vqEl*Fy&$hUlTKoSG9L0A>ouiw;b0>srxz(9DMBw8RVL zdr_XFJM-)7Vf$#-nS>!j;geHFVef0`WA)R`faedj6-)jUqotGI8MNt~7^zQG$HrG* zUqaHMA3wH0o1^hn1uT=?Qq#A^1Fd`mj-NzsR&sAM^%+@vi{XPVI*v`c3`bf6(*Fw< z2Bf{+b=nqc9BF0F^ZVH3n7_puD_;At;52CSRvcm3HurXIj>@#TnEkg*n@^U8QZ|9s zf{`sn;PpcOGN!jxRQ6U_A>?OPG^?G?D14ZV}bDKfuI;QxoVy)8mEFx~E89J|4?*6e?`n$^zW8Fkw^DQKs++G!iKbClXyR<|7$ z@c)!jD$46h9|?CSrIarTk?_FHN_d%72J|~zf~})bkJx+m@X%;`uYY)Gq*8OvD!uuk z$Uk~1$6cO02O3>Ne)?~R3{>|Q|4d(Zp|6-88Ot#7Jxk8?3F5Qlq;bt(Yc4Zrg!niXCf8HuZzNYYItRi;U+ zsqAfUAnkJ7#CIMbFOsaSD{;zDR>WUQeVJ4N@jw1fq6L9jE{&#dPd;F&xmJvd5A^p+)`1*;KEadplLTmhKut-la zN^LOjnEw?p)AL+PW=Q#qmHK5)s*R%8l=??dTXw7exKe6@6!|axiKIB?mDUS}I!4ClwtCXIoqHZVS5w0PXmt<`qX_)6Z4j@~C{ zIV!qtYeX#q&A>WrB`4`Sy!+epB!!;wG-SOGzR2zUtB1tEDUH{^f&N!B0J1fVWahgx zOY}@t`K@~>WXg>u`oMAjb(q;$H8W5SP_-FWEo)3p`krbpF`TG|3&iXVe=xJMcc+zf z2Hhhnbtnp^G2oh){JE-fK~9w(sBwP^?zceqZKCxY-RJ8S-6uDUH*rUUEbYCF^z`#4 zct07H{L6rx^S$6x`<5j)a7N3f)uPBlRZL7h7+kOEVMuvu#HAXI@dp@X+{o1$l^}mb z;)9A7vVg|Fs&w{UuwQVh5nR>$9Q!=&)~`A);`_RH&BjGky77b3**_i+8(S>qi_fh} zqdjJqH(giSdExMrcxV3DcXsVz|EuzQmZr{~!`hCJY&-fAv?l+hH!%j&*@Zq&lP)e| z{F#THU~*tC;U(EQv-a(>R5P2&h&hIAt8lsSf!gL}P3QYZnEN(Taw9dFE(dp$YoVg0 zcQz0HE@U!MSLM(z+z-#aA8Wj9)?hz;Hx{1WFQC?OWhVT5C!FQU0n-`sTUM!=;^-27 zZ1eOIvRE?yOuFbBzly0=dv`(}uIvO_(fI%2?M=X=Dzd--Ahh5T8y65qQBYJ|Ko~_~ zVw4Ecj)oC;+!-Ae#|<@6T+sMSTGFN!0nh|M&UxJf!Q^a_ZEnQ>RXyI#soTOxOUfdP7q6d+&q8)QIRd@SR*4 zv$=rCJy?R52-!3jdVoR#_BmF zx!r=8tD4)>+#fbD&N)v&fBQaejt^}3_F-M7>_FDky zHV`~B&Bl)+ELKde^i^2|a>e^#K4SynF-`KiFs$)pnrTN76!4D4NhUaoP|mJ2mxEK< z`(eMptdm|!BwoC_Qu_*0;HNWQR2Kv%%^oMCL`ODJ^8yvPrO=7gT$vek5Y%;Pe+UccxH6$`G{zYrM$BkP#K$V%g7J7du5<-RXd;g#C&Fww&) zYCyv=w1wG<*~sq=XVF8h9i>++6pH!gghrIj>GY^MqfKQok54vlPJyQ&H+~Qkca-GRu-&=?`aiOlST9K6pK&j{GO(lp@!6@ zhLj-ss7FQKfexv%JW^6&1EkI{0C}WF@mV(euK`l}^={~7NOd%%t`3meT}bK1Z@cmO zj=c=26<|@j_LOAZ)|Qay5n%P;5Va?3SP7*6CBomEMqkp{hg8Vi6TUz%4Y0B|8KWyG z7Ligm`?LTn{dzxlG_1~{bXnsq0aiBy*Oz*0SZ(!3tKeX=h*Y;&e4_SJN2+dy)NO{8 zAo|A&sjVGS-SbGD86kC&0mzf;P(I6MpB^BkU+)Zu)KaP_YrH=|s)LZ)-pbN{Rj&W0 zlcjd;smZ#{EFtm5B@U}A2dn5*!%851&8S|QZiQ4eDrBVkI8xl+Rxl#f3w)N%J|nTHwvUjSZAb~C-(N_rf`A~^ zOeTlaXq9rTev|>olj=Y|%Vv)WkkYTWuS04orOO&$2#{KgBI0jlWkIUK_1`tBK%S)= zSVH2NagJ0+8dk3wRs!iyqO^CM!|JF!R_|(Y=dgNB!H87z_$-@!W`LD`y?Z+tskSt% z-VLxCDy(!FwQ<$_J*?T^f`v$xw)jN90I4~9t34|WDM9o*3aRJlRY*0LOpa9c)}lkI zvJk0KL+WnVkS zZ#%+jPb|O48jC%!{}F_2s@MqFe%fI5+%ksU)`p!d?EW)(>^^x@*!BCAAG1*Q6m}m- zstKdnNOmxqXZhP;)Ie%vE%api$RwL%sTB%)HTSmi2ARxoTaUQsa9T{@R)`&?;4sz%oX%3N3>2P zF;_f{nL4-?Wfbg$0%bSIKC%~hj zC`OHB`Ug2x`TQZ1?xx?AR8wt|X}Nm%ukgp)9PV)gL@zD|^5Yh(D(}%>&u5?;%jPG? ze$$ix^2<7N>>opVLqDtg3$syqThslfhW`g_lbPTFMil}Ve>K0}KgoiqxQPs|{u845 z53~A@;&kMtBa672UY|k5=c%ms^E&#Y_*lwHG;Oc?_i^=ur?U7r@JGv&FPOl|+F#X3 zwzgm#3Gy`TOA&uP$*p3COqV<|_LicPTW`r~nav~fygmbD#tNC^9WpOn=#aUW^oCR( z8D;Sk0WxEE6&7s0UgNM(V#5ewak+%m1p3fuk?sdl0mZ$o2C@)7J4~uORrNc}MkyHi z?N{hCz|5rByq{eE3?QN5)I3T`Yp(XT%7c^%HUPPEA;=yvkk;kr1|W6YS=i+PqIlUi zZ|C)9F0-D0`U3U*1^}STNo(j20h7cGG2ocD21U;{Wz~ zd%O1IA5gfR3k5fKbMGc#>)7yQ?PfUo9;sl|^W}U7tP_&ixbe6jjT>J)-!Z_pB8|Aw z|03x2GwF7C@If*d4<;f&#)HjQc-PX&WSO8Wrug`>13EO8nMp9ufUoii8seQ04dcT_ zjCVi`574-uY{rMa)GG~zuXk4caNo@l1miw>2kCaiSfRlE_x(+*_#-7AzC~YhEcpQj zD=$Zyw<3(IJ5HE6Bo9?E;>Dq^3b9&m6; zkjT5$V%-E-$!>tJ*KxdBi*+*bRKLG%jEM6=#e0+kHL89J2@S{Q zM}*S+(K69GFk6@{D=+_8tcc>uRRHZT0koA+Duf0t{q8_&*q_Os75IC{7#Hu&WUPBf zKJzN!7Ck7)dDL^r=iMNE#=86@ArPIu>xkm$AFM2Yhw349c9(U3t+rq;vsg!+{-W7? zC`61krbC+u0#W}B%B24hf4qaOfFsUve*uY;cg zjc5lb;`kSG_gk{q^IHuZDgEE^KBNJ4%v}_hXX3cxt z;(Lx#ybMckYPyv1GK<@2Nn+@^$d)<@NsKVxG?Iy3;LZ1wy1->j(R~uoSav~Bh#!nB zufw*b8cnJ+PRY=(lyxr~Rv4v+uao-$mgH_)7C z`w2hzX(XA^Q<`e(;b#3yH4W`+zq!PVj|;zHT~nFkxm#-3XhmZhuIj{2cZbT%WxbNe z%uQ}OY=Bw2Dl?}JB~wb7_#LC)%FJ0Kr7d+JVw579hKDv z&lG+{l?t2x2Az(Ep;ssE&V*EW=RF<_?->3KP^0BF-A$Eeu|!|uL%ld|9@ z4ivdt9p&CT+bEZ;TV&roKjz!%b$VU)faXE1$}$$#9!Zv5@vcm^v%B@;NYOYkRtb!y zBlxW!rL|i%ueN5iK78z~UOEp9`^GNdcuX<5(oJPc$`v27KW)w>8kpzY`Qj=Y!1&E7 z;GO#Qy3p!%6irChU8u3v5qde^tRYgvi7S|nRf@k`I8e_r@xb~4(ZW4;$E{nJzkuV< zGa0I(VeD2)$iB?I7BdLB^}*$`3}t$b*N?WDb*;U3@-AqRvo8WI4)=Y6TvD&3hX~(n z=^w3dUL6ljV=pj9B2Uu~P4XpX|4kK1MJ;C6(wW9S>x(Y_1%%9B!0|kpozHCR3phSe z`OsK#~SH;gYTh0)W~0)W$NuS!$$VSqUn5T6Ew1bg5?O}I#oB2+1Cl! zjfJF>cO8se`6b}jW-+^1^hVz4*QWNyY=f6xQPRn@jY!5)qqwd}vu@}8k9U3IgCt*h<{Lp)#IzpXlPzpArQ&`s5CX4UZ+eQiEN!{)?kU~2S2(kBly zl77M*toh_?|7lv{J)|x!RcKhg`cYA9M-;YpKR(N5UlLTWU+?DCRKK08{#L&y8Pw8M zy`4&KUpeox$-EB$$-;oTp+ zSwHCBiecZ_M9A>k4DjB=vGUzizCQyaAYU~ZVzblfhK_hiS zp9FbEWH0a2V?_4sKD{V$L{OrH66xurvUSWA18hCU-h}q2l2DOZtTQ5e0H{ONXa_E7 z;DCgO`~rhpnHfJd3+O-bh!Thp*>W9bmru&$h_8a@~$1T5iyShpb=5uvAFp zjuKX>%-i1K<>tv!{|XgWWkYX^Gp++Hl6$||xa^yvy1o!=Lj%r<=hu^R6MKzu+Uq~5!H0b)QL z#K{72B_QC7!~bmAwn2xObva0Qe}spD`H;ax5h{PJdQDFBkU44XO)udFzmysf<-^jIfjx7A%)ZKf>|P&5!st zCstbw`c5_{Jk2XPQ>K(p+f7kVywz@sT&xzgo6?Jvx7$tWOUkS5rVJpZvE7uxsjO>P zCjA-&h!NPXXE{JLU?ZW(`w@v6r@>{81{Xipng;J%OnWp~)NYDsu&~_}(O^cqDWbtW z?WRD3us!wdw5OZegK@9O+qG4D{_NUw-?Y~4DQ>qO^=Zd;Q`DZ-2BkF()Sl(-rl>tH zx0|9qZD==zJ`G!H=N+S=VLkU;uh5C_q+W$Rw@xXN4Bk#IMdQf$dJQS?_1%xQqJgU? zo3o7av=>iD^?`_`WYSX{$-{wZhUl z%W$}QdN0t7jlypMZ2R$z8qOeGD|sVA-K`ZGBh4NiVGGCKs2?J1ws(iTQa0{}tt9{WCms59TuvYSe{^EVc&4 z0e|9M8UlWu0_Oi82TXmN2lH46KP?$X9mBH*I9WG6R zj?Ys=7FT`h4wek<+Kd*XBPK)9CRpxm4NX$m><7N9Qk_gvBlZbsL2BftE?q;F%G{K) zzD$p_pXsCQCpVg(WZmHHgwdccG%B*z`k1`wxXtkxd;XQk%;bFqDMp9vpD_az z4>?Iacr-a+MTV2(a@h+GC61@HgCkzd@pPo75+k5a>8!&>kD3s5c$e4$7D3c!PzD!DI(xcp$iONiR zG++3&&0Eni_5IS?7dvrksB8A%u50G?N~ZtTRs3;95C2pGxyw3vPpS_xHWrNl6$nrn zWRiAmThyRb_9jE5cD)Xnw^NxT7a(45GGvGWOATg4_afS`ilS>@T#uBc6mY^^VTgQX~*v^quI`iUpyx%0nsS?{vxP07~J}!)TBgw>+*s$~GEg zt*%QF-(przroUEv#;{1?(pNhdzrfDAc_ud$$c*(`UCG)xf20xD`=3IEz#F|} z&@X&}k^l>(p*mQRZ4{S2rEdU@6^hB>KT=IEf|==q`8%}BDhkguQ1iOXtIs{ET)D)C zvZQ6w1Nbt3+PU&wP4_h-ePQ7Ngp=D1Rcnk(Ya4|rgLt~fFKbTp5hMzFL-D4)E-uDln4T&MR9w~n}7N@;gwVHVPD5+;pG65kywL?-uAZRrw&c?@FY$4)#2 zg=5wT`8gemtjSqtW{>HG)N|wO;=ZZO^oiD-lj-5DfwDkfQf+;S4W*Ail|4M z)Vw@TrI)H;n)%Qs(<@rIawbn=%>tN zYnr30H!ha#+ipR&(PRUTDB&GL22Kz;8U03>W27#m$Tq6wUN_9S_{g2^vOF4Q*^ew` z$r;aPIOUpB>yH{@#4E5L@4FZwQpB_-L}g~G!7eHNBdJv*MUO+E z$2R&pz#B%-iXPYC&KJ=`gxD)2L_yR0F{W&^x*^znU_pCdVsLbYDk20Hl|@Y4e-+j` zCS*f4Wix{@bAcSUcD~!m+IigFkY>o5s_lZg^iM~roxG9@!MHk!4j)ZS>vqzl!-%dr zSq(gnuM&M7=AE*IYv5vhbqgCftlb9gi-Z*~GnhrU=23BNa(Ju$Z7ggrn=!?Gz}}Ac z*@%!dl)4l^iyz2xoE{d@ls&5bOd?}n;jI2GW3f}9BJ>KqHI)ZOY_*@B2aCvvV zlRze!pl1|o2K29Ai_nKGH)*aNky)$tThLmFnqEM%e@72MXpa3rfn2BM=ng&nf00CY zTz$AY=`F}tnXz%=E#8#gR5#A$$~-jga6AT*MbMr zq}4PW9tN`fs4~ zduQgM%$F;r+gQ-EsHtomig|?sMGi3DoVOj6zmv`HBq%%Np*$EtxuXq~oMM1-i=bQ* zKp7_}I)CWB-!*JeRkZnjrh)~y9HSVZOcInm11JZ`xc{J_+>(dVJ=!YS$hJ!2E&3sV za;u0h7{wwO^jq*_5)MkUDu5NrO zY|#wG0A;eE{3U>L7m)@9QT*1SP{tlh&ybzdXqwdcDV*ljQ_dxG?;RoNQmYT zM%3k0kgU^5OcQ&<2oQUc#qO;S#NHKDAfczXawX#pjIXCVy&aOS=YkQAhAH(Xa7GLS z!L5rESSo=bre)M8>n6wpOEj@BxpT$IVv&DUB$UajmV=h8lekbvRTA(2sKHf|82xAA zE^jDib4QDn#n2*9Y6^wR!MHQ{ThIau?ra4=mrTwqcLg6-!NL-~HCBQW-;GdJ@0h&! z-j%qtZHXl+(Um$hYa@lxQgqL9yP{SHhHVN=rss+I-suiD*>G`Cg(=V$2bhxBLJ!vm zM=(1C>w^pN0C4Mr+W9^FcX5n5ot>N0ll{wBvm_>iFU_e)4rkGH@LInN$IKud*MV$e ze5>?bp^l}OCHo(!3@5b8uv+f1j*WH8bG*NB##RiSb%#3ZpKrM#^$Qzr{{B1}!Zsdj zaq$Ik>nhbjT#EClcPGnKb?F~XRI({QcNEt!jZS5cALCHnlqKO%R@st}t+(^F!p8X% z@gBd?Ohk1YSa+X>Ig4JdWZj-R%vX}w zz&>hp=~PML>_e2YVoP;aam%eVW(aN`ui5v+QDQ}o+trm}1YgUha*${=cPCp@!_J(RJ{-HRv@ znST2DVD*!B{_n-@0Mml$ECc6OX6Acd7c|Js(uNJU$H5@2nO&pQ|0jPM?kCRwg$f!T zSLhpsln=5*S%bA(vVO9(>ulospfc`}N#zo|Y(~|&;sa%=N)Bh2dQhc9!PWk^SnYm4 z)j1OQ&54Gi`Ehk<%JZjCwfoep({M4VBY2*!DIcwAq@kYZKuZZU(^eXIPX|M@MZ>La zG6!QAz>vtFq}D!=M?-UiO9^UdzBIzG;RNzgD6b;9MYOY00Cs@&bira^SgiDk|J%~x zdfDks|0Rb=scDyslt5#}X{Khj$7!M7+x}1u*sr~UGROqLHA34(KnXz}joWtfJnL<`hz-)*bk&y1-DJ(k<*dSN;}~FiLrulN);pLifnu4gf7F`o zie+7~tQDJs@~e&A2Rc(%#+gPmBBx_-V1BF-nsy$R0iWJF_^^d6=XzlkXle9DsBzUR z5tUr57qgwn4Eunhoz5xew341rvzo8khd_e@{R!Nqz>d`9J-x6u624++^}xYZIZKYp5SVg&1`mdPb_>>9OBs2b%d`^lDl?5So^=gDbOR zFf@;1X3C8+I`U;Z0jZ2O7jh#lGKIixeckM@Sg}ORyCH!Z4Mwj~zB02SKS;i24=b5Y z({uig)_s8n74=a1Bty{R+jdl1H<`z2p4b6UcfufLb2d=$W`f>d5^zemgBP%pE%8#> zaieJNXqr8S7LH0~MvhKp#&W%K>*mR`Li-X0ruAQGb7ahoEh=N{$g(+`f*SI#koF+b z1w{TYX#Z=-F{C``Q?<99+F)#m{M0*uaaP?UxEa)pM9!+=G6bE|jH`_m2)=`II^Z4{ zLGrU-Mdq#6#?HLhp>qs};sQg-uQO-1ahi~9+X2C-Z7*R#`z3Ov_uv-D6nEZ6_KHUK zChd}XS8;;EY||+f(@yAT{w8(|v|aY}Kg9+Sn-NZ8R5vGM5hoMzznWk|?st^&UuS)$ zS#2S|&PB3z8Hg3QNS?2lTh!{3Bdw~u@!QmAasv%Mr`>1%Z#+Xo8DqGSQt zlqhTADN0xBq%cr#0h|T(aGrNYSYzFz%dA~P!R6ly7OXmNAjZ{SBPocQt6%R4?lP5h zzmVjzIoeNe?iyt)o8$j~L(?CuN}lZy5T)+D2*uaipg1Rw;#C2P`t`a7C{8gHJNJ%I zRC3vzF2opt{#TUrZ47&f*C}-RfgFv;L*H& zl&x&eu8IlBsRCtlb|>b4gR2t}zR!x>yP_zh;sz0}>)KH9^E?&JVF6tA>%FkR;rg=S zx}Pu`<8W1S*_@$@IXWJbBBnjY95@%&41||$j*0HRJ$;f*?6$w=g28fsn8_s%+!re- zV&7luoj5qZNcMt<8$oR&mjL3(OMzVjYYu%Pp9Qw(It zbfC=qCP#(|L^f0j)J%aIzAhnu572Zg4$OEe=ERT+HdHIG4ppEP8Q3vIU-E35Pjh0g1qgm~?88rQoLf!;Wb9S<= zKghSTtAYisTo<&`EDi5J?^@}rm46rJIxB!*@o*{#FOTdBVCRUvEF*H;LCwu?Bbe#A zg?>;j(ys!6#i&$A@713u0KcbSX6RtmdDM!v@lL*sO_R_&IarqR1PE}N$9wPb{+6S2 z5fBa7L!>x53-yK@!4`4d-hQXQ7V`j&xYFt^9ngODW3fMn)pI>*gg<;WeP1#3&VHI zTX)h&ih&icqov;9=UgYfLS(}ouGtQ*l6_oVxvAj_Ts>_SYhm%Me70zi%vi(NeW;Fk*6=Hkc$!P8XvT)SZSZc66*g4fS zpUwa?a}!9W--FKnYy4?wq~_)$8eY-Qp;*%Gmaj85BDqR?o_bh>L4UL&c!sU0;c7Da z+bZ;^iflD-p;$Uk(DVnKRBD(((yt5^@`_pgK3}P)3zkhq(%Y9|fAm_uPsnu1D6HDA zGP4>(U1g@(HZ22Bq~gi)`^6m!>*=g*oSADp!^`^@B`Y%?=a5HaR%tv(9md8;e5;}e zEFfD^O{2V(0M@95PoSc~tpz(9*~ZZ%N;%z73GTHPii|9by&ibs21%{C$kBOPiC~Os zzFrtxBm`Y4K6GD_bOn`RWXt>*yuTZ*o~n-zY;38_BB|~i1#-)(<^%Hf=MbM{`fSno zeEtM!t+7h~&C&wJ_eUhqBDq0pdoxX$$@OZOTQEq;-_kI|(=1qyeHNr?0rCf19c>X= z0MV<%xM(Ctu zkR;wc-4~iEtytcnf)$=Dow4?D^B0lpS)|N?OMum`KSgb$wCJL0c9s)&?4v$r?v>BJ z&Im(?lv;Pyv-0zfJ!Ie=45Lb9R4oW)gitn*JZ~o2Tk|wt@wU}seDUUAqSLC+v+!{8 zSo<3O&)6}k{D8ex`C#wOZxclgFS)fzEZ5uQYS=9vEjg24l9(aP-;d*pJWm%atb^&b z`S>yPgr8RaNEXdH<8@NW> zn!)bfH{_&guMV=NF+1MH3J5Y;y=+5JArs}yZ)owpG_Ca%2>GSl<&B7v2>x+KuE|my zj9KE_2kiIftJ;LB0;8;VG&NLY-fP$^PkAF=#%sR2VL?7ly@A*Z&7E%h!T*Sh=v+UT zowVBUlsU6q%Oq0HzdK(-CRC(kfsqqJYwG84bi>ua@-NTlHXG_KikrbLdS2o?_JumZ z4dFSTDN7Iv^=vdyxh^*_m)l_et=miU?)fBe+6Y4 z&dkSYli250YZeIkI5Cx9t9W70i0XV$#hXRXI3x0a^lPpSJ6DD{68g|vfIj9yoHP7i5V*Be6D0MQ$_DjbXXflv%5`#+{x2*xFRgO^ns$Ee=p!_S*3>-2aPENnnS1}DYSUEh z+V!fE{OwS^FHZQ)2Xjf}fdsM#ZIha}V%yXPT+WDFuh*+;08-oEBb3_vv8M4-+^*Gt z;A&~!9K~+je%^E<)YIgz9+p|kg_I%vzQ)Y8~L zq*aDmnkQLXuJYD=9<=2`wPiw^`#7)qe4H`GH-OmQ5CxIoh+%ptWh%4h${mT@cy`h* z?=Ng=KGIKv_d=eKJGB?~i=|AEbhAtuy(ka_rK1PIzF{z%Xu29K>734~OyVCH6uct3 z&@3&}fWjM?IdpMsnFE-#?wLtcGJP)f&S51{Rv#qx#k~3Oi77BW_xdo~6NCOWkS?p@4XK@@T*Q)nuM z;8}+1TzUn^fi9v(Hl(dRG#x5=Rw(Lp+_dLj%BaX*sJTMs-j#kJMD+?wurlP#RaYAz z3#)o^r~`vr{68No0D}eZk+ZYVJSn#0BD`Ng|#NJqOU!K z1$``q#|i$!s0lkk3oKUdp>hM?8;1%3y%!LcLW4%L(P)cl&@OAR?HAFQGDdZ$b$6w2 z;+7R9i9fv4J!6G>U_$SSL?H>!0@>!x^6xF17{m{EXY5y%*&*^}_`G7slGypSZQ~3G z1b5iYtd6f?@)2(}rS}c$j1IkJa<8dgW-E90E$~QoHVtTFgTKAa-PkZN*8UEwF;bvp zocf&Gsoilbc*~?~Uv{s}0%imeQFqgRcAQoq%)1CXtAn>wT6Qd=(m0Qq4 z0u@7EN!Fce?H*Kjv7o`Ej=XZ@5HZgswUE5$D}RK$@k2@R`yi7{k1<$r@^TTT#r-B- zr%)KV7>J{gxkcCeWm7zp3s8QKsEn#sL^bps@3bXqlszOWJ?s_n+-!I}=I0Nc&`Q6} zZY=^(1G9qnykf&OKIT-p#+V%m9W_KfV0VBX9xMQIFR(~@6E;;;<_%ksj6Jo%DC8Y;) z$p8hyKH3)jA#DdSHPhnF^8$jSCGJ_j(1j&=FU=K@sg0h+w?7Nz_6^jsYBIub`kc# zh3pBH4_xS-cYgv0;`qEg9>l^ z6P+zpsK96*y9H`j^Y)Ree3Yp=_CmGj9XhO`plI^e+qFPFg9J^YqUX7E%6o`Ydg^_R ztsteX9h^rPtdBcN1yFA=L#+Tvz(v)6il(*Z{_g&myoMOoR((UeWsL~Wv5&za+@WIZ zAcLvFrD}6q+31PB4Yc{1{u_y9*^7H+R?YL)t6kAKdq}U$tMk5EulCc<_%o*u zA$jPU=X)j7FQExkWUoxEnb#{>w^V9D?!p0_dn96LDp|gag?O^=W#VSQ_r6klnkuh|n%Y$%{}tJMmKwM&wZSVo#%9eg`7C&}a`T*nN(gBLsD;>-A9n*!fgPt3! zBKaL(!}Shw70w+myAy&Ysm0jgl!!Psfe?*sCbnyILVrlA3$uW#lM1)aJCQMt_%IDB zP`BDlu%U((gC^3Q;3~I@G$Qt37So4@GxR)y>Z(hd&wIQ><|dIGJDIsE?}5G6?=SCg znrE|=tG%FbcM7BbvtOvdZUlbbmcaI!ReCLRVy2w>>A67tllr(_^X3ydJ6w`jPUiN# z>D5pnD0A6V_8x55l-p6v!~>U$=B0o78$Z@f7g~Jjt%_GSb=6A8b(6I^JE*%Pe5-DH zjZ)T4)-9sce!9aTQZeJ*6il*tx@C($>Iq2erngnS>!$yF5$`6e{5QHO4^5T7%)`r6 z9`XneJaG4AOnYI1!>pk@IZgGjLumd4`#e;NUJ3Xl>qZ#&ujTt++vt0`zO&u>i=~k$ zb@$l!WBD2GCX+;NhU+!3B~p2VxvpCIV{_fqF#xi;?qAFde!}jXw)z{azH>D$*+DHS z-rBzZq3>+BN7PrUzt+B^`uF&q`j1flSpEI-^>3~E-=}`o>D>DjjfejOZSytkUd^j#bkOa^TJc%YGaHG6Pn$9_<{C&PX$LXW;H% z!RWCQYR;nR)I>2_cc8e0xIXeNXaupsaWt8{ZQs?F*ccA9@yO;TXbYOBgQ+l?{)UD| z^RoXjpWf%7>KqczFw$`p2mz#EaGuWDmJe187UgNod)@(eJB#ulBK_kySK{59hw?K+ zKd?}*RW4UaY6a{E(hfWA{!J_HoKt@%AwBYdl$c5pnRp@iZVT|Ox?wWTI$%E z2KkLv^ZCm_29@6PU3fT|7{6{4C{45-c# zs)q%r{wN7MPA8YR-^HqA>{ADKIL{D`O0Xa-Hv3(X@(Hs0dZ)sB17u?ynbt$i5kOA>&n2Jwsib&>5$Xm8oOMut?l1RWD=4r= z1&&sMZ1Fy-zNEN*OHtPzM9EY4ehqA+?yS#&aV;>sotB23x_`7ovX_zDoeFhayuD%| z!wiw(a+FMsu3{nsdq$uSHz>VqcBdV|XKE+1HqlVWGiA~{9F_Mr6(kN`FRTmvQv%;J z0I$bTBfV0~r?3`fE1TUzwH%~c{*teyDyrqoHnrH(@6;k^DR0Idt`WLPy|9)BrI*d_ zFYuntA*Gu^O%C-Vfl9X|7}JaLCm8pjpJQEGHxqFdo8#gWtj(1%&7~wUi+%89ovzMC z98R~7Q{2ZS`#4G;=ovHLa(c%4*dk2N5GY><9=#K(-%&afb>tOoI`ZtGBO6ubiQ63w zj!{SEwSQ5%LFr|)%SD5aF_>eI_I{#rbBQtYt*dJby$I@hbpr(p#?JTbe5zMvCif1a zuBf!wXDP}4g<5uMpZj~pYkr^mb@sVG5w|MktJW#I;cFGc1^$f;t!%|h4WZN~XVRKaT@8q5UXa2ELf#NCmGfWSiD9`H2 z`}l*nM(MyqpN_(JGpoanmZHc!Y%FmM8$lbgn_xL>pXuW7$rs7h z9}ttxTLo;hVH>Vsv^u?|9cx6WqlY8e6;g8*=JSx~*_G?`A$w+|?6{LSRa;`PtlrUgmP5BFl9AhwR+nbc90p`=FZz)q z^i|su_(6eg1Xd`pG0?qEV8N@z8*`qxWYF70Yp7*&3%~@Mi>x4WVAYYCaOXLQ4l*(J z>KD*d9-y=a=ZU+uu-2uu!J5roO%*_nE#0Cu&W6z()_ku z+gvF12bh<8MM&h8{d7O2oQ^&KvIDJ}(hb|MZCI=}wjozhZcowA?Hahji(FDwt>l^$ zHLU9cxwdeVP_9|2aCgYbwM77yT-*5lxLgZlLo)q_>ivK}sgiEva@PJ@FwWLt+SHJJ?uXxwLo0^3z-oGspp!BblP;b`Fu75ux zQu0xeWwVzeAALPqm!H@6)Vy{tLqaklo5+Hbc?*5z-OrL#6VgcRHh9mme?6)q`{&U} z<1UP%5!s8{I1OpfBEB_VYxhhQ$rkF44a;1DwaB7_L2WYT0w!J!5B44u%8LpASU&Tp z4vOTtDR6#28seS#l4DfOtbfGu(*H#3fRb*9ZESvM+kk6+aP^eBl2?|KPI+M|l8a4C zg46$F^$A4rHi|*NOatxjk?_eA&FB9 zHYl?MvV=MEh0qpwn0jIdxYU^jCuri@(1ouj>~`1v=S)^5rf+2MWI8(_58(!~0UGD3 zxh80B7s7chXeH`D?{K*!D!V>qV>TF9+l_z;2-Li(i@M9A%tlOSX+kkMjBadlII0u} zfLMi6VI2UWR)`m6VmWuq=e&kKrLDmp3VZ_7!NlfG5OjP&(Li$eK7?^~iIDQmss99G zLVJHhM|*clzg9|Du6WA({J2y4_cmLP&>2k&=({O-Ko5XQ^MwxROoh*I;TIJSy5=2+ zZX3skJdTpB&4;>z$CEk0w{SMJ`^H_KhTj9IHFg`Pli}IvgW>Dp*{S>T6PwIh?Xg7j zVw;3OMzz|N(Z+Gx`zms!r{cK_8Bb%P4_^1W^u~2&tID4%O{VpHm|xEy*R(M-&7Ti> zymAUn)=XS0WjD}RZBOx|)Rv~N1?R&OD3I~oqo6m~O z64|!uo@OB6q{dqfz6+sFx0pITtQSLTrW;`?6O1^pWu^~R5Ow4B=WN5%Uqdl>l(znD zjeWf~61)p=9%}9K(->j7;x4kMU%b2>)*oOvQmqdq&N|1&rs z6;yw+u0N2yY*V1Pr0ZErH>D-4VHkMK15p(W^7}1IF;_Ldvx6qFe^Y}&o=67&8gbYG zA)vbR9mcZMovvWPa`i~XFhkxe94B4x=C}QcENff~XajmbKrJ8@TrQvQ+E-Ulvp^96 zI-qQ}fcP~Sx5^rSFuW9z2jO2OydHc$)Xc_2c%9e=uR{X7Y#Ch?;I+5mwI$;1zd}c4 z{nf0f%Nl!7rfjw%{)>`+qs&fop|=|BSiTnke!c1b*;==kB<3Wf(QItEFZaHA7Cw-^ zaB3$h6S&*8I#g8ycw6m{AcMT*nx27_u$N9#bxfwerHlRL{1Gc|KHpf8EzVnYuc4Q@A%x|}L=b)wmcb>v!B7y+=XBJNvG)~1 z4!v%t#nh4;bk)J^x91Xnz>3EG8^KVi%=n)7k?~JGm}&yGl)uHS+A*v>KXpvm9iZM8USrg*AOna7g@CxtY5WTFoBb{Ze?SdlxMVRR#k&ns zxphhtpW)EdUenj!hUlyQG>Z-vdm*gqC!1#mnnxbo1Tr>1>X`L(W7Zab@!FP_nee>& zcO13KydS@I$?Hk=`3-<==yB!<6o#4Da7|fDTq^TduJ}-?Nlsa~VPBjAkK|}=m7}V9_s0JvU2}|F)Nz znBO5le$ZxYP-1-p$FHzdw^8%%D}eet^G(>UT35+Q`AVjuM}ZN=T~&3iDk&2XKA89y z=Btu6)J9kG`#Gos0;thzB=>$G`geO&CbeAgM80@RWF@w({A(mzP~Yq<(zf}Wvc{bu zpT7mN$kA;VJ{{c(B%iM>vC8aO_@E{li;P;8ncekr$v&>Sp{}~#uDXlj)!j3j>TaVt zX1&p$8CIvDG|sX)Zd^9dfD&ICSQZ^TUc#;at2n48hw}JAwK;UU30ciq7Wgmc8K%Or z#@B>`n-I%pt8%{!t47!Cw5aehhCBB;1>*Y;vNm*|U-9`XEELho|5rZ$0u}!QpU$=X z@)jDc!y{jLw|?j((`f6{wQf0h=;&0q9K7=X(Q**o;IB-o8okN%aSE~OU`oKY=xZy< zwX2*~8xz|q#ec_ahl%Oygsz?cMmcdT`oYtLB3qFwUdW>U7r>o;Jw*05r+b10_BqC; z@dftria~vl0^%JzfqPJNcer{~bBNw{{$Ka(+wq<_NYi-oX|6_M_%6~gjzBQC%8rgB49_B+*Ne9v`cigCP}WXaZh}0uJDfk{ z<(*4+@f#OHjZPThD?s>8gN4`c#7wIQ5s{lhiJ+!IE*M)gAZ zH2&Xj6Sfw9HqT~0ZQhcO#f6g;atOwD1_P7RpnfAG7!?l2Oe=psO|z$vnp&FssUf^y zI9HA0fu@WtG#GLe z55p9!eNDSEdr;$h0@>{oQ=NyK2cT04>9-QkTf53yg66P3Y{2iP@U9rPcFqee!f@y zG(ai=()`rv6MNFOqxg^gy5%N?Q<;_V_m?J#A2N$lnd#DhD(q?1r9Y|3#+;15(ZLi! zaBLJD7X`=UgXJ~QjG~E0xVcw4QfCgz+;A*AtxKQ^z6uh19HjcIkG;cKgkLMAry>{~70< zQypHF1IavZ|J1ye4O1POQfD^x!E80~jZ}vP$(x>0O7CY!l&f9u5Z~-h{W7$3kD8OR0YAfgv zQoFLGUoVwp49Nk+iD(BEKmex%NUnldBK4avHL9Ie>my;edh^St-w0<+r+q>*WF<*P*Y76zb6bA#ZTQ$7pOA#UC94LV7g8 zJz#X>pZUyAHoWYyjGtaKL<7d=f?1X4YQ0v*g&1lq5Z0x{*C+I0b7DEW*xvR+N40M& zOl91+C0hQF#YBdk9@>l^EyAcnTtf?D!0)%0rd*!E=(py3x*2aF*T3mrjIo%fdaS3@ z-AQtMyTyO<+=zB5UQO1G*TD%kxq}jpCBy;AbSDb>-VzSS=dE zc7drZg)N%UQ7vLvgpCS@!x6FU5vMc$-(92eKbB(lK2m0~8))p*oJkxrjqEwx&BDX9 zOgS~S#wbQq-Ay^Cq%aQTR&^;?^tfXL)`_k9X#^g}jta4{Xr}N-{wT)K9>6WDU)77e}w(!27$Q@U`!gUv6Qj*5R!G@;Y>I@cyc5==#vA*k8KWr z^ufVVZ}G^jOl@i^fB4mKoNOlN$7sBnTX9M8AkO3`)9aBoB73ncSfa6!?5-Xs-K>dpfqbC`xoIRWd)}vqN>fbb~qesu;SPGMm-@Jc-7){ z`Qr!UA9w7T{tCaSHcR-BeyAE#v0pKLJ@%vq$$U3C-5^KIY~oBX#_2piXtwT6bk6Q5 znWY(lCqnDJjWN42puI;_VJPz#h!#*a7+!&_NDh4zdyD#7 zp9gON^m{_!!|9bH2};k7uhI5EvhICEMOYa_X#qClWV)G1U#lU=#*iUz!FW4Mnd&B@ ze^cT>`?wQlJw6`zS}AAlp&E+!Ekhpa3gct#JG#R77->1#)>jzssa&xujGx;NO^#c6 z-teAaSo*t@jItQ4Dk?MWjIs1>w(=O>hfJSp>2a-44ELcO1p>N)>-&c54QhW$VyS(k z-A4l-RhO%4mOthkd+x;d+Z=numnj(y&SP{UqJwuB!cmPg(rJznX5-B0I_K4C5&i85 z>?pyI{A-rqWyFXoSiP@*8(W^v|3x@C|Cg%2$MRvI{#PK(rV5s;@HC3K3QvkvsA}%e z9%_sswxLmZe!IywSQ}ltaLtyU5w-@p%v_D0(bvCQgb4|WI4;O@BYBc_HI8=I^HFs% zB`;FoToLh~-~%4@=iyT%B2r!y{A-+o;uH#&5eu3bwH4`6=VY`ngmMNbYax82x z$;kF6e>tZ*jBLe1Cm`ExVMb_nZ#V%=3`=osHif)dMlUATiJD7c-1)1J!W(j)VWvcANN4eCaT z-^!BG#b41+XKG~8X&F9}>4&7J=;DJ`n)Hj(K*Uj>5h&ABgy_)K`=q{q*Us$s_YRm! zUj_GVu>|PJq_7$((o{ZWmtBx3p4!+zwfc7@hDV`LuuBPJDNekAh^p6|e9^-;d@QT# z7Q@;cEjD70W0OesS7r-@LfH3?z?T_;2YtG)rZa2oZC|RfGXyVtD2+w?U&^v!9<5^8 zFjM*E=QbXam1S{i%DkowoM>U$@JuR~>I^MX$%+NM5WqU2W2*LpwX6_!DO@4EZs?cS zKniK!M!v%gmBi(h(icm=8^VtrA{cA&rDrQ%egzv!-n&Bt*8J?CGl!{2?&gZ&KHMk-Q_-Ul?B14Jx>WD$I_kL7_#z%^5&+TW7DfY#d?k8`3o{1vrnd z)f`vF0gK(2H@tOoBjs0OuY8hKA#CG4zgb?aIQgu6F(!xvjqAnht$1PscIa&Y>5!O9 zxdz+=`S*~uO4vj7H6hg-$$)?`K?r``Tk+L{*7iscc8@o&B=P9y2*N(imq+Lt)gt^D zJz4VT0i(n<3LHk@d<9Yxf;WK_B(5L8(6O1s^=R-y9OAGfCJqCWd_)HXA7S>QBmkN|&h1gW$JC6=*uZlt=M?;5lI7gcZNwhK0kAAxVZ4}g4bG>uUL z=bll(kIu7AmTE8Art@qYV{$<;gQgqKkzR)JruFVA%zOsbn-*3Q&Em~_AM?A(d=q&R6Ah%}wN-L$Qi7Pzalw~5k&mbBeOp|OM8O=x#_{nxf!vg0SV z1+9srjTlF~F(6v+@zgfT_JLG-*(6}1LiTHSs~Wr6OG!(nKa*?jRnN+L6WRRcW8y2D z;a+%1V2t$Tyvf3^YM)3X(mD_y~b?O2{VV83Jk zY}d!AJ~v%vAbUaHEKzTrXWPVf{3Kcb<<4>e>`!U$f(PIYsLmws2J z9vPumWXYO}yZ+R5_9Ot$JT3#dme zAX@^nuYVK9#e4S0?i*MJu#>S%y|y>rL92HY!5 zmrzG@uP9f;Qblm1w+vRw-tZ0)M&aKlwZCQu;MYM0*W3TLGi&aW-oTRLogSvv-523r z!^xUL+|MP(Az?-qaM!Q*I4ow4)FVNUrL&swwa9c5H8*^#(2;~3z70R?`(VD24nt)* z)m6u9yqEv2OP7?^*QND|(jFr%oW>eDz{38j?WuR#y&=o|yed!e)e06+d^s`UdKZ+n z?)6&Eb>yCJX;bQ?<*dv*w}r=xq;!j=`t?L@`sS@EddF2R=6Nd?=7QfHZhNSZE`q^ zZ||`n7b`e*sbjd4tasgLbt9&d7@Ge!trNHD*DDH|KfuzaOrW97n~-T4iKu@s@$Gyv zVnf-6>?j+uE&fssfB_)_>D_eLHdyMuInI{4-ezHH-TLypbm$G%!n2@vb|QwFKM2s% zulJX8Vhoj6hUd6m`B1%b4laU0De(PBQO6ZTtyI)OawNP4<}uE%(@~uOkE;|cz~ek( zfcSBMhkm`c&vsmLgr!Yczb`P)chxAJnma4%q=Kjo6m^Jd?wYUpAe|R+6xdh6f|_^L z#$x%yp9VGS*E>0=c@s;Uva4W@lJ(f#wc$;_TLZ_OxLw}(%<*~h-_V@vzc+06nxynaBDo^`%f?DMqP435?rR^BVBB;L&Ws0+up>B6(rP1a05 zXr_L>&09C~(4d(+P^rJSz=X{lKgs)GN~~Qy)Girut0%fvUw@}kBkN38WeBV@@xw`D zp;IWaAWW|hMVPDCH^OXfAD6g~b!>?z>(15(YUj3q7dg(=+8c6MMLym++`3MZ>+0rc zIIU2yfSFz)24>PaPNQAF-e!MuZ2Y*TP1&BsosITjvDc69*l72E?n0R(^VMAxkz52W ztWM6uRA*}?s?)D`_nEG`QcIh%uhx=dNx(YfJ#`1-^&39`uW_M5QvNZ|XD8&qi?6<#M_UXs#dzU<&TzT!O5V_nR{X$^dsrUQ2wO*0H^tQ?*y6)~(J zKlH4Ay@hAEp4A~PAfEtazgs6VWE1C>s*$BjcIC%b$2-dUkS#q)@md|T? zh|lh`u6YbzZ(mQBnT4;nmnH=3${zmS1iaH=4@ZNgV#3;s<*l{}acq z@`nW*f;=HOO9(ftzbjO6Q;c7M6+d^`dfphLhV7wJ#JEs6Y{aILnLOAq+1TtJc|JO7 zlI}aqyq(G%xd3xW;&QQ~?)b^xWE)JG;V<-p9^)jLv(pu2hK~f^bFtxEH$ABu8m)-D z+d7Bq+Q_EvF9*qnCwB_R)qlU*2?ncwYNYf)iBETi5_rQRS9J^&^#KVyZBC8LV7|;V#So*O1eao8e-4s6zz|9o~^&bILf$Q1^Tx2Q{ zs9t$cno=F8;{XMntKM<;s~c8-676;(?A---IY!^p%Manc3Kqz7rw0y89JKPZ_7lF8OiUm9GB(73Dy714jLy8%x7*1 zGXFwCYq_$3V?3I^@4W@knfZPL-|SlICCb|8k+#t@l#kGHh33s^+60h_)W&=gDoCxS zu&cC~$YzQ}qapLEHp8r2{S~9&qa~UH7Bct9+P!9|t~zMo%h7@I8ZB8o>o zvTohyH@ne!x@p2^B$@iw4!+S|OM9k!3Yv6jub>j>3L54_OM7|7>k` z75|BuJX<{_d(^|;q3{r2_E&WlD+1NF~;Kcw}AtfRi-S-<>!)m`?CDu zsn;)WR!=jlO6qRTbcU;hSrOT=wPUX@KbSWj^2(|DD!)m2hQ0zhBy(2XxkRvc@drAv zYF7eVDbSlhkpgTkw|IT1kMpfPVE84P7&emZX~(^%(OcNN%ht7L$o z@LzSn@AvM1)k%RfKzLZy9akCGwKCHSW4tC!<|mG?=FBSF?$K3DvZ1ZEoii+`u9q?v z{r}iV&3osBWKQ2ozvd^W@)~iM84qtD9x|?gjNz=>NE%Te$D$r2%KPj_iHgZ?P7K(< zrbc&aC^fn=J9JDcGip@)*}>Rp-pWk*lvL(Lok`EUU76*BdAU1IHs;;KrO26Ac_x-* z9*G^n787<=CL1>PhqC9}q+*d?OHdu7W)KX=0$6_z*5RqO;Lb%fWS$~q$M3hP&0899 z4Zb4>;b-(F)m3IbjL{rKog0$THo7dBO~h^VqDJ<_DarIq(>TJ1HT(zoB;LQ1UvPUj zM$u7V@BK*>b?W11%$bFA&r+L3WyE_y+{*N$U+;nw-1PGl$qg?vUHZNC@`HnNm^}g! zS3>tE##!Ms^9YK~K)VM}dXe1lsh}*ED&wHc!E{-O%T!{RWL^(I=-2a)cZkUHN#n{j zw|-05JMbUD+?pOEb9P`3C@CGeNP}}O*CXz2p?O{A5&k1#`7V`pd8MpoU5DyTm@7+4 z`?$Q#y0uT@#~XNqn9srpnR?ugCyeWKq}Vqn-()iV<&? zD}Cepkm3^>>1uTsA@a`&yOlL|O0XJU)F@!0}K|D;wv;jferCcLIF$ z>)ms#!{;j}g(eB+G>wG7JUIQYt`q8b$z7-n3Q%df&QK8yP?@Y^mr%@mkxp}@K~WD; zxyQ=JQTc~e_wc&`D*E;Q5TJ6grA>K2Fn5elnN1$O&bQE8eG+xBi(GfK!A;!xsw2;y z4krNvr$vuUk)zT}a-wk<%`<e&x<+_!~6-qPq24p+iLl{Q=Ik$gtRNL%Q7z3D^- zuF0Uq%bD6Y)Ve;~GxGmLJR!btg%YfLB7OL z%3dbG89+`DvoJr)P~xs-w|j1Fj%PY-07E3#1m(yy`4cT?&(4NHX)mj?jj5_LlU-=4 zDpb~!>D{dfiQ8W?D&lAN1^ZymaP`79grW(aj@3F|%*Cwf-^*S~0L+xkSGox28mIOz zsBZROCnCt;cYRZaIOl)urVM}DQe)IB1Z$!*O=J`c;`Lt~0i$_R)&! zsVM8H{pqOYEuyY+u}2fjs4(#tT8ICOWx@Y1D*!jWY^=SgT~-9Vh?Bq)`-vDqqj(rO#0BN` zkhhtFsoL@Nu+o86vb-K%mEG=Vj`s2BZR#L zFIGrJ%0oM$R>D7FgW7q-1yy< zKB>%zdgHaj3=2M_sp8Xu?-DwqRTSheE$sy%GS7S6{z(mL{#lF^J9C@24e@qNq^Mf; zRr`pT)#d)dWQIzgIVQXeX7W!+h$60*R>i6pM!wyyH#W3kSz5of^+tvL6!ylxq-{SA1CVGFk`TvT!o6w4}k^UBQkM8N1d$2lGZJ$ifwPNm`F%mlF z?qfahNB?r`=Jq+6r;o~6+kM4Ya-4jqWiDN8_c;!_(tZj#`6_b6Ir+o}z?NW<%Oy+h9u6bTPf{|I{t3cY&Rf;Q+H167W$MdWXamr6r03bH_@i~hLnxiIp zf9E2OJl|JcVY>|QTe9w2O}tJDx;gmwc>hxy$?*Pcj(8y#4Gnd`G~*lBX*i{c_s@=X zfKmQZ|7OcoDBvKAa7kBb6w6I1kTHf<`b=V(^SHjlVH+dQ+)4w+FcffcSZ2he$_y3&9zDs7;)4Fx&RoBW z-6V&dk=d{dN$hsjum~4wCaLU+_5KX4GfIm0m@l%qvpDI+ufOgP2K3o^G|9i2RVxE- z{ix2$mruD_V&)R94dpap2UWc{Eh{6_38eQp!cER6m9xTDk%C%1(R;WR$RWDXqkPI6 z%D9tdte)ge2!Uy%*TmjxL?_ioz3{3rcw*@fob1)|e<|x73n(l;I3$^I< zESIfb*#?r0rr)aYjw8#84tg>zI(0EJX?kX~aB90t)!A$`gwG5%LggQw2a+mKz<@=}O$d47i&V|<~T(9ywf@iqn0*hoPaF+nAV+fIh(sH-y?LQLaVvD zJ-}}MqSj4(j2I_%=Y+dFsVv_WoYsu7b2Lj0-3xn(ZkJjhi2UDmb^Br>V z>!&3LffRo)5@9?tFN{xePe)$60rlBs3@v!7j>zgd)bd{8Jd{0+vk+-*%$NjsEB+wZ zHHww`V6oh{t6PeL!|{``ka)8$LlWno@WNZ$*`Ll=z1cy3;#xe8vU#6hYOG`nTDA2( zB{K~~HF8vl^P8_Bf|GS$xWaF3z$4BynVieL*X-1;djKHgTy+Jgo0fJ3P?B{!+j4Kv zmlU@n+$D(%@f^a5%HoHi_Y|J5w|D`Q<;QGJ|Id!s-*|~UKc9u(YI;+8WBzu)&Fo%fb$2CEPtSW4@Wvv;Z*8tM>_5PRc*qf4Z5A6dK+IB_2^sz z@pFhz)>RYD$1M98<31+a$MO1ru#MDRmT3ZX{g1e?Y6A$XuM(r{OUkunsVi72vYq;* zYUlElWv4!snU4sfrgiF5y;1xeM%%;lFy8KogS>ocPXZGqm%3JB-PiG1zcx`?eO}3+y)0M)orxhP7vBXydL7jQSUMsHhy^h zw6JIVE+Q9Gc;Qj+Yrr}>=Pf&C^%efBO?Nixm;FtRVdZCOa)^b}GZ zJDhZ}Q6b;uPpDsPw1guu=m#TyGJOpt{YwShd6Q{-m6r~WVgN*KS?Aq~8?sSifAEub z-Ks4M*vjF$k*GOt-5{phHCCb|u{$UFlj+CE&O?fvFyx%NK6p1)+IV^9^AXuAf)ndH zeQWkLJLar2>tD^#S?KRsT%zjheBAR~X=7)h-QaG0^hTRc&E=VuYzqsz)wU5X;R49( zV%mPnOg2(QVjwuNZV$CI83%~vyc--{=L(E_)37qT<1OIRyh(Dq;Q-S65Bc-z?mfd1 zLq2W)ygHR9@i)_1#HRF1fK(Nr;*eaZLzB8#Ave>Ij$SgHrthfh1HF^skgR*v%oKwL zbrCbWm5rA3!49wbp>t;$2HeUh&)6Fh8Iyrrm&@v)c*1|wNh&ZRdpZsU_lV2wn0*m( zbQ}h+PJJ+V@ib*-vVi5gsFI?ti|n}iC*BTMhg~E>yQ5d}Az#5OoY@^mP%MUr8P|5k zPHu2xC)~*s3IrWTc^->P_;TJe7djSA?--v8j)xWB@)9c?PYYTLW+tfO`G%wA;UuD%|iP_>~}Imx;|NWj+GnK7hvZ+&G4)oo-Qui=Z6 z*A?~1uiyk5gTG*Lq#?JnaFw)9e<;q&%N2hSpU|9<=k9PXNnG}%=7K}DWGG1-Z67yF zo|Pn?dO|4^HK$~YD|K_6&b!yxcXZx;lzq28?|z(OW9Qx9YB9C}_4y2G{|J&Jhs|Fb zr0L_qDmHuAZCjzOBP39IIV5rH>U?f~k%+$|aJQ0xxInbb85;VnW@es(?3b zutsI1*-1YbMU`lHy!l8K-f$3d%HCVhhEr>q$@{|LzTUHP5Z3{y?CGa=wb{@)?3ss9 z;4zq%w&$+~ac}MUA^AHw>~)js4{kMA1kjW_xTB?>1C0v;$TrQ=uQ&WpPDfura@o_* zQD1Y{C|lXn&$owx&um!aU74>~E5$&8pVOw|sriacd!u6gdM^%f6<=o+zd<#AF;Jye zeRv*=f(|sM?CC{{|BkuByp(l$p+b1|W9=@=9?~N_EPlrBT7$J%W#&-^-}$pGW~pKx zC&qgb{&2k76cOub1+$KA9kCuH#!qe*@I!zGY8;r{7*>PyeD{ z{817!AB8>KIkfU~QDUAh+AZitf3TX8P23#jSm*6Pj@X=5_VoYZ?cD>cp4LD9N^@MZ zb1!sp3Av;&lrd>jOiU?+gUI!`3o}Ot5$%1W*olX-}m?XV`i_8EH9CSH5>L&L%x~)rvHZuLlcknB%aLi%W(YD+Q`)#_K#b!na?U%$Ztdqni9^YrOV^EOO^} zUUqqk*2L{rw_E1bn8Uhbv<_%_5@T>h*^$tYXZJMzRFsXdkJ;{{uYEkqhhxb44((tl z)k&AkKqu*G$-LPD;UqE!%Sm&z7y~0cEzVT1gciE@)B)Yl(?Y*N|J@^66g(}or6}Bq z+(_?^&LsC+Hj6K^q_TQwAUuM9=~?fpi&dkvP*Aid`+(cDRV5#M@{ZNme$mBZ**S8E znAE9}PU;>4g^(pBn{p>EyMFjI2`$$Ymp8)F=!W6<&M-bzNz*wOvDxXY$T5&Vv#P1z z5N7I_aKp%un7@-(MKr5VR58?7p$iDNr=r~x6`kuU5*({R-Nf!8dl(t-@}}_Wwqi!&Zy$z(3B0k=1w6bPKbl$})Vo*jr*fPyt6U zr(^}o7}!b%6*t=N#&>>lU;d}Etf`U3q&;Nb*T!R6k}LcR2_;H9d{;!vm#r&o*kq3O z_xr}%Et6nqP(->la)zP#oT42a>D(JNod)KsM2yGp5CTy!>8#571{4@IkmNAs_67M!vhB*O=# z9i19FNCrzu*Q+GPiMmc=NDb*Xn6pdN_4Wf1scG%F4O7M3amTn<9ixWSpgnTx?1vAf zM)M7C3;T-7b)kaWLHR8w?m6UPJ1CbCPVS)G5Vw6r<;Rv|cD`O_eA5QOvQwm8+-It; z8%^o+s_r-$$R&{zr;>-Kax*8WhqH%rb3o+lU9BA^IY>lk0%uz?l@i=$5Pfv2?o*nJ zsbl*q!{VGH14J4iZ$@zbn0R~Te@;duM2<3OT+FR^GK$v^+gt-83%Tmt7tMBA9@)#Z zWmb1GBVw;jwV|VCzX(=V@8<b@ZH^o4=|1c2Hqt~J8{rxBM9fE zqbfNF(5%W~MIdYXD)k%u%-%)Uh_ii_&m+O%mgEi&iy&t&g2sQ4eYfmr?8|J-7!-FK zSH(qC0ZXgyk=E!Nyvrs~=(^^;@MZ+H68=R=+PkK~F+TpmKCoMeD4e1$3!O>oaHK(r zE_!|a?-Z=xsEb+n9iHTii(WTCqZKcD-G|!3o<%LWI<0qD9V}A5q16Q&(8LLsaGVlm zS%Q@1G<`n6C*$Nujt7)fE&~*A)CyvGQ)NwckO77Wx8{Hy)`n8XjWZ zj;MB|+E&(Ev5qXb9=St=jCTGZ)~!q~_y8ptK^J&-hJLI%HnqJeM^qXAI9 zqTo<03)w7J8nIo*yvtbnFxvCcPTuio9`mqGHkBNm5Scbc`ujucYw`jd3j3TN%e=9g z)t{uEUeTp3G_Bd5KpO?NAn^G=2(Xpo!(eS{!E|csoSyZH*q{S)X0dd6jXYA4n%ySv zFO`{6w=vmLnau?M|B9ILa9X;pA;DhE1JN*YVwJvNmUrGUcPM1KvbB0BghhYvMQP<4 z8XXuh*Gek;6{BnThKet|2fs3C(oEmMMS{*I?PO=I9L(~FQ)42~4_Hxoy5;Gu`Weeu2@J{~u zVRdyzn9^bOyW*@w=R#$w={M-qGaBP=rfS(HpR>#!&L_7A^{#>?BlLnIC_jsPLchU_ z+eM)MVW1cT4&e5IRCb~u-pHzJ;au7jJ{6<6G2=lgZ25Z}Q8Wk%P5lPv6k!kdXbuq2 zH=&eA^KUI${FjnZwrHGgQv~%l59&LNrm$ZzcWk@l$v`VIw=+5}B$KbIJEByI^}58w zJ}y-yUsq7rR^nhA{FicQBt2`U+P^*RpRg_8E7_Ah7`v-Kf6@A`<{ONmuiVBe-tO#J zXLT}pjoD-LyWLnmUx`%)PCAbAlhSDlo8Xx|<_tesF=t ze|KX*?YprOYkJ9F>e%$mRphvjzi0S+l)st$rMhK6s!faac5MZBPaa%0S?xwVe{a2g z^UY|Tt+#K|Qt(mNNx({0`kD7X`Gs({#fRXGqXcdT}l6?vIsS$`P=>Mn%IcIoTcYw|MVSHUs;j(~?^sHDjGNz5gZoDa!omTCEuWVI#W zin2p)7HdCI5?+Vqto>4;MZc|~Uz$fY=4W>Vp)RJcOS$~=_lJCP_bqd~n-a5^2yzSk zGX#Hf&k(Ewwk@9_IO7PhSoSbJ|+KqOYj zJ)b8U`dQF)81U8WF6|^LwP>hb&_>^>ku|B3Fk5P z4#(;g;o@BXP=)UCL=Z?BFA&uXv!J)vV6EXbr4``%oS|`;F z`HJ^zROQ#xRo6?a`n}uQeht0Vnn~$?OXu^_u_`UUVqE!+8WRK6#Td)C9S^jbd(2JS zuvG6RsgtLW7kGA$M|qZhVrE=oqs9=DqSpnAqt-CxPc%J$kTz;8;(YwT+}-~a$n1V( z@ozwMG|6Jn*qgX!Z$LaCm_=^g3WSJT_6)>%C(79(b!yaZ*1vcL!c#GUjO`5BuRFD) zA2l3B7u6@YqMdx5{u=Mr*zjN{qS;$a7qs7+qY8#(H&lu@Q#9ZAi(Ncl$`u^MhAha#2XGS=)rvF|Ks|&GICO zYAbm%*C5pz;zeS#JJNx%A{z0wO7Ib?+;J^~UwQZ=yosCa*FGYW#NCksqbZQeJSSdO zl$~xLxVrKe9KInr=X8<0)4c zM`_*2NANxnUA*(`j*ySrEl}*MV98Xqk7AgP_0lAA$4%w8ix{5SoHSGWk-aYkP*HZ< zHKzXOinXcC(bSv}Tw#_unK+#O5n7qoY>BjdF7~2Z{qv#Z zf->1H*AmhVMFy`Pkv+j#w*?8sYqlJY_v58B_7uJak+zEhk0nNKh) zuZSDcF92mPk3$bKbc+Hv5Of(|{)?>z#OnIH2S9~X<{K)K9%!?*EH>6}ZS8D+b^>BZ zl8~wdDMWD+G32BRa5PmNngh4W72IuRQ)~t-WSv3Usx`M+LTasDwhKL9_8dN3TSMO( zK3l?k0@N+%t|j~uB^;*ptbEy|DB()$nVQdgCG(OP<9ZGw7$c$dig8Nk9m0LUE;s_3 zIqBP$Wd<*On=4o%eQPNO>Dx)t_uwXObI5ms@&u-HuznFrTI6stjBmLa6uUM7D7y&C zDIQ9SY~fWv8PxAeW-)`(Mf1b#2Phoz9uf?-Fl^tVL{5<$!3loE251#=6iL1H7NS~}m z#Z*l{Ra0-(L_?7iq@tYNuex8tWDnjS648FOm})CkO9|~iQw*Rh1bP?Wf>#9P7N8*e zLFejH!T&}Zukz(Lyyv=cl}omMsd459OLjg_rjmf=Mm3kGqnD7(&xt%X(aWh{CKPAf z&)H??(jujY4lpjr%08luo}>y|$w4M*EoPJ}$72I(?wXZl<_&`kS=YMoa-} z`dhG15zkxVUSY55lyK%^-z)kH&q*6PJWmy#<+95?ZyVEb;)=Nw$ z#GPY=cFXjiWtSMBEi>YoIL`Raum4 zxf<8%k`7Y~KW?=8%D1188NW5J^80lA%N}t1bkotR5}D03)7noEi^U86Z#^kg=A`aw9l*Q$JEA7;;*jt{2Cv9_!a-s4I0G@)0uWO zjV(OFkBbTaj#Lz86u+BB6<$-GLkgXGDUU|brjrVN>_g)mMn%&IZ&naaH|!v|n$9%! zDE!0VD5j}X;qe&g+J!glLwybOoUzv8tZ~UeBNfwAz;!)%y4sK^fLYygqIqitFQ=pa;7-8>KD>Wl$G}NPePaEL|U;HVDwtWp6S&kja;y zEawNV9e0Cbp6jW+gEp0!MrZT~Ic5;l%3fwR0lcrDWYNQW5cpVuUId<1poiSAUk;S} zwW&wC;d)rWQm)P8^ESN?M?g+<_T5K*jU*+>HuaUmp6eRq`@n8Br+~|Zs;E1V`cs)< z{D+v3TxIfR~{v4~H6Q>)ohv7@( z^nVL6Xub2Ix}_w0OAv7+c%@u4H($|Uwm=&}ire8G)3OIrS;8A&E3*TLOE*l0F`;(l zq#N!~uo2XQbM{3xiVN>fc$zJ|kNN$D_fm$|bT!{1?#W1}m$FnX?)u-ko@8L6o5VdY z-Eg1DSu?`BwfQlBi14k>d|Ks(T&cgQ4PuFGF`^ndTQWTNZL77g)?GNml)x8*<(v8{ zKT!_<;Afooc8P)1bg3YK)odaWs#Nw3jEC?8{*`74?=ho7uX_K~LEZmNgQZzmRef2F z#=!U##P`AFduwKaiYV`((bT`~{cxIa;uORK2I(2S?j7QXz(IL55eT(#6A8JFKqwGAu)5v}nins#$p(I(3b`CcCxG__ z7c-Z#r*nH^ynn+#03D7YlXLcN2Do&?^d04Kb`mjY!Wpu`?@?a`SN8iAl@vl1iyfQYxwotP2p|(oPs3{Ki@8{kdSI! zLuR;sgTctCSa}4=>4tT%8N!XJz%^Vs(hch>vTd`-jTQMdt%-BuB$+c-Le^Ja%VB%T z>t-t@&xqgovU{S$&w^b^OiY>54VwuZ=5U*!7tKK#NUU9}-V2JYTBu-2tDaO0ZP`L? z8T%)*(^XVWx|6iRJ_7t09;)Db>XdB|uODTnE62X%NH++8^%!-m@Dpt_spxP97;~DO zBtBlgNFTlAo6DCS|2$agoJUvtj?Z~)p*^oH&Uvgvn_%N8IkRb4BuGlZ5`z5V2_lOyIHSxlH&8q8pq<4QIwLatSR02L z<}m)CSBB(13qM4~I*z*jHCF;S9&;t#5GZ&*L0P%4;0g`KLs7@0qcurzv&!K%Ux=rC zEI%j)9t{vm@3eO)ZBJynK~aT^HH04lCfe=5i}3Ojs%OpX7b)=9Uy@Ad7~A*3vI@fP z+yX!1mKlW4A)iv>P5bhcC7UD`RORYzWXRPIBM&xN_b7XG=%J*tKl{pb=%Ei|MmkaD zSXZUsxb-LlED`I6J4&@`@#Csf7m;3H{+Fk0Z1@I;R`KiudkNkN&N|YXUiSgq<~|-Z z6YqAFL3Itu+x-h+X8?mI z0bvV=su!I_s6<(ZC#%KzvJn@EJvzAXmOr>~Rj~!quFVu)xY1%O*3}n-tG?KtB%~WA zNggun)*5`ms^Gf5#%^bSK=E-1o?Ab?363Q?bLOw|+~?~pr(W+&7+d)cTmDTbvcGv= z@c14Ix)~9EgTj~A|K%&?*=M9O{Ln;mFCzS;t8gS3G4l!^wG=rBV@GdcfY5!!Qskg2 zjOM$kI^Cdb5rBO>fOCtW3&$!OlZ<4xfj--T#d-<{5{3KV?O%;#M~xBgeShWI`}>qrNhyp%MBSN@jpf#L`eO?jc_k_>Rn$pc zA*nQpeuJyqI8Cz5#Jw#jw~8LNQMhKj>+c^n(@3hPYZU{~tps#W4^&qm6^;dFLSrgJ zIDHwm)D?)3DZcDxsAi5%IrcP|HmazsKVNgh+4%d;vyeN0ayH@Q0Tg!w_i-*SH*nX& zQ&>>9AJxzjd}CbNZ62_vnBH*S1dgZzJ9bi0xt*^hU*CyHF9l7T1-%Rm9U&2&s$0*1 zE)mc{9~saW-TY9NV$goS_{hn)-4HQ}!lv-Va{fZj((?+8@0@FHcGTo+>>cUE3r&PX ztinWN%93y&9L>Q95Obr2by3Id9um9~Zf~F%*wF(3!L(n0v7!7|uq^y7$qwJ(bc6DR zn zrXFlLzP3s~9k#TINQd+BXce~{-?IxA=|&VzH)wUMaC)*?k-7-9yV;0WxPbI<5Au7G zZ4H{GJXv2c@T6Qk*@Sf<@%a~qj&y^f3hn9D;SJj4T2VIPyy6~`*5JX zH-Wa!DH!gi?_T!p{et$YLFpJ$={4-?WKK6EwesOUYIF`Tp{Zuico8-#9QiP|tl>7T`IxKH0FLV-}%$9su-w}sL*hYu1Z0S%t{ z(Mi;!Qo5%BE1`6iA*=wX2X#q{MT;~2qJ`=23p}VJh%8*21QiMXZoLy^@hzit=jpal#$qnrX2!cQ>RwFy4l8K?l6Kj`&C`8HS$s!*F|Yp0_EvN(XX zho(zL0rt>zIb8wv(0mwNO=-VF@mjrmfk#kxJ`b7#s5b17tJ$*v#R+{`QxQ&MJ;-gb z+Y0*4WJ zM1dhf{LNlP#FuE*K!{f*5kDAG=Nm-v1`#XhM*&al+GEp=x*IFZ78`UbfQt=!Bdvr&D9#m0L0Bwv32ENh@)aYPb}{glpHCab-> zFGNctSmW(9Xzv{<0jO+WTX`%!R~F%nG0KC*_He{ZJUz}oXZ5xLE~&vQZPjF(Ed^_X z`QY5_s{Dir;$gnSh9KOu_Q?}?y@vgXuhwi@m0MVy-;%+kX6fL5FK9oX^I|t~HL(k6 zpvnBiOw4YDp?k=k&CWeGRMMjetk!n?*tuBFU#_dZR({i&@N0bkHmS@YFmg#35^`~$ z5yDpDay+g?;sRuITMw3%^to+;{2u7)V9if9wYFo$n*FKUvQt}Q54aaN<=g&TRS&B3mQ5RX>fZPTHyTP4hfvkQo{`AV*#JatR}moqRWx?u|n*u z=u&APp+3NWB*i`cx7nJv_B1b1V%&yQ<|{?y%hy6jMICVF_KA8ofc-LG!YOK z#v}+(ojYk}D!UU%J)w3Xc~$w^1;Gic+Ed!@&XF(8OL=?LTc z$@{=knRC?2+=A--7Lv(eNWY(JK8YkT)QL?;@k1#ZQ9PC19Pq7DJ(XSGv5TiyZI?oM z)696+zV*#r7{rTmV!JiecFU(OI=QEj#tj4ufnohsgr$EM2^$eBm6_*ar$7>D@}DHJ zGOr;!!5C=m#-;^GK?&`){k2HDV0bax7i1GDfB3~xjg-4ashN9X+d)Sy;lWgYgU^+G z&L8ypxget9S-(M+?MUhmqe)9QUQdS&uM@kIU40##sK3|Mm*7F5t3P-uT(GWwATr>( zdX|uj`wyZ2)2^;tu*~#K4z&!{=Wiz-#TP7JCQqaFoE{*U%6#a0PIvpTdrK?2tY#n2 zn6!NuYy|}0bN&iZ)brg6D87-=NRYT`rvdb2mZ_b#3>!~M@L~Oe;Flhy80<=_R#b3G zHs7Zkfr}KnLEDJ@Rr#`)kRGg&)MNbEJGMhCzRQz}*V5o~`nGH2MovLU|86541ESv! z&El@Odo{VDtLs!9QZP=KDs8NTP;zG3ojN#gTeV@3mvpPRL&FT>+(`pmile&+1DiE8 zx-T(be!=4^Znt>tKql&{n`h*y9AMXwkDa3JiMe-!^(xG?a*FvPXIg1tFqOGS-0)+w zSfF0T<@6R?WJ9EeM7NAyQ4041hSLiD|B}=S1FS#9=0XvK9WT&kK%;#JI)JvG0KyKp zo;h9h+6^cB%B0ppcDnH=jaxYXo@GrtZ&@JJDt75eMRJQ1M+-5e2IhVmoO{^@vLDiL zBX72qc%aPNTIMa3d0@_Dc(9h^qZjOQKMjnGNN%P6pX6t7Z2p{_2dZ87dWgsPod!oC z$HeZEVQ{OyLoJ5Mz}&C-5w8bVEHlf!*!KNJ+CTFTqHv!I_@uJSwF3PO{}K!L&H0rb zR!VjaBXK86axYuYsEqxr6K}hn#2|b$fddJoGE+=)2ApCdd!&uJ}h2+|*R(Rx6m9pXnt=t$^bE%Ct>h(Vc zJ$Y3uJQGn5Ci>)5<_=ZprjR!%7>`buJIKRBiaArS9hXr6#(A zCSiSsmoi}mCzVJyKIJnt)dt<7TC=@~jOJy*8c}pc&&7LWcI41Z0+}v+0@5aFAfw;l zNJB=ZXe!gq5PDmU|5Lj09be~=+;>Ub!hnvEZd^fXI3J-1uG%v4vfUaVaK1*tm<*Tk zNzF%jGUzv04EZJMCzF1 zD>dkULND;y(vAHU^NNc(g97QsqZHFfOjT~|1m@sl#MQIn|uT{q#N&6y}Big*A-?~^)o9nmHCHdaTOar zmYd=7{87TFZ?I-J)PCdr6!sN{_B>Sr_tjd%{V>6G!g-*AG46Zu38)&6yMBWM!WOu1 zWQcj(|0Ue7H=4CX)!vy5Rs+untlGW?xn)l3a7pbXw|{sVd9YpLgN`=t+dbP%JrlP@ zpk=0jmu3NbLx)u69a)|gUG}t(7u-h|`)Je$^Mgv!DL0Q>n&4k5CnrU^u|aq*lDsY= z*>UwoE$TYTTxr(`6phNUxl>ldqHdWwF7-hq?X<48+4zQjNovNA3CQgXWSWyS1F zOmI=LhWC~gYgnjYO#7$!r0CJU2K@#veePBg-UGeL|0n?^Nc zKVk+Xv-#=evDy4{*QkXb$MwHeTK@u9|1rLP{RTsQ{r|N3St)80-k~)#By31-9;YnI z@Bl80d&Pmy;c$Qm(dwMN9}=wWg4WMlI7WDspgM++ zunLL{-;Yl~jq(WVH`p756ChljBR$d|vAZbjNGV^TQz5>~x_5H~3|V6X+*Q z#lNQxvNmQWH7GgV_`YI(!1xLV7i)MwuHlu^8lHAFjPo_t#7J(JPi*Ul``enD=D_v^uJyyvxkn1v7KTJBZc|Zi$b=DU`X~!1wmFHRh;+5I> zq|7{fs;hfWYYtyFc4miDx~VF-Yg3k5PBmn{5;D^nj6mjn15??fb!cbf(9`2wg2n~g zlt$}6e55e#%K}fEJ+!vFywB|5gHFWFA2fxQi-_a+NjEN~9&bQ|RW|m0qndZO;13G! zK(NoM;3VI+%zIi~jczmuekMBFBAdO|#@WbX49D}CZhTi`{d=$}-T1wN3kg!aM)7oG zXGBQVhZkri%#F$E#=RvwC%PCXO-C!{U>D;Q=0b4ua}5m7@JiavC&GLTO*gLxBB=?I zZVZi3l9)!8Cleemyu9LV{kiPGKO5D84>r+Q`IPGXoH~JMolK8{ zJdsvVFjmt0@kx^|rJ))I^c(d2SOer(dthT5($kG=(P_fxu$_YO!0q#%LCrpoKO;Do z2v^BP@gAMqNl8>Pfln$i?=zL?H<0#)0=P2emm3;#laqU+xQEy8k^w4M0gez+H3i7vOi7DYFnAI6d^d1m*Naj>lZFekm; zHcIw$8E^G(AP z+c=X?@*eElsNZ1U51rj`VIcgBh4B;7n{UfAwctO22vo1!c2~i9O?4f5tr|1 z4Qegsp2PJlB6spzb-g^ti zU^ako-Rj7-gL1m{jmqy$`mDx+e<{l=!imfu6BVL;~$_dRgFQ?gMnb-PQc_VGxr0OOB{~g8W`fvuMo<+jBB>i z!QYyl)OMEaz9xl6)zYYRgvTJ89#`VG-Ki0q}J#dD{3cKbcK@=oy5AtYa^ z`&><~7K_Fr$3|fG+j7;;@ctdSa(%sWtfNVP`zfV~W(GyMx*(RTbq&0G-(=;wpeBsk zCopoNbs&z|RJI-CNQr2DWSMUTyrVnMX7 z7dM3YC^EM$TEh*@e;2KtEKlXoJA`-n_spG|i`G%(h(zncNVJZzVs6qnuLFgI$)Q9V zS52F(eURw4n32Caf4X~R`ZYdGfg3ot7pPeObO?vyn^sAF}mJLuv(-zsj-l5?vsLl)TkqTX8C(C&IK+HGZgg6&9&5w@v*gZvxLS_;h`?jv(?5py_a zJ&xkDsj~|oFNIZVJtZ6g-c``5Z^LYz$jth0_LUpS?L0(%<#%lM#Dr?vfNLaXoPqt3 zACU=uc~e%DF~Dv2Qa|CABkyn89}l#_TR~hMcSx?2$;RIfi{^I=S+lTa3=T+^U~a zI&VlNM(3GSb%LX_8nTIN2;j|HJ^TRC^xtOffow$6sXjv8$I&!lt!_mbVd(5IXo@13 z6x4QdnyV#IYaxPJVLFQt(ZmdhVk7gFZ{9ATsH+FW90|Y}wb6)ZRIgdjh!~k-Cm98b z>dI>6zBzLU{gjgFEOHdZ@x)jh&r!(}+>rUq>Yyf!{z7D_NOl@5^1*+# zD;CKKK0-sLBOgm~kukQU%E;%8eXM&E$vrqs&D7$5B9coqwy4%tM6&KSqvp)uSaC(T zKV>6PERv& z9W^6id~SbH^IYoy31K|WN3=@K8z@s0#)z6B*P>{m)>0P7&isv0bSFd6_1EUIxu@wd zWOF@nNw}}2+`lQC-?M}vrIYN!EvWgb);Z1i;)4j%!4KAw}0@G`gZ4 zP9{3txG6)sA4+GNBsL#T-Pz_pKAbXV_=6XsCr4B5QeZ^g_CsdBKemTD-s3v)1J=58 z+%7GLTiE#xA9ywj^nIu3I=Ms5j65I8UQokRnf09uWQ39#i}f3*n zP0}VRGi<{D5EtcGlW}%$wM@Pk?WGL6+Vb9qSX(yX%~>wVxAbauOP$zh?5d0l-RQ9Z zCwOpzgC&7y8v(x0a0e|rYcB{dhz}}-vAa2uMheE22^igyFoxqw4fm1zRkw1k2-}mcfv}lJCuLw{nn!MTzW*6YdL|GZk!|Y>JFF9pbRO2GMyb2;T^WcV(d({ zsh0=hD)~^mOcwGls9r5<(`!P>wP}H2S2Xti&8HvO)g}$_!EIcpC5X>A%8xYWM@Zxi>LG6r5DZ#ry2n;a<=74YH z>B(+vSvo4q;a2+=3LdQ7zmVIB$SbPSk#nAcaq}PN6L97rp?3WS2l?7>G0>XJg+C*? z!OLxm&5s=_Sv}vKZtSI8TKY;i_Eu0!R;+#~IM0InD0l-#Y;bZBt&2G!;L$oy!5FO* z`2;Ozq4D=a-_qmojp0FLSCKItYAiLahovB>fQ-l9q!C4l( zSiy%ac&UPy3jFXQT61Hx{#}ZemWFAiO_xDSzrkG#98swU`&|Wm{;C z`tdv`+sSfWuUuu;CvH$Mhe}}2iGmkfaH@h|kT-Y@Fs_+vli#D&M!^`ZZyZ`?=7W}g zgB~8OH>|?P1n+vmyW95e4l11%WJAj}L%Ghf;5-GFGwcKh7ZG?kM&O=O1a9OLx}50g ztl!`t^Bi3+BrVs#eI%+Ok)ppMI@8_T3t_p_kfui;!&ytU4uWkZ)!Y#Wx26ZTfBv%4gfvcH1AKI5nr zT7?@5-lvkv6&%oXHjpfaRJQ(gMx;wW;>c2TpQ+9(nIT?LcIjUK!}lcGvYx?v5<2;a zJAO-w>ph8$Rj1yQ*xlZfVBMkFdlJ6bKPhJKN$`}!)5}vw?B8)@*q^x4{66y~sv}>v zs6rMm$IkO@cuFFA4BL0@-MQX+J1TkBDxpa{+>q5nALjD@xN7{|zVX(?a03$D%e=aYottS` z;jXGLTgpetoizVh*`8G0N%J=*cF~mvU5qhcl^ZnG<^($kh^`gLecrT*Xl5z7LDN|? z2_7;SY_2MAsE=X1BbsQ|CktUJP2*nl!QWI{b!Ct zmRo18Mt*ik6uxiYrfGmb5_*Fbj-KY}=n9W&=zSPc=-{`HajtT~C zj)ZE5ba2pIt^AiQFsLQ~wd*l{lrVlyF!=|7^aM!LzfYck$92^R{wDJ`QDOR1ERUBi zt&%+CChD-m;M@v#@NWt&(Nt=Z{}u1_J>7ouWfQIeGyihO^*8czM-G0?&tBvwVZ7Wi zWR_`(Y}ZXFm@i-bath?#40#4kL@FkkR9vL=9B+2Gy2g#2C1j2O5O<}xvOoP@W$m?& zaeXy|4lKUqYaL%JUZS>Xr~m8MI__AZKJrWv?Q^MW{-7)OhbN6~+O%sEj3Wc7)2;ri zg@`t{aBsPPuA{#iE!?uC*?9##W*bK&<$T+xd!XC8hc}4OMK@0({Tb40E+pez1TT6G?3|t%n zR%`7Qe6cNCbXhgLH|qw?u*hB@eEh1pcMrygP-C1j)u4k=U6F|o7};5!OK+q+k_Bg~ zr2Ith(d2d7?Jlx=w_sm9!Kv&hCFKWh-BEaa|4vn^nz_{vZBv&YEBGpW6@hgA(5+iM z{PMqj66DX{Msnno>K7Y%elcR-Y>^61&eyhrEveYqN>z znsQ`n~Qk<=54@JnQ&eyv(`0QjuyJ zs!@gaKLEjgDbC^G&n-Qd7nQA@>)JEoKM9=sBCrwsq_CK13>wFYeo3au=-N_L&2*B< zXhx3!R^_{#dl?LNM|NhrgEnh9@=Qe_4vYlig$+e=-G4f!6WV=-G*kS-$H`YnNJdUo zt8$At@$@2hQ5C!WEh@_%Vl}d4SB*O=&GF|q5i(RiVvY;pv*0JSRg!cDC9y?J{t^#+ zJV)!?VVza4D4DF;Cx}ZoE<$~WU#L5Cmcbun$PXH4q{x1U9(SO|j>ApeDpj&ykSVAE z0jG(N-_(dSlbrM5#;<+s;#dkNQe8_x5qN1IVr;^P}^L${aP; zJ?v2io~i6fBp~MK#gQm7c%ZV)p7S_!lIUYQTNd^f2i(gm#({ge(#B{GlbdxW9`cB) zoImLGYQ)WsMIWefv)Klii0T>xM{sp>ZjL+NJ^U*tYS|vYrCyyOQ(ry~w-@`9Gs~os z=7>;YS1R+ZZE`8=3*M%CUZi&1xKxCXQezF8;q&DXr9&zAj)(M?DJOM-08(Y#r+lm^I6|a-g44ns!jfPI@KVX6lo6dH* z(=v>udU(e!7{A>LK1D-uzPul$g?Q7K3CN>eLHJo(a4H2Ix$_OO>vY}KTvyQ5*q?&3 zt@5r?t~d2Hu{2%VvuTgG>-h7_hLSB##~EAR+8k9oFkd^1i;6g_sSzMwUVV{d@#`m8 z!)g=Un?z)eR$42{j_QSkXJ)ADLio%-)zd1RmdPs1PpvHcC#wF=jDoUSpj#K-4pgjZ51Sm69UUbs z;Tz=?ckF9jJEvCXeqhOb_7LqS`-s^pH8MQ!$QIJ@Dd-k-S{k`%t|HE}Z@hvr`)c$F z`%a~j;GDM#F2<0PvBvu_VM{M{V<61;I}xD%*RFGG|auK+JYlnqvZF@An4p%a(CRVJA~rv0$xE(H-`UnLCE;qGgrh~m zr=~l(_)0Cff%7)LjBy~Ar9Qq)jmp&fGMkI+-%=(aq+xq1kFiac2 z6}f4q!4qc*yL(Rt3ho6 zUT8jg+J|kjsVKX08>I}OlQSFYR*Npy8xOthJAUI~UHfkS#)D36B;R7K(`!w%z!YWB{FHg3Pcv$^lIl7_ePy;I zbg%C)44WXgNOuIB49~0TYbW8ooLW^sgo_gFp2grcX93_kP1R+rpO7a{p8SyMjotyd z>8EZ0$Xvm+!Dd>Mhl!ZF0bw4z`H^>qqSIFPevb{}sm#sj8QaW%Hvyg>IJk$*){|!2 zqXa|vuty1YQ@|c2IAV$1PTUvTID8jLPrXe#@)I=|33W%BTt<}}l3yLNB-t$a(nkqY z%4b4r)a?iksZ1aKn<{{KEnW*qlxWU|-^m-P7-P!s;U?Cd)gO^pSyE;|S2*O=42^DB?K21m(j^ zEqIKA4A1F>?oXa%*@?;8@c}>WtX&euY)`~8dO?#!`8d5hU^x3byL#% zt=PQvm2>do(}S;Kn6~pdR|a?e)2{hY4{|!hO@E|D=CJ!kraN;Ah5%je|8{`%mt5{Y zPcikC<*Z}?cMx7xF8AMAmPI|j8QmaZD*_+f%MB89V&A()>G{l7@iYSp~by74k4zoKNjyT3}a7`w`T7@?Bupz-U5?F?jAWhPUGi|jxCT$Nm|m^?AT zP;TpYxZkZ)aLx?B*$%`N{a|@MBgZnh%fTE>!RQpyXOot0yi@Sb1YWxFE(MP#NQVvn zxd{CK#NIBJz!iT0@ec7PT!=gP=c!n}dTTD>AGme$7XAqa`aYFgpFAKx+G3_DW;K;+ zd`-bdTAprvPr=7Uj(pkkoR#PFu3P{|e1KcmxfE}7i4R7JUj-E;(nn3tr5hIu!ZBnD z`ayOLz>Y8r*lObm)1Y9?)Cc)wxRj?xOx162IZ~;zBFVbmIdGYObm~ zGw;?}*N5ScL+R}Gokim2biponx98O{^9EuboI?M@*(UEx(e91kM&ivW-b+1`d^Sj< z*j&tLo*9#I(5B{mrZ?`MS&M)wuPzf4?aR!C1Y}!pWz5P{FhJX2zL!=Wu;HDXkHwv) z?IY{ESZD2(O%tL>Uu|tpx)JBtr<>y~mjBp$iA+sugC(^xv2boEmW<*ApmxhsOS zq8hKm&k2^j=NMSC*m{k-!{?+2e_7S^GRIOiYLBwLd{@KzKd6GkK33w<-z^cYK}MP6 zTx1z+u@o`a?U^viB04HU*R&NnOD5&?Dbb$ceD2Lgm8`LuR0+EpikInstqZlA>#OjS zC6@giEpwAy*2;u{0ViBTZ;3RHP+MQeil=*MW>Y9&X@^&mfe1}n&DCuxrE zyS?GW5FUQZ<{oZ;YXgm#A;ovu??&EKb`|?%BwGG5`(=C@)q}BL(TTkGHT!^#J72*y z->*u#YfIjT2cRCR^3g@ys`Oc1pkLO=S#_2{m`>8?e4X2Caw*0JYf@+AUH3*8G>Ba3 z*%^$7g^gi&pV{(ht8tsrIM0Ka&^<+^wl1ZV1sf?vd+;b@jGQS(zD$HyiPypJ#1N6; zld*F!Jkb!L-{8bMoJu^!L}T86k>qfo_7^!_dzz-o@z`?|pWram1J-Y_wgw?>707IFZvxbOzV(dHgC8x3Z7Xd&@4SCxlfVSv@YM-p9z7>|)w8LMzV>{JNOY zK4x+;=3^go5o4{(^AsVKV%^Ng?7={*7&*dSo-G(P6*HV)7juJ;*@Fp`i@Au9^6bxQ zf{VG5kYYOF3UM*V6Cx(N3-1aAN51LhA+r^qUc5Rf7>n1Md?H?_&_>CveuIDB=H&KE zFxo-txzX$`+$O{Lh#5`#C8124LO|? zmo3yQ+iI%y?boA*GX;ohrBTURuXZK>>}%C;u)VMKJkkm`3ET_Nv83V6IIxmCtc(K( z#NZ0IspL3>Bsi#u$S$hgHGf+LV-9q3C6Drm=r_3IR@eNW@eda67r1?!BVxmBPuKf0 zi^vBFRkrYuvbR(1ue=tKVIJwe_JV?O?f-NoNBY|J8*Jrk*W1K}g1|k~ToC&dz5Xli z5CwSW?2H&vVYUigOved^6md9I6*~$HRxrk4Pgn97kAr@L+i!6c=t^4Q1%XS0LnHtX z--7_)J+8&_W(;IL&2&Ilu@T8~i)M_@9o_v^%i!G6D+R$j%#$mSx=egJ@+@EVI@K~jh%@O|F z(n0Q1H^`0hc<49S#^dp<2DxtqZUKCZ2;Y~PftvsG%L%$Z2%^~dhaMX({W?oKIPhF5 zhC4LXst}W=SYEs((UQi+oVLN|dMq&EA>*$fn} zSn#)(9N}n$l@@gm6RVnafi8|!u8-`k41PU4*#(NObEN*Ul)8Yfkmlnd`&h;3%Ez_# zv0NV@@CXQ~3!Df{*9E4BOGpd;OpT8GPiUg;MDHO5<92Hb4(2ENcI!8ocB5-|hP1-& zYPYTOdTILLMQg95$x5lc7lw1Z@hPa66cM^+AUt; zf94C+1MutzuB_XzP@MUCv$sSj5{sa+huAA3lgwFn9Y#tduB(Bg2?=HB^b)n0wy0 zvCaRcjjP$HQ*7clm?Sh&RTd5xPFea$a476@O?)RdvR_g#7J^1s@?_sc{Ra0;bWOaA zw89C1Gq+9nn(Qav10F^3na0n>1sESkuDCTvVR9+ILo=pG)*ZS33Ml(x@z}w4nsgfdhe38Z34nm z6|FC+a&K3})2yeDhT_6oz-xNY!I<*fFs5q+O~RPrs3GN4*xnfVr9&(H&$1$4zA^bN z3jN1?!j}sugNk`Vzrpp_>2A%h{6?nC;WX8+o)s!IU7TsYfswPrk#CB}&Y{zM*vLL> zdN)cmWK9uPRLBcjllg1Y#hAutW$8$frTl!u~VDYH9AyIB8T1LSK<}( zx*<5|n%Dv`ERC7G( z5*?ApM5y*!br_R{Oiuttw0Tvv-KrO4xoBAchXT+h=HcHh_R4*UO*fwICdl4(KY}T| z;kJkawuSk?pt#no!viQ(nBgKcH4pnK;xg6pET9-@7ld#qrj#YSM3$H0+8V529+W@+F zyPOW!Cg48hjKC6q#Zeya-7+Z;7Z@EYF8r#{kqY$}z_P+2{1_FC0;h6D%HzIG>7;cN zo3z@pj&RrVPVhbRDBMdLYF3)Rr3P^dA7W0^>^-RB`J|KZvHx$+C-wAY|8LGG9WpmM zpY+aA!pS|kI+hg^#DPsWf8=~p%3v_*DDU#;7)Cz_W2TK#QxOKXA^x%RNsV*dB1UvR z>E0t^sGmGzn9T<2Z=O%uq?)CN`m%BFkTpJ^^pU$swr;WHk{M9x`J_+iT{B^38_p+v zps;LQ_H680rn;l^Ne_G~kQ;4dkUQMS7w40f;&3XSPudLJi|3P8v{&K2Rk_Xej^Aik zIK)-Pn&XkK@I%SMi=O6a(F$s3Y4T_Gt&;5)21m{(jg_1|gq&67%eFI=utj;Vu9fpi zzrc;c=K%R5=aZ(=%&OdLgLB{MY*N1L1;bdpU&uv@0~oL&0~3&J?>N{o4pzm%VNoz& z_93RI__KOduI#sA04T)L3J!+eg-zLxWwz)yK zlJRIV+M)tu_hPma^PcwRNK$L(O41~ltes7u)pI3x_uS|&-TKdYP2#1x5B(AR5 zshp-YrW1g>(wo z?wazp%A(#FtUBJ8|H{gKdvYQ&xupMoFe zS_w(DmFNOnTnU}AqQrESP#dBW^IZuEzm+(;SmHE7jZ6jUtBoca>J^sfK7%!Y*JpZj z*O*0fOLcW_6z32UpQm)J&YSpXL5=0QMAE2Ed`i^VL*mL0X7^yaJFy*G#BN8d;a8Hk zcS4E?su;Mcdlx&huQ8WhLonxC{mSDg@)I<){mns#*~RuD`guu!IJ+aw)Iwu){zsQ? zCeHuZ^|!WPO7E}P5uoQ@(-MwDRuH~5-nMcIsE7*JZNG?26b}Ne2$qZ3D*Tjq>{bqw zr(gbp_%uHVbU1N^w|3R2?@aPKRvSzaokGh!7vQ*2Tw8+9+<`&8mVb#Q%e>oIE!oeu zHP^n{V!?LmA|BTLIu!VoKV)jp6 z_V&si^^@<9_1WLB>~n*qPe#yxaM@pE1hhUAiR|2{$fH)|nc&}1k<7p3h;*~>X$t0N zNbURcNjDJ#e=iq*F?aMEtZ}(B)y7(Gqd?(u2pL`~8F#0YR-(+|QyE<+!KVYL)Y@6D zqgOf=U3yBX7fVUdBW9J8Y~3kcduuAQd7@OTE*TkK`lUS#=tOCEZYej}agFtfjzl&; zzVv_u->q2d1k(gcQ!5NZeIk^>U)ZWF^^|kHuf-9XrR)Y3Mv2~}H+nK_^#lQ(59OUf z){uDEUKJ%ek=F84nLmM2qRR!n8mub?kPM-npbnYeXjdWSR6%R!n|SYVK~=s_6_5EX zt?Kt?^xk2WooyO}3~H+!M+9^aP8GKWbHgEP_x`oR=wMT<0oc0F304r6>~lnTws6VS zFSH-`)^)C7F<(4|g8=0wk5N9(qa&8~9FTjsOY~DW)D|gw*C^SspCd9!3wPpagP+B^ zmn4;T;>nbQ9eNUwW`~|0s4~W}X+eB@n?v+&LxktsLtJlTE3-~)TJY`b>bz@Utk%rn zn6RDrrmYZ(Jr=P}R1ZCr+X|xtP{Y{cuV!XDNgl=TX6H*|#adr}5ne6~opA;6c#a*B z7$!pG%ld&nio-J*R&Ax|hBb@>4JJAH)vLzO=FlHMm+!`Z)0C>bfMBgo$8 z)#7~)+9Q!ah;d=WgzEfWuken%Cm9c4#d|9fXK0F=-%z_82Mi<)PC8orXXCj&=y~i+ z-{5tSY8+5~O)NOS$q%vW2_#=Y1+`5>6V%R(<^Jn~^ z32g(DmR#|*$Xr7k05o+>bsMK)l{R(KNyBaF&;G5*r9=8HRewHW4PBtv)HOyv)s6fv z+T`{Tw6WO<2!k$6vo}n2;AJ8*_m z&8~J>aHrVjY}z8ZpQo6y_N^EtYV!iz@{E{Nq!D9HxzU~21V6DQ5dN4H=m}UaD;GU( z(Y=khXplkJTauEqVOMW(uQ{2(CJKy{lvI#iQgR&GOiHYvq-0o$lqgzcMoRWGRQAW$ z>o!91G#y=@4kCuu4rB7u~m#^DDB3ilJTLHw7ygzMxvVY1uzPjS?qeLg zKj6*+GsveHyO-3mAB|Z?*95!DZU5EIu`$!cRUrH7XtnKuj@VlJcFb(#Pu1ye^%7lK zWb_ACyVqSKIGlMn=Bx=<>dNDBz=TW;+oT^?1Js~wH6~MdApg>jF+zbHci+Q}a9jQb zoBYcgH5pqubQa37=J82dC_@y3X);Ns$(a{B(?olB!u7Ty=9L){l;f1qK{>1ilz|?~ z&4RM6hqAMv^cR$T5z4kQdK{F^&HhQ^vX)}NWwM}rG}htrouIS_iobdz=nt@xExkv_ zFo(B*xwnUTn_$)hGqIg_E7HO@w=9C@(ouD+VA!KcCCKAs>njTmn%X)uB7+W(S%zU` zwgG#(GPoN=)GPF^!2W9>2k2kRlNb#91?)=%7y9FkTmX>D^l~2;*vA(7po88F2I`=n z0+{|qt_Xz5F7m3T=@%sdKGlQGTY%fy3+g+_2Q5Re&0_R86IcRyY$YD87 z!4eDlEX5!b_Y2yK7m9x)>L5*KgdpDKAwqoP+|-AS480@9?6RKGvt&Jg*dvxl1G_P= zv-0?fN;BqJo>+mQQF&`rTBM@vUG@Z}G7r0t2K)GjK49JlAR*>G!v+^)p1|1Slfh-w z?Havd+~_r1H2Qn-jYi*~M!$W5>j)o<5ijCJ;Ourq*^#R9`lqU-v^UQA(=D9J&&}te z0Dqh%w$rp&d0|egY`?D-{=@AlAIzeGt`*P4OOK7V^q3T|2NXjq zZc!`N_pO*jWcVzt2>x1xa=+G9oB-TzODst!^@;(?y@K+>-yAK*s4cev#TWao1qnY< z48{JTViSF_mxv6vp;${n4Dz(U@6nM71?8EN!NWp!0}JVu3``Ly8}k6TADZZ;)D#{Pv5HI)fi z{o~^r``Aa&D$2h7N-0}v!kX`Jc_nD+T;BTj9iPj)##~0t&*hmT$#%Lgt6j<@s3RAK zF-M?9zdp^5-_PX0h>sKf#w;-VBUr`Ljj)MNyVF2!2&{f_ER`J&`NBb>cchOaI&*iB z(r!wmMbyq-YmsHkXd~ULEw&K5|a_t z-Nz<^;k~E^vW{2Q)d`Fv;M4lNmwr;#K-1o?9I3}p(nyud%Is^}JpH7s4pM3aphNme zX$n5COM-!RPMx*tC0Oh&}j&t@--JJrE zcNz08W8N}GCn(>ZRyuyIgAvcu1X2~nQ6P-bCpp`n$}Z42eZB1z^G0Ay_iUZ2jrJE5XW?ee>!2iLJzQj!5D-2} z;Ts4C&)lcZTyNqNNyUub5~kwuNsdhZ-toznouu`4CAvgxLnKrIsGR_6D3ntAM$_y6 zIelC0!9s2a5uN^i2q;$2TS!pP~oazm2ZkmL?BKBa9QB?lQF zQcQhi&HfBw^&RSGX+^T^VT;Bna+jH?dhn z*|#|Q&Y zcnW)xgfID0bY!95Z#mx01Fx~h0vfb5SxgY?GX{e2EB?tX_Yiwv!xO>4FTWM``{Qtv zK(7(doA~EW4)X4YLYy2tTocyjCvkM_@j*6k6b4gUI3Di?2M4cK#DR)9mk96~uXg^0 zh*lREitS9Iu@)GF>+`R0F6Drc0S4`7v&L8#k+le<$4!(|R8^>RN#>*X@!vDE3f_b` z&dM!gSAsV*f0VqGOi%(xzB(Yw-qdf<16k1=RHkO?VrC3)i^{t%R@e@2c>m zVukZm&Kbmo78Ty-D$Mx`^&32PmaDKnQQ>4&xRWZp%~fb6e1#jS!f)@6T6lR};YBSf zJk3=ohNy-54fgdF4oy@zRTa)6wQ!%S&`S6U%?=-5tZ+qKVN;6=-*FY%su&gOH+c0- z*TM$U3eTygpO}giUQp;8gBhE|hO zMaQ-&yrXP6vIXz{BcjZ(pva0r3YPGGSH*zgmBO&M$FM7rD9ARlX}SfE+~rS{nzBa~ zq_Vra3~kB4%apTGDl&(#ThmVpP`H-nO%)xwgD7ro81*dR9OFj0Rv+6+tCcU*JL=YZ6Q0XIO?PzWai>S2|94EOqBD=1D`HEyNJG|# zQeg$*778>Ry+{-(TlZs$`G8S?^G6vckwDRd)y!j<(54$_040gT-3Yo}#E@=$yjju} zO1hSR=~-8o6Wki@n4WbF!6bmT#D?aQ&X@hN*!o#;_3b*s-B1Frwtv%LaD3NiIYU`y z-PjD+W2m8U7XNtnw4`)PBVA)UxCxgkg8#3Lbm!k6ryf&Z`O@<=q`t$MjKf@z@Ps)F z$01i(0mD>TeRS!USr&e;^h4*E;MHA57j@7UTmP%vo%=?y0X9)L#n$6s<^&lOZ zb)j)8E5+p^Srf7REQ>=Y^55)}>=hsH9AaC6dGc`}xy@ScVR(BJwc$hYb?gLN)8&?% zxT-uUsf_OI#tZP(BGr47F~yMS$eobm7uQ#gBPx~Ee@0rvA~$FX!O_+f_QYB5WPe;f ztK}T}&`g5eU2ry5kJ_ADSoPH6)vCUKd;D|lxiADQ26r5oPj^hOnB6^q>EL};k+|{R1^^jvr_S4Oel_oJ`*7a0 z9AqqFlAmFP{BuFM>UpH`7@O_QsGipygV!3u_xR`9RpqMRB;9U^i?Z}KUK%YREPa1H zuE27;fQ-RH=QN??k$^3!?0@JP$h)cz7hCxMJvFQ9ciWE9V5(7d?1bRH2b<%O-HWOq zVjC%eMm*5zS=W{H+yB2h=bjpa>MQ#!u+F)VF?k>hUgin@X{}lPM99B>BFsZ1BSzPz7#z%9l8 zscWOuIh|0^+4SxyTr{q_hu+S5U;SiQGCt~})+5wKcZ^f3^P@TR9l(iZaQc} zEf=tsbp|Nts2c00ce@Ic^)7l(o%IJby`n6wk8GXmlODNbf2|!2(!PUEiKI~bSBq|x z>A2n}Bzk2#kaU2O9rGs<8MSumgHLKJqBQ>cs=xshVzk?y?RS*jkH0#`{@8`!5g@LbOVN$IEv{ZP43g^ zrZK5@r*I1+wc+PMnM?7b*rn(OuOE=WVB}4bD&LdbpqDTD8LIQAjA97+9Y2HonXNtL z*~-c%#`iE0NygVIl_9m^@A_7f&3{9#W;6z z^~-Rz=w;Fzy8&{%ve?2Y*m@h_vP#0`lu1ceUt&}$`zt#f!bSXRO;ki#iHf+Yp*~yS z6e$Y!Q}u*<)bX7qz4bd1)#T#G`o#FTaB=FjV3f0WSGA<782j05g~3hw6^6<2f=;rISjpY0~WuixkO z{GLCOdro(s>gww1>gww1YJvE(K)exySWRLv7N0s0T09Gce!YVN5HAbFWdd<;3}PN9 zR*FIVLn(ZFoxWW!_;#`#Y?<7P$-4DINag&FgeCHhxFuMM;lgCu$sh!2>H0OyFIYcw&BN1`1UM9+B>?h1x-X84@Y}yKq8O;T ziOj05jACZS=d=bHGqw{K;Xfw{UAGI{XPGFPx|Xx>iv6)2Kr>Au5^Qv|l$`^C?(G12 z&SWu=0THl7KRp(4)n-beGbXAtE!q4g_BHu*%6EZW_(T?$9Q zA==t_no4b(3ya*yI9^KK%9ay@Z3~yne0(l_6bCn{Yw@M?W}2=CH_+Z$B!9_LL>y8E zDMdb`tlXPkMN^T>Wv&;NBlEUjHKbdYbaoS7ZSCiECaQp(*8?BPSmMbOGPjCTXtO_I zP(d)W>m$#DMn!vk?V80XZ$1BO1=>1|@zEkHpi66&Z=Jg!4HZ{5!6OYNy_wY&E;8%w zN6(v-*6vgBZdy9`DE1uR>|Mmqe??B4ai`^u;4~A{R1iZZ!<&mC^BfVp5}u0jECTd& z?z}gRwbE@^D$?8Gv``z;?7|P(22`=cDiwLe^%?kSApk+HqXo`veqnNlP?!@-Q%9` z;@PdA%xqN5>-tdMGe*(O+<#ixkR{T&X^3clI{#?K$%av6B}t&IZ9YHeYCCG3rDV|a zPj#hkC?<)v@%*7K>)dq$(1yOh9i_ZK+z^VbKZ9E!w$9RHk=Qy$h?^#)-prSRym-jU+?$FJ7O+!#cYWY=trRCR6^tQh6WNJ{g7Z)KAmN|j zw2oUS=8bF61m0ll<{*G+!I`+&M|ArA=>J3gzFh-p`)Ykc?{_@-D7Y~iHj(X?jy1~J zgZMgPi#B~Ow~KghcXU#{ugY^e2%pgW*ml+X_K^+rdroo}BHfaoie$Q~v-P+Wy zmix;cp1s3dOMJ#9enw);X2AKL2fyCIc{?l_GGygMAJ;~Fj@sG)a;u&6+CYG=bS0vt zU$eXeIzXDBk-N5$%v&jirb*TGmL27qrVCC%slNn&t34x?^WS(of~d=ei#ttvh9GLa z;N=5|k2>XJL>q|38iiYB_!q|Tx6|S7BBt1w6f`C6Osg9GdVPXwzFdJSJ4otNO?)W4 zV;c}FDFz5T0}2TJddrX0x$w`mT393~m4fnHK8;r15X+Pf(H)k1T;;X^3uQA15F4HmKcU{{`{^L*Zff|O zfato&{OT5P8mf!k$l@5e!t#BZ6A6EVU!^N>PSenFr%@=qI>nwe??t9-q*w zb=;GAZgUN{uJ}Xva`xwpf4lFpWsBLL=$Q`Dx%Bt+42}4#|{TNJPnVIY?FeP~tvYboL=y+VWszPd%eLW~RnEoc^`T9Kf^)v44Es|eX z^7ZUa`%!a4#m%_AQb{NDDGsJT4sPBSFgj4LH>fNiql4)QZky+waTP$mq75yxCMqV~ zd;IM{dqu53^Vjx1*DF4gn^$$7Q`)aq}&d)jR5Ctmuu@`C!t zk9&d)(}2?15ACB=7t?tvdJ%-Hs(e^a7S5av!P&sS^DZAr-JUj;S}vtz zJ16JbEq8bNdc%pf1$7+s=LH=@w0w=T-%Az+9d5p@>1;>!MG)S` zbX4N0TT&ag6NjL&i1ysb2UsZ5iIzi=pEe08@|30b`nop>9EQmbmb0;4uxMxGpvwaU z5^bk%f8;}*uH;fZ;}IR{uug9g#8z#Vl(LDLhXCZ8K4 zc2QS8ATMTjmesr-qjt+1Q$bCkgbgvZHJv+*6n`S$ET~*~E^>ltPtjDC;h$hi?|6AN z7sgF(YpFJ=*~Z+1o@(ooHW}+MY%5+~o3aQi|L-QOj?Hu7Qr*JBvDbR%aOlXCw+=Kl z=p?gQJ&Q}5|FU_%g~ytzq#)$GrC2>|ETyqW*i8Zn~S)Mw=arF znLX6_qU@Y>Feu7XpEPSVIDvF(@1{N1F6PC+A5a9_#Jt$>FM;PzFh0`2Mn@;}Mxo~NQiz!S~`;5@AHCAY@%wG_!v-9w{&)UD>jqsvjJyAkSS za*e*t6Su6`IXT3Hu*0*AVNU64(ru0Rt`LwZIS@lz0s!T<^^yDWOqaNs1-F9gj?}tZ z|7T7pGjgHx6WBu8k>DC|-21sb)%Z4=eiHP|O()B-#VeO3`uq{c6Cvpx#YN|I?oPh& zujd~w-n!Xzhz-boi;uHZaooNpU&oa&7x8Iu>f8w%r0{v9aeum;@o_J4S3FI%{l*f6_?h;t+pqpa zp#lzQ2toxgMp|_ZSGgw`Sce<4j}o21U?mQkgUZyf7m-iG6BsFg}Q zhcNZx+`I5nTL;;+nSH8<2$tF%#Box@tRYd7&Ysm<$;?9KsSlnO zAyTv(B1{!m+I-r~DAx$(-c!D{`D`?wTHZpW2#3i{U1qe;8ls=r^n+>(Urwa63F0R;@E+;}+JP;!rr8liw0FHV_r3 zb3x@ywN1UPAW(VpZAj+|q_rFyp4YbX;E&A$p&(v>;v`$c9Q4||9rQy}f&@d#<$r&{ z1U!|%j|!`yzNyvXRLp>4=v6Pi~|$4qA4J>1WFb<*h^tkjH0r&&S#L%!E2$ zs|`Vi#9;BM)YMiZD4l(EHIvm0{>8wwUVR+N`MFpsmxk2-Cj3hl2$?KqFsmmwP~_kD zBFGOTxV@NOHW7}M4+NJjBjs@ooN)OFUOV&309Y&nVOr9!mpxD`?r{qxS3f}0^uI3+ z#_cNn-59r@pw9I4hk>y7vRH&6>FTK?DKOogqsO?OlX#5>+S3|v-nLfHaI2@Be1AFh zc$Wdut(i}NU}CGjT)Pyq)hS_a_I5A}>LPSqvaa#GQrBxioAm2V|BW*ho}u;}PCbmt z5fGGf^D_5)>sdPjpB~F`E&6+03zt(QYe9j++Pg2l{W%Z^y|&RB3uke zsC+9*Zv!ep(?deI&2(?V1tNAZhYmOF(CbXzYb{7b-C8SfYobDd-CIT5349&NG?T(B zfPfT!`Uy$lSKZ4Ldzr5nL~tYZ1FwDu)_Xc1PT2RS$nwslT1SVO;w(ppNAwue;Z9!Z z_=N!x^y@u!fa~}x)$BuAfqC16kaBxV@@*WvisRE+JDTQz=k2snG*WccC%|6{fa}*g z5#ZrSIgxyS5Ea-7^tU*~uM_BjD}ZK^E%U=)izkwTUK|Ss+6fA0?ra&rS90dwtAh@1 z7%Wut&k9~0mJ@N(4@i*HV@!ezc?HY=1X$|Vdjif0u{@4^|Mp(c+BI@=F$EhO1z!n1 z*RNN{=j!1jU)sX}O5XgJ1Jaq;}#dP*0 zJAYmB{aV;p=dlm7_xL>a1u$Gyq4jy}ekzqXk3Ifp)uc=0|Cr-6!ggfu`3ez6v|Pw- zqq|PGcDE!+!e!=M1>P;|W#(MXFNMqKW5WEgnPGr>JFIJ*ouDilKI(8MOkz-m zc~KDHr1s1qVLa%DidXJ{!VM+AK>@%cSy!SSEe6!xhYgc#E!2Rj7X(PG&saCt-=yKM z7|aD%q%eG1c%(OVo)b8x=MTcSkX7*zxWbtN=!p*}{Hzx>UVzbnbnYu>QmRi+1Y+I_GXRap3mp6Xed_U~*yM z`up?Yp=-B8_47Ys8NzR11q%AW?@r+GU`#U{Rj!e8VQvOh z-JR!c;L0*Y^`H)He>;hNsZts${!WZ}2IxEE5oHajo0=NG z7@Ch4u$sh<3z>xP8;t%Q_vS0h=T3b|(Rr!PE z##$dj%$7K$rKxt(V?48ca5S0pcy<=!^tS?tUAB71OPJbW90g zCWbmQS;*Y*oR!V-C9n^8Sg;4N951kmSCfCgWt6w*91aoZ9eT$Ky#qn7s?e(|=wX*T zvKTy89|J!S4Il>ZqJ*d3c_;+Go9z)UW#?@Jp&JO5U`Ge4AFYbs@MzAFRNrc&CO6Vy zbG!=ugF<|8lAiB#&u8iRHlA7kp9Xr>g^|#3jW-`qj)s3-B}9yd7jIxRyo4X4;Z>sH zwPV->t6Vq+Kt`S#fYH`7?Xv_a*H~L$?wM@sp^lVaJs7ri2pfAE1Nk3m?$$u|(GAvm zW7Tlm$+G>G+(E8U=Lq@bFb>GyXZ2Nl@tr`msrCa-iNz#-6+c9J@RF$7=h?`Ms=epz zs6qaf#@`G7q>3)!*?S30oML)`aCakZj5Q-ta85AnuC>h+cvrvPc6&MAt#FuME`XB| zxA1NYC`Y_|c+k>9YFlfG(YurutE^vr>R~n}eni{5HqC-+tSw<&JkR*itPQ z@nQ>Z?gI$WQtkB?f!CP7=E5t4QD=wI308H*-R(ovEqx)xbnaG1%iX7`c8!K{?Ef(u z=)V)sA}toPaI8oHulz-I-2&QSj8)SUWR-geXsu(co{L#dkuhbL+kLDz)V;oTAo$LWZ^&20`?MG)xD zQ>HMStA{I-HxHlbz}}_LWCS6Cz)+WTkCH56LyrjcX_B)J^(lIcQNPZ3{aV{&0CoL( zXYb)qKi~2eHVNRd9P0tiW<6KC=Y@J6qT@b=)av_;6C_0PXV^%3k=z7H{nc<81z!yd ze(a5=U@X`c{#)Q)WypG?Ade&YN=Z_O_lG7_qv7^CudFA`^b6kl^&Z>Z;XRAI%$#op z?+3x#<4lRQ$ZVW@KK?c{=Q|Z!Ofjs+kAfWcMGMpNlJ53$g>nk1d%po!ojCuqy~iic zGj_PB^@;PtR4Q@ee85-Y;O|jnw;>XjKa_0mBCt{`L#u6Ww5eRF-%_vHwr=3vJ2EK6 z&5g{W0WC`P824d!^UE$?6W=qy(c(L!#nI?q{%1n9JoVMRYUCHBW8d=nsT1;*Q%z1! z(qbyw<5{7xs#xVJxe()Rv#o#@I_hcVotbl@0N(^)c;h}OsVGPbALb#^^=4EaA80uK zzFZE1{%yyin z$)NU5(mV&~F#RXLr3jl5J7S@}gM;-7c#QdB=2ea~U9fa{w^1gN6s$SX&!Q6sA#=*+ z7HY@Y+r=FXjWVBlhws{jXlJt91KYwYwT*UW`Z+5#ccb&^lssg2VGE8 z_U(U#rX@g*FC^sLTd?wpa5L5Yba1f+;9jw^*g|Wah91>acXP|_VPa5O-A#}%Et;@T z6LgJ?wZHb-apY3TNZe|gZy-Mq!ueqcGTFqC6XN#wp@8_IUFo;tzYkgT^v*NCNDGR zLl%Ur;t{HQe`!oL0H%Va{e5MXbN0l*s21A?XMYRJw(K;!Gatv6vzGGNDH2+?i<4$= zL<01mJ5`-M$UE{>{r>V&a2@UpiJA777wyhI-CxJ{8Y(usmI@n6{(>gJ36)95i+(rm zY76*Vs~V1-R@LAR-?~FE-hw@iHuZvW_q8W!Z(SN=*JjDJn!6z;R7H|I`@%w7Ymly)1baaf^!6?U={JG z*kF}=m%NMuAK_F-qw2V3Qx_05A4s7uOwuUzhI1|&oMt-RVk2{I2{jAdExm4!^$Fu< zg8eKL(IBMCbU2l7g27gCgXvFoGrchczcFlYR%zQ~nyC+JcaWA+ySqqOcYr^ETxj#A z$mG{%UjFG}G* zSxl*WtWd?C#+_x?tZd7qizyK?>C%`<#b!jJ(C(Kv^klvhMlX;U@t#remMNm(Us;(u zCJiV!AxLPKf~WJ1_$HztTC?}0B5f!JgxY}}E^LQPhHY6Dda64W;@avB>De6eO`#$s zbp^jr?``#quQt{|o#%!`cjg zUaOuGJ^!H6>*UW94A%d^pZieA`}{=VKm1lg3t;=2VQZqm1jdjY^UD$K{x=gY%FL}O zbkew|x!=g`5Haz#Nujw&A=B2H?LS?Rt6~hq7DyN0Zfv)je19D-2@lHW+p{^YW7==$ z6nyAwV4J4qQ(=bj!m%^`ColxeUSGm-*$)iHGf!{^3VI;-&1;yJ7IFofcSIuf^Vdo3 z!KCdCCRIJ8vL5G2{lhrk5GVw?o-(08>-tBC&@7HcA<(aPS|6tnoI_q_PIqae53>~W zngMHzliaR0&Rs}@@`@L3gL&;l_H=u4C$j&}GyYEtGF|_Z8NW6>k$tBt+oIz%CO#iN zUR+?$pj&?u2n5HfhkonC{w(^8xce*?2GS$7Tzt>T?&AVDCEhsz(3gALmv*wdl3VX_ zt<1ioPDfw!MvRFMWxsSB6^b$+^MNauVs?*D7)!s!CyJ$ZtIO*5-%d4!iru-J$eGKqzvzx8WyMS1Ek$%>m8%Xn-A73=J-Ef&3Jk@2B#R&p=m@}**q z&a}f6cr)qv=YlV7RIg{|l#|!;{_GBtD!NKGGv|3y_IxD}LoMfI=Da2{9D(^GGiQm4 z4YkL2lf|5ihe<1cBf!sIsc*^*Ud{?ufGhVdn? zl+$_BxhBrY`j7HYkd!|wfMOG4I`;)~)_+&R_Kjo0VfDODWVzAWWXH9l(fXJj%Q7Wa zqgBeR*T0t=RyUECnX|L-d4Mfx@2UviGcmj;i{U-s;Msx!c>49;+Sb7<7`#D(H&XD9 zKUxC5)dC~;H!C$*rS_y0-L1#n?D0@N_O{32dYr7$z7jA_dfZ3n1 zS*hDp>Pkvw=G?)f2FOGFI$gxCvy4Yn<_tlqh%jr6G5e<;;~vx1*APH@jTlqE-t}8M zf?Z8sX3i|Z+XQ$NbH=PX#-s_2Kpy-1uAsKBM#MVDUtVHxd?&N;vP9~||0Z=8M1=Po zsZQqzKydBb%VaJ>jR`1dHwMIb&UOe$9t%(XdY^3N@YH4InK|1^cnrj8BmnRS_&3qe zQM}TEBHiWw06@lAeQ4M$CkwZa=g7XutpunZCM9iOPq=7*&pQcFh-gh+tDJqU5_#@F z0_672TU9Zl+!4fQCqjzE5kw1gl-}9y1ZAd>0E5dYVrLT5xeKM`PxvX7&MoN&40m2H zHD_g>dewrho9_RTP|Z6FRb2J>Mgc(KT1&P_z1I75c=X|d z+-d-O>Sob$FVh_>?)ykJtntcD4VD!I zBkzn3)UGoKRf($_G=OqF$$+g}wlx3DaBYbOCrS1zX>TNLZXqZ=ZB}f&p zr7V$(e?)o7e;OcX_P^q~@{+xHsT(aT5@8i5yw`BWf5($icQ`jX4RL^)m#OzGQ~=)V zBS_3Ise0zU&J$iFIKl`*F&-3zVq7VRg|R(-kB6lD=8z5zmv-{{39>c9k>Us9bP`Z6hwt4Ps%DSDGyg(8kMcm+|T49;%ALCUoDGe>_h9&q1C z*GlK67;0vs@^9cdZr%Ipl6G2G)i9$rNJ8fj?b+JLL`1*}@0pA8eL%&@MHm4iK(KNQU}P$(M1O<|ZT0Ro8UsfMF{bi++x;-RXa~3jbQz zUjuM&3h-Q`i6bc7bSH{;b(9*B;v>N>q@K&Gk=kh9oV`JWD_qH5^B2R|M_t0Fj^_J8 zbMjh-xYv=v>z?lQG<#j!(#O44^V+hZdp^>YjHD$V_loO}T(zWb^rt<1X^EeQj0$5H zZ-9^?Vaw)DVT$IFw%J`>cB>2xk#?k~W8*fpu()CoB?Q~Kk)fgDyjp10P;xh_NMXhS z)K{2fQ_nv(3l1)7P7Mg`e`y<)%(_>fj$3PVgul9!em;HUTdO)gv-UmtXaC`lUF};lH_x=e(QJ^EOwTeA-N)+(CYS6C?m5TZVNk z)ZkCxUs8Ds*h4(jf2eqf)7@qJE}{N{i{NmS!==gw29x9hhBF^Y*;8DEmOYc|9~mmR zjtUkW99A&Hq_?Z!t4eFE=5OQ9?o_}$V8Bloq(ML(O>Pk4!7g+RqC7mJuYNrOhXe=^ z^r5z^B4gC<)^eoUn?UC@htBaKI;%J*g(ws{l&noqW{@i>)C}=Pm86(ryj}OR7N`wn zb6&I|(&GdTkx4@+3Z<*^OT4{V)oUbNXI)k_L<6I)qcQ6gwGn|LjQsln>pgZ5(9o6l zL0b^dqg0)oRgc;B`Nc#Y2C^}OcOpdtSrW)3_`~>0v+w%hjzp}LQ{O-}sEyu?Pt-6f z3997k2-^@WyXh7BR0np-Q>A35bDQ8UAbU{jW6ayicR_fKO%6kPPIH$r-xm5I9U(9nPt8409D7z#Y9y)k~^dhKEQ zaKiaIn(tp~G_VuSTBb4DL}Re^7Heok2et=<*luh4ykn8!*GH$Ex3eYdg7}nkq*G=$ z42lQCm~Dl*<2BGW)FO#Zx&HF@9etT7@gafIiP47^fc9#pEOlJ(IIHJ00(CySlr)P4#1kv5F$@}p3Yux zyM|@c7D3CzQbFV44YF(ztiHDqvP6ZGG_fUa7lIe0bN@C#1PKTZUF+=l#@3zc!S%u( zG+64vzVzS=m&ZLA1iW^FTp!P5AHD{7XC8C z5iUkfMBGj+bi>QicQ^pF0Fj&P_K>Z3tGPvK_H9GiaEy$2wH^5z(*zuMWRZ638v>~m zjWpjnxdx-<>r0M&(xuHTxcMyvch)y7q(`bJjO)g&>E~f?FcVAJ{BfFXgOe$bNJYUs zgmo-l^Vj58=>GJ>3w?cVl~ki-R$u4k=_(-1v&(9SWhVTlL+#~4_9;@Zet7Bb>XLcN zNM|=dUdQdZp10}=&#^8xwyG)rQ@6_|_(w{4+`hu8p0$sf+FAPmjZ$l>CR{wCL+x!6 zR)rZ#c=`twza*vUy!HzJL)_u;h4CI_J4^zK_#d1PzGwe{{yX4`CzDLxoew^EBTYjN zp>*~T+TmY;Wb^K#znr?Q0K#fTbvJ8;cXgPP-IdaTN?fYP1b&1FR!WTHYT@`s7pHQ3 z4c7jN;K>B#H43wYu>Z~`VMN@=ayahb{jS{dP5OujSK5@)E)TYzySU%;Qs&!Bn0UX@ z!=HIrst5Mt7kF!^7=ZO%Xs^w{`n=@??|v$DI{#@#?y*DYHuFL&YM@=m88>j18u(pj z*T9|Cz*{&OU=#U8RN4MSt{TNR@(ce&tLno{wXhoNRe4d37b+#L@kiA-A*k_0@-lOe zJb=D(<|7m|G4^bg@{c#6v3_w@s2U`+yKn@Gd(+5@DmO^H0iC)q{c8ck&}x)iZ0jI7 zP1xyJwOi5#x592_>Pfhq4)2Q9m8}43cAuoPI*f(Z+=Rqr`k#wgC(IQCCpA#1JR1lz zCL;U+pk1uJ_)GMvfE8}4iD$wY7t;gTRjd)27AM-vjsj9%@y%G}+`*uzD)hK&0jxIo z&2+Y4?@uYNOqJxOolYzqP6W>9FW&;2+2CW=^u!LRQWF+*tQ!1Zy8t%*oH%s>E%=$> zLjEaaOWw#b8z=(0rqypyt3!9QkTM+CQr;&;c_Dpl6@~d^M=)3WoK*t*L0iK?`_7+G zQ#zZxRohrPx@n-c$&gD5XYO&`uN@+@#(HM?8>VOnQ`{_f6wUK485E9{gN`2j;NA`SW$deuOX7DgK<=@e1{uuRK;RqRj zU%5yf=Jx-8sLsDsQ{Hb6OL{}r)I!O#bVBvum(tn!veFj*+ShgBE9vY#R^WU(an{)z1ziM#JkM!t`Dq=ml#(K13Uf83%9!6v4gNAqYeqodQY0uMb^KGriB9lN@Qk*jE zGXi0Yr}gW-x^}g#x_ku{H49^%^vpj|vDVffmthGzuIN)&>Oz&OHuQez#EDqbUvx9! zu{>o8hjXsrkmR|7*9^W4Myl4qxL7b!z`!5&ensxgPw7eL$5^^zmr@Kp99x7PbntH8 zH*D}GTCBPTch+N3gTIQfHtnAV>(_gKjcf2LmMsx-vo#oP)m3+^Ugb0IUZ?8y7}I4_ zf2@Q2y8dpB_tV~?Mb`B4fv&*txWG~hB#h7w*nI-_B^rmf7{W3N#OzMCpA>I7j<7Aq zq&??1N}&axsRgC9Aox`CPao|%&V32U4DQ(~VVB2xH|!%`i54xnohWD7nYsTK8jB@N z7#ZayX|PV`IPvei=fA9kwSI3BZ0d$d47^rZFyhgzI&+*S&LxpaNmU|20VI>wr z(~6pS_m+p**=1^t>$XLDEb6uTd;7{!hH+cFDUzq|3#gR2KvcSj zwY==xt1`NG;CFgM!mjcPRS<1oZCl$Q`WJBhJ}7vtnRy%(ZP~naD$Cx0#Uslg4Yg-+ zh&@PP`b+G11r;LHtAY9m`90}ETgl!`z3v-HX9uW`Uqh__ zYaL@j&0_CKHeXnjAJ6t`gH)j^JHKt}kGp+YLKTP4cH?!ow?QDC<^eT|HV5icI#r@3JbWYJ3;>lAa&qW?aC0qoUpWosLAw9 z`SY2yIy(|S!4&KtMc!)zGSqh7 zUHl6`o@KO7ZRs%e9^5Tq?6p;bzh7MVG*!7GsQ)0nyy~#Njc30aZkv7I{sbUKMs)Bs z#n1kmUQsJL_~xeLW(DWolAKgebhEpM|8TUq|YL}&4O?;cKW zcTy3dgIIob-MxAKjb3?yP#vHkQtAPBeCG9U_Dg zDl>O`dW3n)FIBB8LDH!<7P7_lLLZw4lD%N+KJ)#T;Nw+(=X&8M0A%KNcHm|!%kM|W zcy~lFZGrD#_GkmMvkANfPk$wtUlFxPlgJkabJGB(vi!x!w4epvkPvjP6Rh(qh>`zF z#3<(fkThv+S!wMw`!?|+b#-VtIx5=l$=|CJn5S;FUYhHia^J)$_ilBBjmb1D815r? zkH)8e;fDadNk9?M^l-^8f)xeazLz0i)zD+qf%+-AjyD2se}LsCGc!eb_O>_O8I68J zKAyc2v@&zQ1GfJh_!^lrbGv9%&5)cg?{WA!iGkU#12v^{_sZKnQh;vOn<+roC?Z$9 zosqjz4#C!v$Eg8UY=#^~Yv)#iFRAeOU#$Qk^-*T-WN5-; zUJAAneEDtrBK&Tbi$gUj0ceLc`!QQ(7ckY2;8g;T87m}L(Ii|gy)HYWF)~~VL z^V{Z{n!7u>G}pg<2YqMM!>et&3;Iv(Xce0f@fX4k-tz5%eWnwdp{)$@*4ul7u;BOj#llg1Ue^AFg zs|hDtNL@KbTtX$m6$VBAgQ3%4r8ZOSGJ`&)d{{UHlXp(GO&&{ml*NH~pWJJ3)PF=(8447x-!ds+vb^+&c5bg+zkx#s47qGakd6>sToKJTGc9U zv!#pXhf$z#)c>{p&ZGOucFt*eqmjF9qzj_fH2kR`IoCEnccYjkJwp;ozwJ8*QJcR| zUf>`p45wTBaah9%Y!j6Ao6pkTr~iAHC!v&<_qv?)boLnWR(Y?B?PZvIIoV$J*9%L5 z%Ye^P0MPXno0BA)URIYHLgBCrrTAwLB(1u@(QBFa*Q?2YBa0eO3etRtw)y0(q`l0< zp*vtCI3nZ|>!~S==>2r|GmNcsCDy%RuA#PSQbYS2E#{-2Iw>kQzC(I?TkK%;5LhGG z7LFcp%-c^Z2jac&{me2{Ez%JbHaA~s5-&+9^gbD6B3mu9&s9H;6!QP$Aew7-h^M2) zg)TACj)*K-E)y7UWEsj;4*A?fkaD}Rm-LN#&GmXo*y|IiknN1OgnzhT*M^rah%V`l zMwi%>eO4_hSU_K`%(PwL?dTd1wO`h1d4jZBt0j7`rckys13^;;+tgg0F1iO4

IioL>NgTzWH%0QOivXSJLZED2I7_e!a z#Z;zVt?JR3sz4#XiV(?%n_k2;$Q(x1+a>CEra$>l_duyfnH1hpmY&{|GSqcIeqGwX zYjy1aisog`tt+1FX|?Dy!l0tk2Ft!lPWIwhXSfkhZAo6;^y*xToq4OwoUi-F74gM# zT1EPT1~>M}!}!U+gugC((qcY=1<#HV^9V~Voz|RJI#*LW-|D+lgU*17C$|QC$YWc8 zOYY=SjHxoRxrN20EReW*nTsfpwiDi&6Hg?msiVn1GfgmlwdxO=9CHae_d+c%EACPa zepTEVHG()3oE8k@+z1&;-LqGo}=6^|SbzV|2NQk@LyrtQ$Di zSbFPgqSj{ru6VPkk)n^SadAiaqOcf)Pv{fLvd_{y?h`?MK~`zV@rE+^Rg3oG3SFw z2xu||zMLq&r=6jmh0<5nMR9N!*v;P`X&8&uEX>v*$S=Lwcx_>j^S3G}|+ zL!FZ;dPo_yYUbi|pwo!Ems}yY8{qcqA-5;E;>~;lMW+L%l?m+k0T?Id;`VA%nzPwj zyEyg|9)Wo3r%r-|!#+KPz6ZiS3As*tOu1<`Lr}N6jxx<1_lr0Q#acITzZ}Jd=(+`) zQ)VjCKjOX*JCafQ7~lg_&7kH?JX_;;JbAh}kcpkaayXAd+TW%8Kku*oXk@?V5P zqy744|W3Z($(uCwobtkR%MycEv_Y`e*@bK^k#C!c?lJyl@ z+%AqSvX`TF5@TW|_A*Z|nSupB^3$K7xtHyIqK&;AYo45B?}v5*9e3kLg>L+~U8%OT zv$A?QeevWqYV2iY1zyq(OsT+(r1O4q|RnKJIGyMIK{Sif{Npx)}!?$TKv9DOB6(@L6u@Cdm0Ev|hyS zrQZ5;`6_lli*B?@Z~oZx9dlue;cPbc+?SKRICk5k!e^1@&Ecw+UMe%^1S3z-C{YhN zn*w1ES*C%fn8R?u(2Y8s*mlyad$^$M89k{1PP$OiJLAdssD)w;d8|x+snmdD-nODJ zT{<}&a0;|vD|fu9$n>XcR4uP4E{TCw)fbF4y3?NVCVaB4GZ%+AK7l*ceHv{Wn_46q zaOA~g3{up1U^E4qP&2pSNSAo>;;jXwXn*=$&ScqI;9))~ipoZS;2?o`@=+B?myV^- z^|Fw%oz)6GVTIhvF#*ZEm1in+7jr?|DQXj!650d*;=68z4_ZZ&WgX@wo%Qx3CdO{E ztQL9na+v}gM$?)pu!<3vaM7_u2^XqK1SOs;_I%T=ko2`H031(!vAJ+R*_kEp@luhw zIKl$uxxj9c6e8v1cQ;-#^ni%MhwtUI715}cwvp`e4g6%!sb;ijxm(d+E9ZAd6$` z9@3Z1cH<>eaN{a|q(gq{q4yjeV(-m$$U>#&=#VbpLw7)jv}2g?-{5nOn#h#iX_N;P zy1uRZwWSSU5^d%e2tzU4-4)t`;#5aj657Y$?7c`v?a0P9c8WnWW5u0In7tEnGx;Cm z$&cX@LSMo1LlsG~Gd?HDy2x^U%M=}eN_XV!Pqz*ns4bkQJ8dUUV@9NKoIr0x3tR?D z81Nf4b80(zw%wln=%Ur!W>0NOhQ##u7z;3t{3o^-d{d8^O@+`(=OylzqahDrvY1nI zA70hNq;VaI@zi!O&i{k@aDIq*dN?=wbr!y{mGY@)O3qlxn~lAzExmAw(q%JT zEZfQ%IWj5BS~qeIBv-DHGe1TtY3QD=c%G3X+>ymD4@wp%C_|=b0C15C&%0DARVJmT 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

f_s@|Rk-Pp~^1S)-o0LRMdyn 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

a$M0)zX<7cYrv7Uj!IO_N^}TpD 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 DzvU*U literal 0 HcmV?d00001 diff --git a/indexed_gzip/zran.c b/indexed_gzip/zran.c index 6b052e85..8a2eecda 100644 --- a/indexed_gzip/zran.c +++ b/indexed_gzip/zran.c @@ -835,6 +835,7 @@ int zran_build_index(zran_index_t *index, uint64_t from, uint64_t until) if (_zran_invalidate_index(index, from) != 0) { return ZRAN_BUILD_INDEX_FAIL; } + zran_log("After _zran_invalidate_index(), the index->fd is: %u, index->f: %u\n", index->fd, index->f); return _zran_expand_index(index, until); } @@ -1389,9 +1390,11 @@ static int _zran_read_data_from_file(zran_index_t *index, index->readbuf_size - stream->avail_in, index->fd, index->f); + + zran_log("Before FAIL, the ret is %u, index->fd is %u, index->f is %u\n", f_ret, index->fd, index->f); if (ferror_(index->fd, index->f)) { - zran_log("FAIL: _zran_read_data_from_file, %u, %u, %u, %u\n", index->readbuf + stream->avail_in, + zran_log("FAIL: _zran_read_data_from_file, %u, %u, %u, %u, %u\n", index->readbuf + stream->avail_in, 1, index->readbuf_size - stream->avail_in, index->fd, diff --git a/indexed_gzip/zran_file_util.c b/indexed_gzip/zran_file_util.c index cb01dde1..a4312e94 100644 --- a/indexed_gzip/zran_file_util.c +++ b/indexed_gzip/zran_file_util.c @@ -11,6 +11,7 @@ #include #include #include +#define zran_log(...) fprintf(stderr, __VA_ARGS__) #define PY_SSIZE_T_CLEAN #include @@ -146,10 +147,12 @@ int _feof_python(PyObject *f, size_t f_ret) { * file-like objects. */ int _ferror_python(PyObject *f) { + zran_log("In _ferror_python beginning, f is %u\n", f); PyObject *result; _ZRAN_FILE_UTIL_ACQUIRE_GIL result = PyErr_Occurred(); + zran_log("In _ferror_python, f is %u, result is %u\n", f, result); _ZRAN_FILE_UTIL_RELEASE_GIL if (result != NULL) return 1; @@ -277,7 +280,14 @@ int _seekable_python2(PyObject *f) { * Calls ferror on fd if specified, otherwise the Python-specific method on f. */ int ferror_(FILE *fd, PyObject *f) { - return fd != NULL ? ferror(fd) : _ferror_python(f); + // return fd != NULL ? ferror(fd) : _ferror_python(f); + if(fd != NULL){ + zran_log("In Ferror, go to fd. fd here is %u, f here is %u\n", fd, f); + return ferror(fd); + }else{ + zran_log("In Ferror, go to f. fd here is %u, f here is %u\n", fd, f); + return _ferror_python(f); + } } /* From 8fc1bbfad9106d86289791d641799a737bd7b943 Mon Sep 17 00:00:00 2001 From: Jiani Wang Date: Fri, 20 Jan 2023 15:45:39 -0800 Subject: [PATCH 5/7] finish test --- .../indexed_gzip.cpython-37m-darwin.so | Bin 458016 -> 458016 bytes indexed_gzip/tests/ctest_indexed_gzip.c | 14517 ++++++++-------- .../ctest_indexed_gzip.cpython-37m-darwin.so | Bin 1166144 -> 1167464 bytes indexed_gzip/tests/ctest_indexed_gzip.pyx | 45 +- .../tests/ctest_zran.cpython-37m-darwin.so | Bin 743664 -> 743664 bytes indexed_gzip/zran.c | 2 + indexed_gzip/zran_file_util.c | 14 +- 7 files changed, 7551 insertions(+), 7027 deletions(-) diff --git a/indexed_gzip/indexed_gzip.cpython-37m-darwin.so b/indexed_gzip/indexed_gzip.cpython-37m-darwin.so index c7c60ccaa4077dac243c89912db8bea1514f2cf6..e046516972385dfdb2315e0ac74547279cb9afa3 100755 GIT binary patch delta 91025 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

gcbod2gv#xEEpc5$kQ-{waHtXCi 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 __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_7) : __pyx_t_8; - __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_7); - __pyx_t_7 = 0; - __Pyx_INCREF(__pyx_kp_u_read_in_length); - __pyx_t_5 += 19; - __Pyx_GIVEREF(__pyx_kp_u_read_in_length); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u_read_in_length); - __pyx_t_9 = PyObject_Length(__pyx_v_s); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 117, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_9, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_7); - __pyx_t_7 = 0; - __Pyx_INCREF(__pyx_kp_u_length_of_buffer); - __pyx_t_5 += 21; - __Pyx_GIVEREF(__pyx_kp_u_length_of_buffer); - PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_kp_u_length_of_buffer); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_9, 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_6, 5, __pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 6, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + * try: + * while num_bytes is None or len(self.__buffer) < num_bytes: # <<<<<<<<<<<<<< + * s = self.__input.read(num_bytes) + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + */ + __Pyx_TraceLine(116,0,__PYX_ERR(0, 116, __pyx_L3_error)) + while (1) { + __pyx_t_5 = (__pyx_v_num_bytes == Py_None); + __pyx_t_6 = (__pyx_t_5 != 0); + if (!__pyx_t_6) { + } else { + __pyx_t_4 = __pyx_t_6; + goto __pyx_L11_bool_binop_done; + } + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 116, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 116, __pyx_L3_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 116, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_9 = PyObject_RichCompare(__pyx_t_7, __pyx_v_num_bytes, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 116, __pyx_L3_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 116, __pyx_L3_error) + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_4 = __pyx_t_6; + __pyx_L11_bool_binop_done:; + if (!__pyx_t_4) break; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":117 + * try: + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) # <<<<<<<<<<<<<< + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + * if not s: + */ + __Pyx_TraceLine(117,0,__PYX_ERR(0, 117, __pyx_L3_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_read); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 117, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } + } + __pyx_t_9 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_7, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_num_bytes); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 117, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_9); + __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":118 + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") # <<<<<<<<<<<<<< + * if not s: + * self.__gzip.close() + */ + __Pyx_TraceLine(118,0,__PYX_ERR(0, 118, __pyx_L3_error)) + __pyx_t_9 = PyTuple_New(6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 118, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + __pyx_t_8 = 0; + __pyx_t_11 = 127; + __Pyx_INCREF(__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); + __pyx_t_8 += 43; + __Pyx_GIVEREF(__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); + PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); + __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_v_num_bytes, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_11; + __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_10); + __pyx_t_10 = 0; + __Pyx_INCREF(__pyx_kp_u_read_in_length); + __pyx_t_8 += 19; + __Pyx_GIVEREF(__pyx_kp_u_read_in_length); + PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u_read_in_length); + __pyx_t_12 = PyObject_Length(__pyx_v_s); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 118, __pyx_L3_error) + __pyx_t_10 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_12, 0, ' ', 'd'); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_10); + __pyx_t_10 = 0; + __Pyx_INCREF(__pyx_kp_u_length_of_buffer); + __pyx_t_8 += 21; + __Pyx_GIVEREF(__pyx_kp_u_length_of_buffer); + PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_kp_u_length_of_buffer); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_12 = PyObject_Length(__pyx_t_10); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 118, __pyx_L3_error) + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_12, 0, ' ', 'd'); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); + __Pyx_GIVEREF(__pyx_t_10); + PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_10); + __pyx_t_10 = 0; + __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_9, 6, __pyx_t_8, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 118, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":119 + * s = self.__input.read(num_bytes) + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + * if not s: # <<<<<<<<<<<<<< + * self.__gzip.close() + * break + */ + __Pyx_TraceLine(119,0,__PYX_ERR(0, 119, __pyx_L3_error)) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_s); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 119, __pyx_L3_error) + __pyx_t_6 = ((!__pyx_t_4) != 0); + if (__pyx_t_6) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":118 - * s = self.__input.read(num_bytes) - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - * if not s: # <<<<<<<<<<<<<< - * self.__gzip.close() - * break + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":120 + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + * if not s: + * self.__gzip.close() # <<<<<<<<<<<<<< + * break + * self.__gzip.write(s) # gzip the current file */ - __Pyx_TraceLine(118,0,__PYX_ERR(0, 118, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_s); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 118, __pyx_L1_error) - __pyx_t_3 = ((!__pyx_t_1) != 0); - if (__pyx_t_3) { + __Pyx_TraceLine(120,0,__PYX_ERR(0, 120, __pyx_L3_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 120, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_close); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 120, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __pyx_t_10 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { + __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7); + if (likely(__pyx_t_10)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); + __Pyx_INCREF(__pyx_t_10); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_7, function); + } + } + __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 120, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":119 - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - * if not s: - * self.__gzip.close() # <<<<<<<<<<<<<< - * break - * self.__gzip.write(s) # gzip the current file - */ - __Pyx_TraceLine(119,0,__PYX_ERR(0, 119, __pyx_L1_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":121 + * if not s: + * self.__gzip.close() + * break # <<<<<<<<<<<<<< + * self.__gzip.write(s) # gzip the current file + * except Exception as e: + */ + __Pyx_TraceLine(121,0,__PYX_ERR(0, 121, __pyx_L3_error)) + goto __pyx_L10_break; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":119 + * s = self.__input.read(num_bytes) + * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + * if not s: # <<<<<<<<<<<<<< + * self.__gzip.close() + * break + */ + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":122 + * self.__gzip.close() + * break + * self.__gzip.write(s) # gzip the current file # <<<<<<<<<<<<<< + * except Exception as e: + * print("Error in _fill_buf_bytes", repr(e)) + */ + __Pyx_TraceLine(122,0,__PYX_ERR(0, 122, __pyx_L3_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 122, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 122, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_10); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_10, function); + } } + __pyx_t_9 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_7, __pyx_v_s) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_s); + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 122, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } - __pyx_t_6 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_L10_break:; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":120 - * if not s: - * self.__gzip.close() - * break # <<<<<<<<<<<<<< - * self.__gzip.write(s) # gzip the current file + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":115 * - */ - __Pyx_TraceLine(120,0,__PYX_ERR(0, 120, __pyx_L1_error)) - goto __pyx_L4_break; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":118 - * s = self.__input.read(num_bytes) - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - * if not s: # <<<<<<<<<<<<<< - * self.__gzip.close() - * break + * def _fill_buf_bytes(self, num_bytes=None): + * try: # <<<<<<<<<<<<<< + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) */ } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":121 - * self.__gzip.close() - * break - * self.__gzip.write(s) # gzip the current file # <<<<<<<<<<<<<< + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L8_try_end; + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 + * break + * self.__gzip.write(s) # gzip the current file + * except Exception as e: # <<<<<<<<<<<<<< + * print("Error in _fill_buf_bytes", repr(e)) + * raise e + */ + __Pyx_TraceLine(123,0,__PYX_ERR(0, 123, __pyx_L5_except_error)) + __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_13) { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream._fill_buf_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_7) < 0) __PYX_ERR(0, 123, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_9); + __Pyx_GOTREF(__pyx_t_10); + __Pyx_GOTREF(__pyx_t_7); + __Pyx_INCREF(__pyx_t_10); + __pyx_v_e = __pyx_t_10; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":124 + * self.__gzip.write(s) # gzip the current file + * except Exception as e: + * print("Error in _fill_buf_bytes", repr(e)) # <<<<<<<<<<<<<< + * raise e + * + */ + __Pyx_TraceLine(124,0,__PYX_ERR(0, 124, __pyx_L5_except_error)) + __pyx_t_14 = PyObject_Repr(__pyx_v_e); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 124, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 124, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_15); + __Pyx_INCREF(__pyx_kp_s_Error_in__fill_buf_bytes); + __Pyx_GIVEREF(__pyx_kp_s_Error_in__fill_buf_bytes); + PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_kp_s_Error_in__fill_buf_bytes); + __Pyx_GIVEREF(__pyx_t_14); + PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); + __pyx_t_14 = 0; + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 124, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_14); + __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":125 + * except Exception as e: + * print("Error in _fill_buf_bytes", repr(e)) + * raise e # <<<<<<<<<<<<<< * * def read(self, num_bytes=None): */ - __Pyx_TraceLine(121,0,__PYX_ERR(0, 121, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_write); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } + __Pyx_TraceLine(125,0,__PYX_ERR(0, 125, __pyx_L5_except_error)) + __Pyx_Raise(__pyx_v_e, 0, 0, 0); + __PYX_ERR(0, 125, __pyx_L5_except_error) } - __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_4, __pyx_v_s) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_s); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L5_except_error; + __pyx_L5_except_error:; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":115 + * + * def _fill_buf_bytes(self, num_bytes=None): + * try: # <<<<<<<<<<<<<< + * while num_bytes is None or len(self.__buffer) < num_bytes: + * s = self.__input.read(num_bytes) + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L8_try_end:; } - __pyx_L4_break:; /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 * self.__size = 0 * * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< - * while num_bytes is None or len(self.__buffer) < num_bytes: - * s = self.__input.read(num_bytes) + * try: + * while num_bytes is None or len(self.__buffer) < num_bytes: */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_9); + __Pyx_XDECREF(__pyx_t_10); + __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_15); __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream._fill_buf_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_s); + __Pyx_XDECREF(__pyx_v_e); __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 - * self.__gzip.write(s) # gzip the current file +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":127 + * raise e * * def read(self, num_bytes=None): # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + * try: + * self._fill_buf_bytes(num_bytes) */ /* Python wrapper */ @@ -4700,7 +4829,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 123, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 127, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4716,7 +4845,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("read", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 123, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("read", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 127, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.read", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -4731,194 +4860,301 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_4read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes) { PyObject *__pyx_v_data = NULL; + PyObject *__pyx_v_e = NULL; PyObject *__pyx_r = NULL; __Pyx_TraceDeclarations __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - Py_UCS4 __pyx_t_5; - Py_ssize_t __pyx_t_6; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + PyObject *__pyx_t_6 = NULL; + Py_ssize_t __pyx_t_7; + Py_UCS4 __pyx_t_8; + Py_ssize_t __pyx_t_9; + int __pyx_t_10; + PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_12 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_TraceFrameInit(__pyx_codeobj__14) __Pyx_RefNannySetupContext("read", 0); - __Pyx_TraceCall("read", __pyx_f[0], 123, 0, __PYX_ERR(0, 123, __pyx_L1_error)); + __Pyx_TraceCall("read", __pyx_f[0], 127, 0, __PYX_ERR(0, 127, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":124 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":128 * * def read(self, num_bytes=None): - * self._fill_buf_bytes(num_bytes) # <<<<<<<<<<<<<< - * # print(f"In GzipStream read(). num_bytes = {num_bytes}") - * data = self.__buffer.read(num_bytes) + * try: # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * data = self.__buffer.read(num_bytes) */ - __Pyx_TraceLine(124,0,__PYX_ERR(0, 124, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fill_buf_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_num_bytes); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_TraceLine(128,0,__PYX_ERR(0, 128, __pyx_L1_error)) + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); + __Pyx_XGOTREF(__pyx_t_1); + __Pyx_XGOTREF(__pyx_t_2); + __Pyx_XGOTREF(__pyx_t_3); + /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":126 - * self._fill_buf_bytes(num_bytes) - * # print(f"In GzipStream read(). num_bytes = {num_bytes}") - * data = self.__buffer.read(num_bytes) # <<<<<<<<<<<<<< - * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") - * self.__size += len(data) + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":129 + * def read(self, num_bytes=None): + * try: + * self._fill_buf_bytes(num_bytes) # <<<<<<<<<<<<<< + * data = self.__buffer.read(num_bytes) + * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") */ - __Pyx_TraceLine(126,0,__PYX_ERR(0, 126, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_num_bytes); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; + __Pyx_TraceLine(129,0,__PYX_ERR(0, 129, __pyx_L3_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fill_buf_bytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 129, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_num_bytes); + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 129, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":128 - * data = self.__buffer.read(num_bytes) - * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") - * self.__size += len(data) # <<<<<<<<<<<<<< - * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") - * return data + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":130 + * try: + * self._fill_buf_bytes(num_bytes) + * data = self.__buffer.read(num_bytes) # <<<<<<<<<<<<<< + * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") + * self.__size += len(data) */ - __Pyx_TraceLine(128,0,__PYX_ERR(0, 128, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 128, __pyx_L1_error) - __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size, __pyx_t_2) < 0) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_TraceLine(130,0,__PYX_ERR(0, 130, __pyx_L3_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_6, function); + } + } + __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_num_bytes); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 130, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_v_data = __pyx_t_4; + __pyx_t_4 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 + * data = self.__buffer.read(num_bytes) + * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") + * self.__size += len(data) # <<<<<<<<<<<<<< + * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") + * return data + */ + __Pyx_TraceLine(132,0,__PYX_ERR(0, 132, __pyx_L3_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 132, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 132, __pyx_L3_error) + __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size, __pyx_t_5) < 0) __PYX_ERR(0, 132, __pyx_L3_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":129 - * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") - * self.__size += len(data) - * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") # <<<<<<<<<<<<<< - * return data + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":133 + * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") + * self.__size += len(data) + * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") # <<<<<<<<<<<<<< + * return data + * except Exception as e: + */ + __Pyx_TraceLine(133,0,__PYX_ERR(0, 133, __pyx_L3_error)) + __pyx_t_5 = PyTuple_New(6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = 0; + __pyx_t_8 = 127; + __Pyx_INCREF(__pyx_kp_u_Size_changed_to); + __pyx_t_7 += 16; + __Pyx_GIVEREF(__pyx_kp_u_Size_changed_to); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Size_changed_to); + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; + __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); + __pyx_t_4 = 0; + __Pyx_INCREF(__pyx_kp_u_num_bytes_was); + __pyx_t_7 += 16; + __Pyx_GIVEREF(__pyx_kp_u_num_bytes_was); + PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_num_bytes_was); + __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_num_bytes, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; + __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4); + __pyx_t_4 = 0; + __Pyx_INCREF(__pyx_kp_u_read_out); + __pyx_t_7 += 11; + __Pyx_GIVEREF(__pyx_kp_u_read_out); + PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u_read_out); + __pyx_t_9 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 133, __pyx_L3_error) + __pyx_t_4 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_9, 0, ' ', 'd'); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_5, 6, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 133, __pyx_L3_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":134 + * self.__size += len(data) + * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") + * return data # <<<<<<<<<<<<<< + * except Exception as e: + * print(repr(e)) + */ + __Pyx_TraceLine(134,0,__PYX_ERR(0, 134, __pyx_L3_error)) + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(__pyx_v_data); + __pyx_r = __pyx_v_data; + goto __pyx_L7_try_return; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":128 * + * def read(self, num_bytes=None): + * try: # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * data = self.__buffer.read(num_bytes) */ - __Pyx_TraceLine(129,0,__PYX_ERR(0, 129, __pyx_L1_error)) - __pyx_t_2 = PyTuple_New(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = 0; - __pyx_t_5 = 127; - __Pyx_INCREF(__pyx_kp_u_Size_changed_to); - __pyx_t_4 += 16; - __Pyx_GIVEREF(__pyx_kp_u_Size_changed_to); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Size_changed_to); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5; - __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); - __pyx_t_1 = 0; - __Pyx_INCREF(__pyx_kp_u_num_bytes_was); - __pyx_t_4 += 16; - __Pyx_GIVEREF(__pyx_kp_u_num_bytes_was); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_num_bytes_was); - __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_num_bytes, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_5) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_5; - __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); - __pyx_t_1 = 0; - __Pyx_INCREF(__pyx_kp_u_read_out); - __pyx_t_4 += 11; - __Pyx_GIVEREF(__pyx_kp_u_read_out); - PyTuple_SET_ITEM(__pyx_t_2, 4, __pyx_kp_u_read_out); - __pyx_t_6 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 129, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_6, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 5, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_2, 6, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __pyx_L3_error:; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":130 - * self.__size += len(data) - * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") - * return data # <<<<<<<<<<<<<< + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 + * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") + * return data + * except Exception as e: # <<<<<<<<<<<<<< + * print(repr(e)) * - * def close(self): */ - __Pyx_TraceLine(130,0,__PYX_ERR(0, 130, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_data); - __pyx_r = __pyx_v_data; - goto __pyx_L0; + __Pyx_TraceLine(135,0,__PYX_ERR(0, 135, __pyx_L5_except_error)) + __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + if (__pyx_t_10) { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.read", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 135, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_6); + __Pyx_INCREF(__pyx_t_4); + __pyx_v_e = __pyx_t_4; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":136 + * return data + * except Exception as e: + * print(repr(e)) # <<<<<<<<<<<<<< + * + * + */ + __Pyx_TraceLine(136,0,__PYX_ERR(0, 136, __pyx_L5_except_error)) + __pyx_t_11 = PyObject_Repr(__pyx_v_e); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 136, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 136, __pyx_L5_except_error) + __Pyx_GOTREF(__pyx_t_12); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + goto __pyx_L4_exception_handled; + } + goto __pyx_L5_except_error; + __pyx_L5_except_error:; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 - * self.__gzip.write(s) # gzip the current file + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":128 + * + * def read(self, num_bytes=None): + * try: # <<<<<<<<<<<<<< + * self._fill_buf_bytes(num_bytes) + * data = self.__buffer.read(num_bytes) + */ + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L1_error; + __pyx_L7_try_return:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + goto __pyx_L0; + __pyx_L4_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":127 + * raise e * * def read(self, num_bytes=None): # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + * try: + * self._fill_buf_bytes(num_bytes) */ /* function exit code */ + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_12); __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.read", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_data); + __Pyx_XDECREF(__pyx_v_e); __Pyx_XGIVEREF(__pyx_r); __Pyx_TraceReturn(__pyx_r, 0); __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 - * return data +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + * * * def close(self): # <<<<<<<<<<<<<< * self.__input.close() @@ -4951,19 +5187,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea int __pyx_clineno = 0; __Pyx_TraceFrameInit(__pyx_codeobj__15) __Pyx_RefNannySetupContext("close", 0); - __Pyx_TraceCall("close", __pyx_f[0], 132, 0, __PYX_ERR(0, 132, __pyx_L1_error)); + __Pyx_TraceCall("close", __pyx_f[0], 139, 0, __PYX_ERR(0, 139, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":133 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":140 * * def close(self): * self.__input.close() # <<<<<<<<<<<<<< * * def peek(self, num_bytes): */ - __Pyx_TraceLine(133,0,__PYX_ERR(0, 133, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 133, __pyx_L1_error) + __Pyx_TraceLine(140,0,__PYX_ERR(0, 140, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 133, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -4978,13 +5214,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 133, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 - * return data + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + * * * def close(self): # <<<<<<<<<<<<<< * self.__input.close() @@ -5007,7 +5243,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":142 * self.__input.close() * * def peek(self, num_bytes): # <<<<<<<<<<<<<< @@ -5050,11 +5286,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_bytes)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, 1); __PYX_ERR(0, 135, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, 1); __PYX_ERR(0, 142, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "peek") < 0)) __PYX_ERR(0, 135, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "peek") < 0)) __PYX_ERR(0, 142, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5067,7 +5303,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 135, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 142, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -5092,17 +5328,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea int __pyx_clineno = 0; __Pyx_TraceFrameInit(__pyx_codeobj__16) __Pyx_RefNannySetupContext("peek", 0); - __Pyx_TraceCall("peek", __pyx_f[0], 135, 0, __PYX_ERR(0, 135, __pyx_L1_error)); + __Pyx_TraceCall("peek", __pyx_f[0], 142, 0, __PYX_ERR(0, 142, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":136 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 * * def peek(self, num_bytes): * self._fill_buf_bytes(num_bytes) # <<<<<<<<<<<<<< * return self.__buffer.peek(num_bytes) * */ - __Pyx_TraceLine(136,0,__PYX_ERR(0, 136, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fill_buf_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error) + __Pyx_TraceLine(143,0,__PYX_ERR(0, 143, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fill_buf_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -5116,23 +5352,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_num_bytes); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":137 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":144 * def peek(self, num_bytes): * self._fill_buf_bytes(num_bytes) * return self.__buffer.peek(num_bytes) # <<<<<<<<<<<<<< * * def tell(self): */ - __Pyx_TraceLine(137,0,__PYX_ERR(0, 137, __pyx_L1_error)) + __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 137, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_peek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 137, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_peek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -5147,14 +5383,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_num_bytes); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":142 * self.__input.close() * * def peek(self, num_bytes): # <<<<<<<<<<<<<< @@ -5176,11 +5412,11 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 * return self.__buffer.peek(num_bytes) * * def tell(self): # <<<<<<<<<<<<<< - * print("In GzipStream, tell() is called") + * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") * return self.__size */ @@ -5203,51 +5439,62 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea __Pyx_TraceDeclarations __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; + PyObject *__pyx_t_2 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_TraceFrameInit(__pyx_codeobj__17) __Pyx_RefNannySetupContext("tell", 0); - __Pyx_TraceCall("tell", __pyx_f[0], 139, 0, __PYX_ERR(0, 139, __pyx_L1_error)); + __Pyx_TraceCall("tell", __pyx_f[0], 146, 0, __PYX_ERR(0, 146, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":140 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":147 * * def tell(self): - * print("In GzipStream, tell() is called") # <<<<<<<<<<<<<< + * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") # <<<<<<<<<<<<<< * return self.__size * */ - __Pyx_TraceLine(140,0,__PYX_ERR(0, 140, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error) + __Pyx_TraceLine(147,0,__PYX_ERR(0, 147, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_In_GzipStream_tell_is_called_sel, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 147, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":141 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":148 * def tell(self): - * print("In GzipStream, tell() is called") + * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") * return self.__size # <<<<<<<<<<<<<< * * def seekable(self): */ - __Pyx_TraceLine(141,0,__PYX_ERR(0, 141, __pyx_L1_error)) + __Pyx_TraceLine(148,0,__PYX_ERR(0, 148, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 * return self.__buffer.peek(num_bytes) * * def tell(self): # <<<<<<<<<<<<<< - * print("In GzipStream, tell() is called") + * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") * return self.__size */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.tell", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; @@ -5257,7 +5504,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 * return self.__size * * def seekable(self): # <<<<<<<<<<<<<< @@ -5286,24 +5533,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__19) + __Pyx_TraceFrameInit(__pyx_codeobj__18) __Pyx_RefNannySetupContext("seekable", 0); - __Pyx_TraceCall("seekable", __pyx_f[0], 143, 0, __PYX_ERR(0, 143, __pyx_L1_error)); + __Pyx_TraceCall("seekable", __pyx_f[0], 150, 0, __PYX_ERR(0, 150, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":144 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":151 * * def seekable(self): * return False # <<<<<<<<<<<<<< * * def error_fn(*args, **kwargs): */ - __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error)) + __Pyx_TraceLine(151,0,__PYX_ERR(0, 151, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_False); __pyx_r = Py_False; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 * return self.__size * * def seekable(self): # <<<<<<<<<<<<<< @@ -5322,7 +5569,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStrea return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 * return False * * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< @@ -5359,25 +5606,25 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_error_fn(CY int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__20) + __Pyx_TraceFrameInit(__pyx_codeobj__19) __Pyx_RefNannySetupContext("error_fn", 0); - __Pyx_TraceCall("error_fn", __pyx_f[0], 146, 0, __PYX_ERR(0, 146, __pyx_L1_error)); + __Pyx_TraceCall("error_fn", __pyx_f[0], 153, 0, __PYX_ERR(0, 153, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":147 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":154 * * def error_fn(*args, **kwargs): * raise Exception("Error") # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(147,0,__PYX_ERR(0, 147, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error) + __Pyx_TraceLine(154,0,__PYX_ERR(0, 154, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 147, __pyx_L1_error) + __PYX_ERR(0, 154, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 * return False * * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< @@ -5396,7 +5643,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_error_fn(CY return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":157 * * * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< @@ -5443,7 +5690,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_eleme case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_element)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("read_element", 0, 2, 3, 1); __PYX_ERR(0, 150, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("read_element", 0, 2, 3, 1); __PYX_ERR(0, 157, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -5453,7 +5700,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_eleme } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_element") < 0)) __PYX_ERR(0, 150, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_element") < 0)) __PYX_ERR(0, 157, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5471,7 +5718,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_eleme } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("read_element", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 150, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("read_element", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 157, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -5498,34 +5745,34 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_eleme int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__22) + __Pyx_TraceFrameInit(__pyx_codeobj__21) __Pyx_RefNannySetupContext("read_element", 0); - __Pyx_TraceCall("read_element", __pyx_f[0], 150, 0, __PYX_ERR(0, 150, __pyx_L1_error)); + __Pyx_TraceCall("read_element", __pyx_f[0], 157, 0, __PYX_ERR(0, 157, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":152 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":159 * def read_element(gzf, element, seek=True): * * if seek: # <<<<<<<<<<<<<< * gzf.seek(int(element) * 8) * */ - __Pyx_TraceLine(152,0,__PYX_ERR(0, 152, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_seek); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 152, __pyx_L1_error) + __Pyx_TraceLine(159,0,__PYX_ERR(0, 159, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_seek); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 159, __pyx_L1_error) if (__pyx_t_1) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":160 * * if seek: * gzf.seek(int(element) * 8) # <<<<<<<<<<<<<< * * bytes = gzf.read(8) */ - __Pyx_TraceLine(153,0,__PYX_ERR(0, 153, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_TraceLine(160,0,__PYX_ERR(0, 160, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_element); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_element); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyNumber_Multiply(__pyx_t_4, __pyx_int_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 153, __pyx_L1_error) + __pyx_t_5 = PyNumber_Multiply(__pyx_t_4, __pyx_int_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -5541,12 +5788,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_eleme __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":152 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":159 * def read_element(gzf, element, seek=True): * * if seek: # <<<<<<<<<<<<<< @@ -5555,15 +5802,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_eleme */ } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":155 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":162 * gzf.seek(int(element) * 8) * * bytes = gzf.read(8) # <<<<<<<<<<<<<< * val = np.ndarray(1, np.uint64, buffer=bytes) * */ - __Pyx_TraceLine(155,0,__PYX_ERR(0, 155, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 155, __pyx_L1_error) + __Pyx_TraceLine(162,0,__PYX_ERR(0, 162, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -5577,31 +5824,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_eleme } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_bytes = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":156 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":163 * * bytes = gzf.read(8) * val = np.ndarray(1, np.uint64, buffer=bytes) # <<<<<<<<<<<<<< * * return val[0] */ - __Pyx_TraceLine(156,0,__PYX_ERR(0, 156, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); @@ -5609,10 +5856,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_eleme __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_v_bytes) < 0) __PYX_ERR(0, 156, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 156, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_v_bytes) < 0) __PYX_ERR(0, 163, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -5620,22 +5867,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_eleme __pyx_v_val = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":158 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":165 * val = np.ndarray(1, np.uint64, buffer=bytes) * * return val[0] # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(158,0,__PYX_ERR(0, 158, __pyx_L1_error)) + __Pyx_TraceLine(165,0,__PYX_ERR(0, 165, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":157 * * * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< @@ -5660,7 +5907,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_eleme return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":161 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":168 * * * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< @@ -5703,11 +5950,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lines)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("write_text_to_gzip_file", 1, 2, 2, 1); __PYX_ERR(0, 161, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("write_text_to_gzip_file", 1, 2, 2, 1); __PYX_ERR(0, 168, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_text_to_gzip_file") < 0)) __PYX_ERR(0, 161, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_text_to_gzip_file") < 0)) __PYX_ERR(0, 168, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -5720,7 +5967,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("write_text_to_gzip_file", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 161, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("write_text_to_gzip_file", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 168, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.write_text_to_gzip_file", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -5758,40 +6005,40 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__23) + __Pyx_TraceFrameInit(__pyx_codeobj__22) __Pyx_RefNannySetupContext("write_text_to_gzip_file", 0); - __Pyx_TraceCall("write_text_to_gzip_file", __pyx_f[0], 161, 0, __PYX_ERR(0, 161, __pyx_L1_error)); + __Pyx_TraceCall("write_text_to_gzip_file", __pyx_f[0], 168, 0, __PYX_ERR(0, 168, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":162 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":169 * * def write_text_to_gzip_file(fname, lines): * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< * for line in lines: * f.write('{}\n'.format(line).encode()) */ - __Pyx_TraceLine(162,0,__PYX_ERR(0, 162, __pyx_L1_error)) + __Pyx_TraceLine(169,0,__PYX_ERR(0, 169, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 162, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 162, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 169, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 162, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L3_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -5805,7 +6052,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L3_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_3; @@ -5823,38 +6070,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":163 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":170 * def write_text_to_gzip_file(fname, lines): * with gzip.open(fname, mode='wb') as f: * for line in lines: # <<<<<<<<<<<<<< * f.write('{}\n'.format(line).encode()) * */ - __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L7_error)) + __Pyx_TraceLine(170,0,__PYX_ERR(0, 170, __pyx_L7_error)) if (likely(PyList_CheckExact(__pyx_v_lines)) || PyTuple_CheckExact(__pyx_v_lines)) { __pyx_t_1 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { - __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 163, __pyx_L7_error) + __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 170, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 163, __pyx_L7_error) + __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 170, __pyx_L7_error) } for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 163, __pyx_L7_error) + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 170, __pyx_L7_error) #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L7_error) + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 170, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 163, __pyx_L7_error) + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 170, __pyx_L7_error) #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L7_error) + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 170, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_4); #endif } @@ -5864,7 +6111,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 163, __pyx_L7_error) + else __PYX_ERR(0, 170, __pyx_L7_error) } break; } @@ -5873,17 +6120,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":164 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":171 * with gzip.open(fname, mode='wb') as f: * for line in lines: * f.write('{}\n'.format(line).encode()) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(164,0,__PYX_ERR(0, 164, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 164, __pyx_L7_error) + __Pyx_TraceLine(171,0,__PYX_ERR(0, 171, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__24, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 164, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__23, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 171, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { @@ -5897,10 +6144,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text } __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_v_line) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_line); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 164, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 171, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_encode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 164, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_encode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 171, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; @@ -5915,7 +6162,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text } __pyx_t_2 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_12); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; @@ -5931,23 +6178,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_12, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 164, __pyx_L7_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":163 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":170 * def write_text_to_gzip_file(fname, lines): * with gzip.open(fname, mode='wb') as f: * for line in lines: # <<<<<<<<<<<<<< * f.write('{}\n'.format(line).encode()) * */ - __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L7_error)) + __Pyx_TraceLine(170,0,__PYX_ERR(0, 170, __pyx_L7_error)) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":162 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":169 * * def write_text_to_gzip_file(fname, lines): * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< @@ -5969,20 +6216,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.write_text_to_gzip_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) __PYX_ERR(0, 162, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) __PYX_ERR(0, 169, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L9_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 162, __pyx_L9_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 169, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 162, __pyx_L9_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 169, __pyx_L9_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); @@ -5990,7 +6237,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 162, __pyx_L9_except_error) + __PYX_ERR(0, 169, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; @@ -6014,9 +6261,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text /*finally:*/ { /*normal exit:*/{ if (__pyx_t_5) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 162, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -6031,7 +6278,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text __pyx_L18:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":161 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":168 * * * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< @@ -6061,7 +6308,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":167 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 * * * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< @@ -6110,23 +6357,23 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_ case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 1); __PYX_ERR(0, 167, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 1); __PYX_ERR(0, 174, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 2); __PYX_ERR(0, 167, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 2); __PYX_ERR(0, 174, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 3); __PYX_ERR(0, 167, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 3); __PYX_ERR(0, 174, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_close") < 0)) __PYX_ERR(0, 167, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_close") < 0)) __PYX_ERR(0, 174, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -6143,7 +6390,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 167, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 174, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6178,69 +6425,69 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__26) + __Pyx_TraceFrameInit(__pyx_codeobj__25) __Pyx_RefNannySetupContext("test_open_close", 0); - __Pyx_TraceCall("test_open_close", __pyx_f[0], 167, 0, __PYX_ERR(0, 167, __pyx_L1_error)); + __Pyx_TraceCall("test_open_close", __pyx_f[0], 174, 0, __PYX_ERR(0, 174, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":169 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":176 * def test_open_close(testfile, nelems, seed, drop): * * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) # <<<<<<<<<<<<<< * * assert not f.closed */ - __Pyx_TraceLine(169,0,__PYX_ERR(0, 169, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_TraceLine(176,0,__PYX_ERR(0, 176, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 169, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 169, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 176, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_f = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":171 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":178 * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) * * assert not f.closed # <<<<<<<<<<<<<< * * element = np.random.randint(0, nelems, 1) */ - __Pyx_TraceLine(171,0,__PYX_ERR(0, 171, __pyx_L1_error)) + __Pyx_TraceLine(178,0,__PYX_ERR(0, 178, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 171, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!((!__pyx_t_4) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 171, __pyx_L1_error) + __PYX_ERR(0, 178, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":173 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":180 * assert not f.closed * * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval = read_element(f, element) * */ - __Pyx_TraceLine(173,0,__PYX_ERR(0, 173, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error) + __Pyx_TraceLine(180,0,__PYX_ERR(0, 180, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -6258,7 +6505,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -6266,13 +6513,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 173, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -6286,7 +6533,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_int_1); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -6294,15 +6541,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ __pyx_v_element = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":181 * * element = np.random.randint(0, nelems, 1) * readval = read_element(f, element) # <<<<<<<<<<<<<< * * assert readval == element */ - __Pyx_TraceLine(174,0,__PYX_ERR(0, 174, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 174, __pyx_L1_error) + __Pyx_TraceLine(181,0,__PYX_ERR(0, 181, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; __pyx_t_5 = 0; @@ -6319,7 +6566,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_f, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -6327,13 +6574,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_f, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL; @@ -6344,7 +6591,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_5, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 174, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } @@ -6352,35 +6599,35 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ __pyx_v_readval = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":176 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":183 * readval = read_element(f, element) * * assert readval == element # <<<<<<<<<<<<<< * * f.close() */ - __Pyx_TraceLine(176,0,__PYX_ERR(0, 176, __pyx_L1_error)) + __Pyx_TraceLine(183,0,__PYX_ERR(0, 183, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 176, __pyx_L1_error) + __PYX_ERR(0, 183, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":178 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 * assert readval == element * * f.close() # <<<<<<<<<<<<<< * * assert f.closed */ - __Pyx_TraceLine(178,0,__PYX_ERR(0, 178, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error) + __Pyx_TraceLine(185,0,__PYX_ERR(0, 185, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -6394,44 +6641,44 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":180 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":187 * f.close() * * assert f.closed # <<<<<<<<<<<<<< * * with pytest.raises(IOError): */ - __Pyx_TraceLine(180,0,__PYX_ERR(0, 180, __pyx_L1_error)) + __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 180, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 180, __pyx_L1_error) + __PYX_ERR(0, 187, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":182 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":189 * assert f.closed * * with pytest.raises(IOError): # <<<<<<<<<<<<<< * f.close() * */ - __Pyx_TraceLine(182,0,__PYX_ERR(0, 182, __pyx_L1_error)) + __Pyx_TraceLine(189,0,__PYX_ERR(0, 189, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -6446,12 +6693,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_builtin_IOError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_IOError); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 182, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L3_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -6465,7 +6712,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 189, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -6480,15 +6727,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":183 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":190 * * with pytest.raises(IOError): * f.close() # <<<<<<<<<<<<<< * * def test_open_function(testfile, nelems): */ - __Pyx_TraceLine(183,0,__PYX_ERR(0, 183, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 183, __pyx_L7_error) + __Pyx_TraceLine(190,0,__PYX_ERR(0, 190, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 190, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -6502,12 +6749,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 190, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":182 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":189 * assert f.closed * * with pytest.raises(IOError): # <<<<<<<<<<<<<< @@ -6526,20 +6773,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 182, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 189, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 182, __pyx_L9_except_error) + __pyx_t_6 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 189, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 182, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 189, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_4 < 0) __PYX_ERR(0, 182, __pyx_L9_except_error) + if (__pyx_t_4 < 0) __PYX_ERR(0, 189, __pyx_L9_except_error) __pyx_t_12 = ((!(__pyx_t_4 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_3); @@ -6547,7 +6794,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 182, __pyx_L9_except_error) + __PYX_ERR(0, 189, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -6571,9 +6818,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ /*finally:*/ { /*normal exit:*/{ if (__pyx_t_7) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__25, NULL); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 182, __pyx_L1_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -6588,7 +6835,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ __pyx_L16:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":167 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 * * * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< @@ -6616,7 +6863,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_ return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 * f.close() * * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< @@ -6659,11 +6906,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_ case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_open_function", 1, 2, 2, 1); __PYX_ERR(0, 185, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_function", 1, 2, 2, 1); __PYX_ERR(0, 192, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_function") < 0)) __PYX_ERR(0, 185, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_function") < 0)) __PYX_ERR(0, 192, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6676,7 +6923,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_open_function", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 185, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_function", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 192, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_function", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6716,53 +6963,53 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__27) + __Pyx_TraceFrameInit(__pyx_codeobj__26) __Pyx_RefNannySetupContext("test_open_function", 0); - __Pyx_TraceCall("test_open_function", __pyx_f[0], 185, 0, __PYX_ERR(0, 185, __pyx_L1_error)); + __Pyx_TraceCall("test_open_function", __pyx_f[0], 192, 0, __PYX_ERR(0, 192, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":187 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":194 * def test_open_function(testfile, nelems): * * f1 = None # <<<<<<<<<<<<<< * f2 = None * */ - __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error)) + __Pyx_TraceLine(194,0,__PYX_ERR(0, 194, __pyx_L1_error)) __Pyx_INCREF(Py_None); __pyx_v_f1 = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":188 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":195 * * f1 = None * f2 = None # <<<<<<<<<<<<<< * * try: */ - __Pyx_TraceLine(188,0,__PYX_ERR(0, 188, __pyx_L1_error)) + __Pyx_TraceLine(195,0,__PYX_ERR(0, 195, __pyx_L1_error)) __Pyx_INCREF(Py_None); __pyx_v_f2 = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":190 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":197 * f2 = None * * try: # <<<<<<<<<<<<<< * * f1 = igzip.IndexedGzipFile(testfile) */ - __Pyx_TraceLine(190,0,__PYX_ERR(0, 190, __pyx_L1_error)) + __Pyx_TraceLine(197,0,__PYX_ERR(0, 197, __pyx_L1_error)) /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":199 * try: * * f1 = igzip.IndexedGzipFile(testfile) # <<<<<<<<<<<<<< * f2 = igzip.open( testfile) * */ - __Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 192, __pyx_L4_error) + __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 199, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 199, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -6777,23 +7024,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_testfile); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L4_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_f1, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":193 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":200 * * f1 = igzip.IndexedGzipFile(testfile) * f2 = igzip.open( testfile) # <<<<<<<<<<<<<< * * element = np.random.randint(0, nelems, 1) */ - __Pyx_TraceLine(193,0,__PYX_ERR(0, 193, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L4_error) + __Pyx_TraceLine(200,0,__PYX_ERR(0, 200, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 193, __pyx_L4_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 200, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -6808,26 +7055,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_testfile); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L4_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_f2, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":195 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":202 * f2 = igzip.open( testfile) * * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval1 = read_element(f1, element) * readval2 = read_element(f2, element) */ - __Pyx_TraceLine(195,0,__PYX_ERR(0, 195, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L4_error) + __Pyx_TraceLine(202,0,__PYX_ERR(0, 202, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L4_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -6845,7 +7092,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -6853,13 +7100,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L4_error) + __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -6873,7 +7120,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_int_1); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -6881,15 +7128,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ __pyx_v_element = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":196 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":203 * * element = np.random.randint(0, nelems, 1) * readval1 = read_element(f1, element) # <<<<<<<<<<<<<< * readval2 = read_element(f2, element) * */ - __Pyx_TraceLine(196,0,__PYX_ERR(0, 196, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 196, __pyx_L4_error) + __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; __pyx_t_4 = 0; @@ -6906,7 +7153,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f1, __pyx_v_element}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -6914,13 +7161,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f1, __pyx_v_element}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L4_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -6931,7 +7178,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_element); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -6939,15 +7186,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ __pyx_v_readval1 = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":197 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":204 * element = np.random.randint(0, nelems, 1) * readval1 = read_element(f1, element) * readval2 = read_element(f2, element) # <<<<<<<<<<<<<< * * assert readval1 == element */ - __Pyx_TraceLine(197,0,__PYX_ERR(0, 197, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L4_error) + __Pyx_TraceLine(204,0,__PYX_ERR(0, 204, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; @@ -6964,7 +7211,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f2, __pyx_v_element}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -6972,13 +7219,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f2, __pyx_v_element}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 197, __pyx_L4_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 204, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -6989,7 +7236,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_element); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -6997,61 +7244,61 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ __pyx_v_readval2 = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":199 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":206 * readval2 = read_element(f2, element) * * assert readval1 == element # <<<<<<<<<<<<<< * assert readval2 == element * */ - __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L4_error)) + __Pyx_TraceLine(206,0,__PYX_ERR(0, 206, __pyx_L4_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval1, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L4_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 199, __pyx_L4_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval1, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L4_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 206, __pyx_L4_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_6)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 199, __pyx_L4_error) + __PYX_ERR(0, 206, __pyx_L4_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":200 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 * * assert readval1 == element * assert readval2 == element # <<<<<<<<<<<<<< * * finally: */ - __Pyx_TraceLine(200,0,__PYX_ERR(0, 200, __pyx_L4_error)) + __Pyx_TraceLine(207,0,__PYX_ERR(0, 207, __pyx_L4_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval2, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L4_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 200, __pyx_L4_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval2, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L4_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 207, __pyx_L4_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_6)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 200, __pyx_L4_error) + __PYX_ERR(0, 207, __pyx_L4_error) } } #endif } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":203 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":210 * * finally: * if f1 is not None: f1.close() # <<<<<<<<<<<<<< * if f2 is not None: f2.close() * */ - __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L4_error)) + __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L4_error)) /*finally:*/ { /*normal exit:*/{ __pyx_t_6 = (__pyx_v_f1 != Py_None); __pyx_t_7 = (__pyx_t_6 != 0); if (__pyx_t_7) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -7065,24 +7312,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":204 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":211 * finally: * if f1 is not None: f1.close() * if f2 is not None: f2.close() # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(204,0,__PYX_ERR(0, 204, __pyx_L1_error)) + __Pyx_TraceLine(211,0,__PYX_ERR(0, 211, __pyx_L1_error)) __pyx_t_7 = (__pyx_v_f2 != Py_None); __pyx_t_6 = (__pyx_t_7 != 0); if (__pyx_t_6) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -7096,7 +7343,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -7123,18 +7370,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ __pyx_t_4 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":203 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":210 * * finally: * if f1 is not None: f1.close() # <<<<<<<<<<<<<< * if f2 is not None: f2.close() * */ - __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L9_error)) + __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L9_error)) __pyx_t_6 = (__pyx_v_f1 != Py_None); __pyx_t_7 = (__pyx_t_6 != 0); if (__pyx_t_7) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L9_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -7148,24 +7395,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L9_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":204 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":211 * finally: * if f1 is not None: f1.close() * if f2 is not None: f2.close() # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(204,0,__PYX_ERR(0, 204, __pyx_L9_error)) + __Pyx_TraceLine(211,0,__PYX_ERR(0, 211, __pyx_L9_error)) __pyx_t_7 = (__pyx_v_f2 != Py_None); __pyx_t_6 = (__pyx_t_7 != 0); if (__pyx_t_6) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L9_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -7179,7 +7426,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L9_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -7214,7 +7461,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ __pyx_L5:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 * f.close() * * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< @@ -7244,7 +7491,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_ return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 * * * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< @@ -7293,23 +7540,23 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 1); __PYX_ERR(0, 207, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 1); __PYX_ERR(0, 214, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 2); __PYX_ERR(0, 207, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 2); __PYX_ERR(0, 214, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 3); __PYX_ERR(0, 207, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 3); __PYX_ERR(0, 214, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_close_ctxmanager") < 0)) __PYX_ERR(0, 207, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_close_ctxmanager") < 0)) __PYX_ERR(0, 214, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -7326,7 +7573,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 207, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 214, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close_ctxmanager", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -7361,35 +7608,35 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__28) + __Pyx_TraceFrameInit(__pyx_codeobj__27) __Pyx_RefNannySetupContext("test_open_close_ctxmanager", 0); - __Pyx_TraceCall("test_open_close_ctxmanager", __pyx_f[0], 207, 0, __PYX_ERR(0, 207, __pyx_L1_error)); + __Pyx_TraceCall("test_open_close_ctxmanager", __pyx_f[0], 214, 0, __PYX_ERR(0, 214, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":209 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":216 * def test_open_close_ctxmanager(testfile, nelems, seed, drop): * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< * * element = np.random.randint(0, nelems, 1) */ - __Pyx_TraceLine(209,0,__PYX_ERR(0, 209, __pyx_L1_error)) + __Pyx_TraceLine(216,0,__PYX_ERR(0, 216, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 209, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 209, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 209, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 209, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 216, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 216, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 209, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 209, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -7403,7 +7650,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L3_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -7421,20 +7668,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":211 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: * * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval = read_element(f, element) * */ - __Pyx_TraceLine(211,0,__PYX_ERR(0, 211, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L7_error) + __Pyx_TraceLine(218,0,__PYX_ERR(0, 218, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -7452,7 +7699,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -7460,13 +7707,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -7480,7 +7727,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_int_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -7488,15 +7735,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open __pyx_v_element = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":212 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":219 * * element = np.random.randint(0, nelems, 1) * readval = read_element(f, element) # <<<<<<<<<<<<<< * * assert readval == element */ - __Pyx_TraceLine(212,0,__PYX_ERR(0, 212, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L7_error) + __Pyx_TraceLine(219,0,__PYX_ERR(0, 219, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -7513,7 +7760,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -7521,13 +7768,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -7538,7 +7785,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_element); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -7546,7 +7793,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open __pyx_v_readval = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":209 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":216 * def test_open_close_ctxmanager(testfile, nelems, seed, drop): * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -7565,20 +7812,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close_ctxmanager", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 209, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 216, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L9_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 209, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 216, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 209, __pyx_L9_except_error) + if (__pyx_t_11 < 0) __PYX_ERR(0, 216, __pyx_L9_except_error) __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_2); @@ -7586,7 +7833,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 209, __pyx_L9_except_error) + __PYX_ERR(0, 216, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -7610,9 +7857,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 209, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -7627,51 +7874,51 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open __pyx_L16:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":221 * readval = read_element(f, element) * * assert readval == element # <<<<<<<<<<<<<< * assert f.closed * */ - __Pyx_TraceLine(214,0,__PYX_ERR(0, 214, __pyx_L1_error)) + __Pyx_TraceLine(221,0,__PYX_ERR(0, 221, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_readval)) { __Pyx_RaiseUnboundLocalError("readval"); __PYX_ERR(0, 214, __pyx_L1_error) } - if (unlikely(!__pyx_v_element)) { __Pyx_RaiseUnboundLocalError("element"); __PYX_ERR(0, 214, __pyx_L1_error) } - __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L1_error) - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 214, __pyx_L1_error) + if (unlikely(!__pyx_v_readval)) { __Pyx_RaiseUnboundLocalError("readval"); __PYX_ERR(0, 221, __pyx_L1_error) } + if (unlikely(!__pyx_v_element)) { __Pyx_RaiseUnboundLocalError("element"); __PYX_ERR(0, 221, __pyx_L1_error) } + __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 221, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_12)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 214, __pyx_L1_error) + __PYX_ERR(0, 221, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":215 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":222 * * assert readval == element * assert f.closed # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(215,0,__PYX_ERR(0, 215, __pyx_L1_error)) + __Pyx_TraceLine(222,0,__PYX_ERR(0, 222, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 215, __pyx_L1_error) } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 222, __pyx_L1_error) } + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 215, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 222, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_12)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 215, __pyx_L1_error) + __PYX_ERR(0, 222, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 * * * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< @@ -7699,7 +7946,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 * * * def test_open_mode(): # <<<<<<<<<<<<<< @@ -7755,51 +8002,51 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__29) + __Pyx_TraceFrameInit(__pyx_codeobj__28) __Pyx_RefNannySetupContext("test_open_mode", 0); - __Pyx_TraceCall("test_open_mode", __pyx_f[0], 218, 0, __PYX_ERR(0, 218, __pyx_L1_error)); + __Pyx_TraceCall("test_open_mode", __pyx_f[0], 225, 0, __PYX_ERR(0, 225, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":220 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":227 * def test_open_mode(): * * modes = [('r', True), # <<<<<<<<<<<<<< * ('rb', True), * (None, True), */ - __Pyx_TraceLine(220,0,__PYX_ERR(0, 220, __pyx_L1_error)) - __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L1_error) + __Pyx_TraceLine(227,0,__PYX_ERR(0, 227, __pyx_L1_error)) + __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_tuple__29); + __Pyx_GIVEREF(__pyx_tuple__29); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_tuple__29); __Pyx_INCREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_tuple__30); + PyList_SET_ITEM(__pyx_t_1, 1, __pyx_tuple__30); __Pyx_INCREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_tuple__31); + PyList_SET_ITEM(__pyx_t_1, 2, __pyx_tuple__31); __Pyx_INCREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_tuple__32); + PyList_SET_ITEM(__pyx_t_1, 3, __pyx_tuple__32); __Pyx_INCREF(__pyx_tuple__33); __Pyx_GIVEREF(__pyx_tuple__33); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_tuple__33); + PyList_SET_ITEM(__pyx_t_1, 4, __pyx_tuple__33); __Pyx_INCREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_tuple__34); - __Pyx_INCREF(__pyx_tuple__35); - __Pyx_GIVEREF(__pyx_tuple__35); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_tuple__35); + PyList_SET_ITEM(__pyx_t_1, 5, __pyx_tuple__34); __pyx_v_modes = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":228 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":235 * * # open from file * with tempdir(): # <<<<<<<<<<<<<< * with gzip.open('f.gz', 'wb') as f: * f.write(b'12345') */ - __Pyx_TraceLine(228,0,__PYX_ERR(0, 228, __pyx_L1_error)) + __Pyx_TraceLine(235,0,__PYX_ERR(0, 235, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -7813,12 +8060,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -7832,7 +8079,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -7847,26 +8094,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":229 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 * # open from file * with tempdir(): * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< * f.write(b'12345') * for mode, expect in modes: */ - __Pyx_TraceLine(229,0,__PYX_ERR(0, 229, __pyx_L7_error)) + __Pyx_TraceLine(236,0,__PYX_ERR(0, 236, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 229, __pyx_L7_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 236, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L13_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -7880,7 +8127,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L13_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -7898,15 +8145,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __pyx_v_f = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":230 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":237 * with tempdir(): * with gzip.open('f.gz', 'wb') as f: * f.write(b'12345') # <<<<<<<<<<<<<< * for mode, expect in modes: * if expect: */ - __Pyx_TraceLine(230,0,__PYX_ERR(0, 230, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L17_error) + __Pyx_TraceLine(237,0,__PYX_ERR(0, 237, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -7920,12 +8167,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_kp_b_12345) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_b_12345); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 230, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":229 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 * # open from file * with tempdir(): * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< @@ -7944,20 +8191,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 229, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 236, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 229, __pyx_L19_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 229, __pyx_L19_except_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 236, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14 < 0) __PYX_ERR(0, 229, __pyx_L19_except_error) + if (__pyx_t_14 < 0) __PYX_ERR(0, 236, __pyx_L19_except_error) __pyx_t_15 = ((!(__pyx_t_14 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_3); @@ -7965,7 +8212,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 229, __pyx_L19_except_error) + __PYX_ERR(0, 236, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -7989,9 +8236,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 229, __pyx_L7_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 236, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -8006,21 +8253,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":231 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":238 * with gzip.open('f.gz', 'wb') as f: * f.write(b'12345') * for mode, expect in modes: # <<<<<<<<<<<<<< * if expect: * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) */ - __Pyx_TraceLine(231,0,__PYX_ERR(0, 231, __pyx_L7_error)) + __Pyx_TraceLine(238,0,__PYX_ERR(0, 238, __pyx_L7_error)) __pyx_t_2 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; for (;;) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 231, __pyx_L7_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 238, __pyx_L7_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L7_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); #endif if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { @@ -8029,7 +8276,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 231, __pyx_L7_error) + __PYX_ERR(0, 238, __pyx_L7_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -8042,15 +8289,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 231, __pyx_L7_error) + __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 238, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 231, __pyx_L7_error) + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; - __pyx_t_17 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 231, __pyx_L7_error) + __pyx_t_17 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 238, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_18 = Py_TYPE(__pyx_t_17)->tp_iternext; @@ -8058,7 +8305,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_5 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_5)) goto __pyx_L29_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_17), 2) < 0) __PYX_ERR(0, 231, __pyx_L7_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_17), 2) < 0) __PYX_ERR(0, 238, __pyx_L7_error) __pyx_t_18 = NULL; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; goto __pyx_L30_unpacking_done; @@ -8066,7 +8313,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_18 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 231, __pyx_L7_error) + __PYX_ERR(0, 238, __pyx_L7_error) __pyx_L30_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_mode, __pyx_t_3); @@ -8074,51 +8321,51 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XDECREF_SET(__pyx_v_expect, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":232 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":239 * f.write(b'12345') * for mode, expect in modes: * if expect: # <<<<<<<<<<<<<< * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) * assert gzf.read() == b'12345' */ - __Pyx_TraceLine(232,0,__PYX_ERR(0, 232, __pyx_L7_error)) - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_expect); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 232, __pyx_L7_error) + __Pyx_TraceLine(239,0,__PYX_ERR(0, 239, __pyx_L7_error)) + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_expect); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 239, __pyx_L7_error) if (__pyx_t_15) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":233 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":240 * for mode, expect in modes: * if expect: * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< * assert gzf.read() == b'12345' * else: */ - __Pyx_TraceLine(233,0,__PYX_ERR(0, 233, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L7_error) + __Pyx_TraceLine(240,0,__PYX_ERR(0, 240, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 233, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 233, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__37, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 240, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__36, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":234 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":241 * if expect: * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) * assert gzf.read() == b'12345' # <<<<<<<<<<<<<< * else: * with pytest.raises(ValueError): */ - __Pyx_TraceLine(234,0,__PYX_ERR(0, 234, __pyx_L7_error)) + __Pyx_TraceLine(241,0,__PYX_ERR(0, 241, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -8132,19 +8379,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_12345, Py_EQ)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 234, __pyx_L7_error) + __pyx_t_15 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_12345, Py_EQ)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 241, __pyx_L7_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_15)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 234, __pyx_L7_error) + __PYX_ERR(0, 241, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":232 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":239 * f.write(b'12345') * for mode, expect in modes: * if expect: # <<<<<<<<<<<<<< @@ -8154,19 +8401,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open goto __pyx_L31; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":243 * assert gzf.read() == b'12345' * else: * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * igzip.IndexedGzipFile('f.gz', mode=mode) * */ - __Pyx_TraceLine(236,0,__PYX_ERR(0, 236, __pyx_L7_error)) + __Pyx_TraceLine(243,0,__PYX_ERR(0, 243, __pyx_L7_error)) /*else*/ { /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 243, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -8181,12 +8428,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 236, __pyx_L7_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 243, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L32_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -8200,7 +8447,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_5 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L32_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 243, __pyx_L32_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -8215,29 +8462,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XGOTREF(__pyx_t_10); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":237 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":244 * else: * with pytest.raises(ValueError): * igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< * * # open from fileobj */ - __Pyx_TraceLine(237,0,__PYX_ERR(0, 237, __pyx_L38_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L38_error) + __Pyx_TraceLine(244,0,__PYX_ERR(0, 244, __pyx_L38_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L38_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 244, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L38_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 237, __pyx_L38_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__37, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L38_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 244, __pyx_L38_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__36, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 244, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":243 * assert gzf.read() == b'12345' * else: * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -8256,20 +8503,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 236, __pyx_L40_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 243, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 236, __pyx_L40_except_error) + __pyx_t_17 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 243, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_17, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 236, __pyx_L40_except_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 243, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 236, __pyx_L40_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 243, __pyx_L40_except_error) __pyx_t_14 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_1); @@ -8277,7 +8524,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 236, __pyx_L40_except_error) + __PYX_ERR(0, 243, __pyx_L40_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -8301,9 +8548,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 236, __pyx_L7_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 243, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -8320,18 +8567,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_L31:; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":231 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":238 * with gzip.open('f.gz', 'wb') as f: * f.write(b'12345') * for mode, expect in modes: # <<<<<<<<<<<<<< * if expect: * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) */ - __Pyx_TraceLine(231,0,__PYX_ERR(0, 231, __pyx_L7_error)) + __Pyx_TraceLine(238,0,__PYX_ERR(0, 238, __pyx_L7_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":228 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":235 * * # open from file * with tempdir(): # <<<<<<<<<<<<<< @@ -8351,20 +8598,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 228, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 235, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 228, __pyx_L9_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 235, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_14 < 0) __PYX_ERR(0, 228, __pyx_L9_except_error) + if (__pyx_t_14 < 0) __PYX_ERR(0, 235, __pyx_L9_except_error) __pyx_t_15 = ((!(__pyx_t_14 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_2); @@ -8372,7 +8619,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 228, __pyx_L9_except_error) + __PYX_ERR(0, 235, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -8396,9 +8643,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 228, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -8413,26 +8660,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __pyx_L53:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":240 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":247 * * # open from fileobj * class BytesIOWithMode(BytesIO): # <<<<<<<<<<<<<< * pass * */ - __Pyx_TraceLine(240,0,__PYX_ERR(0, 240, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_TraceLine(247,0,__PYX_ERR(0, 247, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_5, __pyx_n_s_BytesIOWithMode, __pyx_n_s_test_open_mode_locals_BytesIOWit, (PyObject *) NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_5, __pyx_n_s_BytesIOWithMode, __pyx_n_s_test_open_mode_locals_BytesIOWit, (PyObject *) NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_BytesIOWithMode, __pyx_t_5, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error) + __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_BytesIOWithMode, __pyx_t_5, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_BytesIOWithMode = __pyx_t_1; __pyx_t_1 = 0; @@ -8440,31 +8687,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":244 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":251 * * # accept file-like without mode attribute * modes.append(('del', True)) # <<<<<<<<<<<<<< * * for mode, expect in modes: */ - __Pyx_TraceLine(244,0,__PYX_ERR(0, 244, __pyx_L1_error)) - __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_modes, __pyx_tuple__38); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 244, __pyx_L1_error) + __Pyx_TraceLine(251,0,__PYX_ERR(0, 251, __pyx_L1_error)) + __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_modes, __pyx_tuple__37); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 251, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":246 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":253 * modes.append(('del', True)) * * for mode, expect in modes: # <<<<<<<<<<<<<< * * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): */ - __Pyx_TraceLine(246,0,__PYX_ERR(0, 246, __pyx_L1_error)) + __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) __pyx_t_5 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_5); __pyx_t_16 = 0; for (;;) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 246, __pyx_L1_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 253, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { @@ -8473,7 +8720,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 246, __pyx_L1_error) + __PYX_ERR(0, 253, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -8486,15 +8733,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); #else - __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_17 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 246, __pyx_L1_error) + __pyx_t_17 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_18 = Py_TYPE(__pyx_t_17)->tp_iternext; @@ -8502,7 +8749,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_1 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_1)) goto __pyx_L56_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_17), 2) < 0) __PYX_ERR(0, 246, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_17), 2) < 0) __PYX_ERR(0, 253, __pyx_L1_error) __pyx_t_18 = NULL; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; goto __pyx_L57_unpacking_done; @@ -8510,7 +8757,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_18 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 246, __pyx_L1_error) + __PYX_ERR(0, 253, __pyx_L1_error) __pyx_L57_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_mode, __pyx_t_2); @@ -8518,37 +8765,37 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XDECREF_SET(__pyx_v_expect, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":248 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":255 * for mode, expect in modes: * * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): # <<<<<<<<<<<<<< * delattr(BytesIOWithMode, 'mode') * else: */ - __Pyx_TraceLine(248,0,__PYX_ERR(0, 248, __pyx_L1_error)) - __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_v_mode, __pyx_n_s_del, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 248, __pyx_L1_error) + __Pyx_TraceLine(255,0,__PYX_ERR(0, 255, __pyx_L1_error)) + __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_v_mode, __pyx_n_s_del, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 255, __pyx_L1_error) if (__pyx_t_14) { } else { __pyx_t_15 = __pyx_t_14; goto __pyx_L59_bool_binop_done; } - __pyx_t_14 = __Pyx_HasAttr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 248, __pyx_L1_error) + __pyx_t_14 = __Pyx_HasAttr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 255, __pyx_L1_error) __pyx_t_20 = (__pyx_t_14 != 0); __pyx_t_15 = __pyx_t_20; __pyx_L59_bool_binop_done:; if (__pyx_t_15) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":249 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":256 * * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): * delattr(BytesIOWithMode, 'mode') # <<<<<<<<<<<<<< * else: * BytesIOWithMode.mode = mode */ - __Pyx_TraceLine(249,0,__PYX_ERR(0, 249, __pyx_L1_error)) - __pyx_t_19 = PyObject_DelAttr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 249, __pyx_L1_error) + __Pyx_TraceLine(256,0,__PYX_ERR(0, 256, __pyx_L1_error)) + __pyx_t_19 = PyObject_DelAttr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 256, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":248 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":255 * for mode, expect in modes: * * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): # <<<<<<<<<<<<<< @@ -8558,57 +8805,57 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open goto __pyx_L58; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":251 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":258 * delattr(BytesIOWithMode, 'mode') * else: * BytesIOWithMode.mode = mode # <<<<<<<<<<<<<< * * fileobj = BytesIOWithMode() */ - __Pyx_TraceLine(251,0,__PYX_ERR(0, 251, __pyx_L1_error)) + __Pyx_TraceLine(258,0,__PYX_ERR(0, 258, __pyx_L1_error)) /*else*/ { - if (__Pyx_PyObject_SetAttrStr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 251, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 258, __pyx_L1_error) } __pyx_L58:; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":253 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":260 * BytesIOWithMode.mode = mode * * fileobj = BytesIOWithMode() # <<<<<<<<<<<<<< * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: * f.write(b'12345') */ - __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_v_BytesIOWithMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L1_error) + __Pyx_TraceLine(260,0,__PYX_ERR(0, 260, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_v_BytesIOWithMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_fileobj, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":254 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":261 * * fileobj = BytesIOWithMode() * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< * f.write(b'12345') * */ - __Pyx_TraceLine(254,0,__PYX_ERR(0, 254, __pyx_L1_error)) + __Pyx_TraceLine(261,0,__PYX_ERR(0, 261, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 254, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 254, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 261, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 261, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L61_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L61_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -8622,7 +8869,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_3 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L61_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __pyx_L61_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_3; @@ -8640,15 +8887,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":255 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":262 * fileobj = BytesIOWithMode() * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: * f.write(b'12345') # <<<<<<<<<<<<<< * * print(mode, expect) */ - __Pyx_TraceLine(255,0,__PYX_ERR(0, 255, __pyx_L67_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L67_error) + __Pyx_TraceLine(262,0,__PYX_ERR(0, 262, __pyx_L67_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L67_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -8662,12 +8909,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b_12345) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b_12345); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L67_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L67_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":254 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":261 * * fileobj = BytesIOWithMode() * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< @@ -8686,20 +8933,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 254, __pyx_L69_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 261, __pyx_L69_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 254, __pyx_L69_except_error) + __pyx_t_17 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 261, __pyx_L69_except_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_17, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 254, __pyx_L69_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 261, __pyx_L69_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 254, __pyx_L69_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 261, __pyx_L69_except_error) __pyx_t_20 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_20) { __Pyx_GIVEREF(__pyx_t_1); @@ -8707,7 +8954,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 254, __pyx_L69_except_error) + __PYX_ERR(0, 261, __pyx_L69_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -8731,9 +8978,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -8748,15 +8995,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __pyx_L78:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":257 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":264 * f.write(b'12345') * * print(mode, expect) # <<<<<<<<<<<<<< * * if expect: */ - __Pyx_TraceLine(257,0,__PYX_ERR(0, 257, __pyx_L1_error)) - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error) + __Pyx_TraceLine(264,0,__PYX_ERR(0, 264, __pyx_L1_error)) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_mode); __Pyx_GIVEREF(__pyx_v_mode); @@ -8764,45 +9011,45 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_INCREF(__pyx_v_expect); __Pyx_GIVEREF(__pyx_v_expect); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_expect); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":259 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 * print(mode, expect) * * if expect: # <<<<<<<<<<<<<< * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' * else: */ - __Pyx_TraceLine(259,0,__PYX_ERR(0, 259, __pyx_L1_error)) - __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_expect); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 259, __pyx_L1_error) + __Pyx_TraceLine(266,0,__PYX_ERR(0, 266, __pyx_L1_error)) + __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_expect); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 266, __pyx_L1_error) if (__pyx_t_20) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":260 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":267 * * if expect: * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' # <<<<<<<<<<<<<< * else: * with pytest.raises(ValueError): */ - __Pyx_TraceLine(260,0,__PYX_ERR(0, 260, __pyx_L1_error)) + __Pyx_TraceLine(267,0,__PYX_ERR(0, 267, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 260, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 260, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 260, __pyx_L1_error) - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 260, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 267, __pyx_L1_error) + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 260, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = NULL; @@ -8817,19 +9064,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_2 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 260, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_20 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b_12345, Py_EQ)); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 260, __pyx_L1_error) + __pyx_t_20 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b_12345, Py_EQ)); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_20)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 260, __pyx_L1_error) + __PYX_ERR(0, 267, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":259 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 * print(mode, expect) * * if expect: # <<<<<<<<<<<<<< @@ -8839,19 +9086,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open goto __pyx_L79; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":262 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":269 * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' * else: * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * igzip.IndexedGzipFile(fileobj=fileobj).read() * */ - __Pyx_TraceLine(262,0,__PYX_ERR(0, 262, __pyx_L1_error)) + __Pyx_TraceLine(269,0,__PYX_ERR(0, 269, __pyx_L1_error)) /*else*/ { /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 262, __pyx_L1_error) + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -8866,12 +9113,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 262, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L80_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -8885,7 +9132,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_17 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 262, __pyx_L80_error) + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 269, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; @@ -8900,27 +9147,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":263 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":270 * else: * with pytest.raises(ValueError): * igzip.IndexedGzipFile(fileobj=fileobj).read() # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(263,0,__PYX_ERR(0, 263, __pyx_L86_error)) - __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_igzip); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 263, __pyx_L86_error) + __Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L86_error)) + __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_igzip); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 270, __pyx_L86_error) __Pyx_GOTREF(__pyx_t_17); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L86_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 270, __pyx_L86_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 263, __pyx_L86_error) + __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 270, __pyx_L86_error) __Pyx_GOTREF(__pyx_t_17); - if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 263, __pyx_L86_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L86_error) + if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 270, __pyx_L86_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L86_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_read); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 263, __pyx_L86_error) + __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_read); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 270, __pyx_L86_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -8935,12 +9182,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_17); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L86_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 270, __pyx_L86_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":262 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":269 * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' * else: * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -8959,20 +9206,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_17, &__pyx_t_1) < 0) __PYX_ERR(0, 262, __pyx_L88_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_17, &__pyx_t_1) < 0) __PYX_ERR(0, 269, __pyx_L88_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_17); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_17, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L88_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_17, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L88_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 262, __pyx_L88_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L88_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_20 < 0) __PYX_ERR(0, 262, __pyx_L88_except_error) + if (__pyx_t_20 < 0) __PYX_ERR(0, 269, __pyx_L88_except_error) __pyx_t_15 = ((!(__pyx_t_20 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_2); @@ -8980,7 +9227,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_17, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_17 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 262, __pyx_L88_except_error) + __PYX_ERR(0, 269, __pyx_L88_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; @@ -9004,9 +9251,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 262, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -9023,18 +9270,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open } __pyx_L79:; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":246 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":253 * modes.append(('del', True)) * * for mode, expect in modes: # <<<<<<<<<<<<<< * * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): */ - __Pyx_TraceLine(246,0,__PYX_ERR(0, 246, __pyx_L1_error)) + __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 * * * def test_open_mode(): # <<<<<<<<<<<<<< @@ -9067,7 +9314,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 * * * def test_atts(testfile, drop): # <<<<<<<<<<<<<< @@ -9110,11 +9357,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_atts", 1, 2, 2, 1); __PYX_ERR(0, 266, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_atts", 1, 2, 2, 1); __PYX_ERR(0, 273, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_atts") < 0)) __PYX_ERR(0, 266, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_atts") < 0)) __PYX_ERR(0, 273, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9127,7 +9374,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_atts", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 266, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_atts", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 273, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -9168,19 +9415,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__39) + __Pyx_TraceFrameInit(__pyx_codeobj__38) __Pyx_RefNannySetupContext("test_atts", 0); - __Pyx_TraceCall("test_atts", __pyx_f[0], 266, 0, __PYX_ERR(0, 266, __pyx_L1_error)); + __Pyx_TraceCall("test_atts", __pyx_f[0], 273, 0, __PYX_ERR(0, 273, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":268 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":275 * def test_atts(testfile, drop): * * modes = [None, 'rb', 'r'] # <<<<<<<<<<<<<< * * for m in modes: */ - __Pyx_TraceLine(268,0,__PYX_ERR(0, 268, __pyx_L1_error)) - __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) + __Pyx_TraceLine(275,0,__PYX_ERR(0, 275, __pyx_L1_error)) + __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); @@ -9194,79 +9441,79 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __pyx_v_modes = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":270 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":277 * modes = [None, 'rb', 'r'] * * for m in modes: # <<<<<<<<<<<<<< * with igzip._IndexedGzipFile(filename=testfile, * mode=m, */ - __Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L1_error)) + __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L1_error)) __pyx_t_1 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 270, __pyx_L1_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 277, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 270, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":271 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":278 * * for m in modes: * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode=m, * drop_handles=drop) as f: */ - __Pyx_TraceLine(271,0,__PYX_ERR(0, 271, __pyx_L1_error)) + __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 271, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 278, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":272 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":279 * for m in modes: * with igzip._IndexedGzipFile(filename=testfile, * mode=m, # <<<<<<<<<<<<<< * drop_handles=drop) as f: * assert not f.closed */ - __Pyx_TraceLine(272,0,__PYX_ERR(0, 272, __pyx_L1_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_v_m) < 0) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_TraceLine(279,0,__PYX_ERR(0, 279, __pyx_L1_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_v_m) < 0) __PYX_ERR(0, 278, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":280 * with igzip._IndexedGzipFile(filename=testfile, * mode=m, * drop_handles=drop) as f: # <<<<<<<<<<<<<< * assert not f.closed * assert f.readable() */ - __Pyx_TraceLine(273,0,__PYX_ERR(0, 273, __pyx_L1_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_TraceLine(280,0,__PYX_ERR(0, 280, __pyx_L1_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 278, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":271 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":278 * * for m in modes: * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode=m, * drop_handles=drop) as f: */ - __Pyx_TraceLine(271,0,__PYX_ERR(0, 271, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 271, __pyx_L1_error) + __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 271, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 271, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -9280,7 +9527,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L5_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 278, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __pyx_t_3; @@ -9298,38 +9545,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":274 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":281 * mode=m, * drop_handles=drop) as f: * assert not f.closed # <<<<<<<<<<<<<< * assert f.readable() * assert f.seekable() */ - __Pyx_TraceLine(274,0,__PYX_ERR(0, 274, __pyx_L11_error)) + __Pyx_TraceLine(281,0,__PYX_ERR(0, 281, __pyx_L11_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 274, __pyx_L11_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 281, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 274, __pyx_L11_error) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 281, __pyx_L11_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!((!__pyx_t_11) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 274, __pyx_L11_error) + __PYX_ERR(0, 281, __pyx_L11_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":275 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":282 * drop_handles=drop) as f: * assert not f.closed * assert f.readable() # <<<<<<<<<<<<<< * assert f.seekable() * assert not f.writable() */ - __Pyx_TraceLine(275,0,__PYX_ERR(0, 275, __pyx_L11_error)) + __Pyx_TraceLine(282,0,__PYX_ERR(0, 282, __pyx_L11_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 275, __pyx_L11_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 282, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -9343,29 +9590,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 275, __pyx_L11_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 282, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 275, __pyx_L11_error) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 282, __pyx_L11_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_11)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 275, __pyx_L11_error) + __PYX_ERR(0, 282, __pyx_L11_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":276 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":283 * assert not f.closed * assert f.readable() * assert f.seekable() # <<<<<<<<<<<<<< * assert not f.writable() * assert f.mode == 'rb' */ - __Pyx_TraceLine(276,0,__PYX_ERR(0, 276, __pyx_L11_error)) + __Pyx_TraceLine(283,0,__PYX_ERR(0, 283, __pyx_L11_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seekable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 276, __pyx_L11_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seekable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -9379,29 +9626,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 276, __pyx_L11_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 283, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 276, __pyx_L11_error) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 283, __pyx_L11_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_11)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 276, __pyx_L11_error) + __PYX_ERR(0, 283, __pyx_L11_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":277 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":284 * assert f.readable() * assert f.seekable() * assert not f.writable() # <<<<<<<<<<<<<< * assert f.mode == 'rb' * assert f.tell() == 0 */ - __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L11_error)) + __Pyx_TraceLine(284,0,__PYX_ERR(0, 284, __pyx_L11_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_writable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L11_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_writable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 284, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -9415,50 +9662,50 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L11_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 284, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 277, __pyx_L11_error) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 284, __pyx_L11_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!((!__pyx_t_11) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 277, __pyx_L11_error) + __PYX_ERR(0, 284, __pyx_L11_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":278 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":285 * assert f.seekable() * assert not f.writable() * assert f.mode == 'rb' # <<<<<<<<<<<<<< * assert f.tell() == 0 * */ - __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L11_error)) + __Pyx_TraceLine(285,0,__PYX_ERR(0, 285, __pyx_L11_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_mode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L11_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_mode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 278, __pyx_L11_error) + __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 285, __pyx_L11_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_11)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 278, __pyx_L11_error) + __PYX_ERR(0, 285, __pyx_L11_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":279 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":286 * assert not f.writable() * assert f.mode == 'rb' * assert f.tell() == 0 # <<<<<<<<<<<<<< * * if not drop: */ - __Pyx_TraceLine(279,0,__PYX_ERR(0, 279, __pyx_L11_error)) + __Pyx_TraceLine(286,0,__PYX_ERR(0, 286, __pyx_L11_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 279, __pyx_L11_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 286, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -9472,44 +9719,44 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L11_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 279, __pyx_L11_error) + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 286, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 279, __pyx_L11_error) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 286, __pyx_L11_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_11)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 279, __pyx_L11_error) + __PYX_ERR(0, 286, __pyx_L11_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":281 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":288 * assert f.tell() == 0 * * if not drop: # <<<<<<<<<<<<<< * assert f.fileobj() is not None * assert f.fileno() == f.fileobj().fileno() */ - __Pyx_TraceLine(281,0,__PYX_ERR(0, 281, __pyx_L11_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_drop); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 281, __pyx_L11_error) + __Pyx_TraceLine(288,0,__PYX_ERR(0, 288, __pyx_L11_error)) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_drop); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 288, __pyx_L11_error) __pyx_t_12 = ((!__pyx_t_11) != 0); if (__pyx_t_12) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":282 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":289 * * if not drop: * assert f.fileobj() is not None # <<<<<<<<<<<<<< * assert f.fileno() == f.fileobj().fileno() * else: */ - __Pyx_TraceLine(282,0,__PYX_ERR(0, 282, __pyx_L11_error)) + __Pyx_TraceLine(289,0,__PYX_ERR(0, 289, __pyx_L11_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 282, __pyx_L11_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 289, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -9523,29 +9770,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 282, __pyx_L11_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 289, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_12 = (__pyx_t_5 != Py_None); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!(__pyx_t_12 != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 282, __pyx_L11_error) + __PYX_ERR(0, 289, __pyx_L11_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":283 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":290 * if not drop: * assert f.fileobj() is not None * assert f.fileno() == f.fileobj().fileno() # <<<<<<<<<<<<<< * else: * with pytest.raises(igzip.NoHandleError): */ - __Pyx_TraceLine(283,0,__PYX_ERR(0, 283, __pyx_L11_error)) + __Pyx_TraceLine(290,0,__PYX_ERR(0, 290, __pyx_L11_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 283, __pyx_L11_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 290, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -9559,10 +9806,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L11_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 290, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 283, __pyx_L11_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { @@ -9576,10 +9823,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_7); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 283, __pyx_L11_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 290, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_fileno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 283, __pyx_L11_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_fileno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -9594,22 +9841,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_7); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 283, __pyx_L11_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 290, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 283, __pyx_L11_error) + __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L11_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 283, __pyx_L11_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 290, __pyx_L11_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_12)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 283, __pyx_L11_error) + __PYX_ERR(0, 290, __pyx_L11_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":281 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":288 * assert f.tell() == 0 * * if not drop: # <<<<<<<<<<<<<< @@ -9619,24 +9866,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts goto __pyx_L19; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":285 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":292 * assert f.fileno() == f.fileobj().fileno() * else: * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< * f.fileobj() * with pytest.raises(igzip.NoHandleError): */ - __Pyx_TraceLine(285,0,__PYX_ERR(0, 285, __pyx_L11_error)) + __Pyx_TraceLine(292,0,__PYX_ERR(0, 292, __pyx_L11_error)) /*else*/ { /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pytest); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pytest); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 285, __pyx_L11_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 292, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_igzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L11_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_igzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L11_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -9652,12 +9899,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __pyx_t_7 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 285, __pyx_L11_error) + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 292, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_7, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 285, __pyx_L11_error) + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_7, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 292, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_7, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L20_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_7, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L20_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -9671,7 +9918,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 285, __pyx_L20_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 292, __pyx_L20_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -9686,15 +9933,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XGOTREF(__pyx_t_17); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":286 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":293 * else: * with pytest.raises(igzip.NoHandleError): * f.fileobj() # <<<<<<<<<<<<<< * with pytest.raises(igzip.NoHandleError): * f.fileno() */ - __Pyx_TraceLine(286,0,__PYX_ERR(0, 286, __pyx_L26_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 286, __pyx_L26_error) + __Pyx_TraceLine(293,0,__PYX_ERR(0, 293, __pyx_L26_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 293, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -9708,12 +9955,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 286, __pyx_L26_error) + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 293, __pyx_L26_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":285 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":292 * assert f.fileno() == f.fileobj().fileno() * else: * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< @@ -9733,20 +9980,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 285, __pyx_L28_except_error) + if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 292, __pyx_L28_except_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_Pack(3, __pyx_t_7, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L28_except_error) + __pyx_t_4 = PyTuple_Pack(3, __pyx_t_7, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L28_except_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_4, NULL); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 285, __pyx_L28_except_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 292, __pyx_L28_except_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_18); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__pyx_t_12 < 0) __PYX_ERR(0, 285, __pyx_L28_except_error) + if (__pyx_t_12 < 0) __PYX_ERR(0, 292, __pyx_L28_except_error) __pyx_t_11 = ((!(__pyx_t_12 != 0)) != 0); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_7); @@ -9754,7 +10001,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_5, __pyx_t_3); __pyx_t_7 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 285, __pyx_L28_except_error) + __PYX_ERR(0, 292, __pyx_L28_except_error) } __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -9778,9 +10025,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts /*finally:*/ { /*normal exit:*/{ if (__pyx_t_14) { - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__25, NULL); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 285, __pyx_L11_error) + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 292, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } @@ -9795,23 +10042,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __pyx_L37:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":287 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":294 * with pytest.raises(igzip.NoHandleError): * f.fileobj() * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< * f.fileno() * */ - __Pyx_TraceLine(287,0,__PYX_ERR(0, 287, __pyx_L11_error)) + __Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L11_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 287, __pyx_L11_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 294, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 287, __pyx_L11_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 287, __pyx_L11_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -9827,12 +10074,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 287, __pyx_L11_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 287, __pyx_L11_error) + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 294, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 287, __pyx_L38_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -9846,7 +10093,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 287, __pyx_L38_error) + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 294, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; @@ -9861,15 +10108,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XGOTREF(__pyx_t_15); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":288 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":295 * f.fileobj() * with pytest.raises(igzip.NoHandleError): * f.fileno() # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(288,0,__PYX_ERR(0, 288, __pyx_L44_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 288, __pyx_L44_error) + __Pyx_TraceLine(295,0,__PYX_ERR(0, 295, __pyx_L44_error)) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 295, __pyx_L44_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { @@ -9883,12 +10130,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 288, __pyx_L44_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L44_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":287 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":294 * with pytest.raises(igzip.NoHandleError): * f.fileobj() * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< @@ -9908,20 +10155,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_7, &__pyx_t_4) < 0) __PYX_ERR(0, 287, __pyx_L46_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_7, &__pyx_t_4) < 0) __PYX_ERR(0, 294, __pyx_L46_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 287, __pyx_L46_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L46_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 287, __pyx_L46_except_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 294, __pyx_L46_except_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_18); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 287, __pyx_L46_except_error) + if (__pyx_t_11 < 0) __PYX_ERR(0, 294, __pyx_L46_except_error) __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_3); @@ -9929,7 +10176,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XGIVEREF(__pyx_t_4); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_7, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 287, __pyx_L46_except_error) + __PYX_ERR(0, 294, __pyx_L46_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; @@ -9953,9 +10200,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts /*finally:*/ { /*normal exit:*/{ if (__pyx_t_14) { - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__25, NULL); + __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 287, __pyx_L11_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 294, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } @@ -9972,7 +10219,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts } __pyx_L19:; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":271 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":278 * * for m in modes: * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< @@ -9992,20 +10239,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_3) < 0) __PYX_ERR(0, 271, __pyx_L13_except_error) + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_3) < 0) __PYX_ERR(0, 278, __pyx_L13_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 271, __pyx_L13_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 278, __pyx_L13_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 271, __pyx_L13_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 278, __pyx_L13_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_12 < 0) __PYX_ERR(0, 271, __pyx_L13_except_error) + if (__pyx_t_12 < 0) __PYX_ERR(0, 278, __pyx_L13_except_error) __pyx_t_11 = ((!(__pyx_t_12 != 0)) != 0); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_4); @@ -10013,7 +10260,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_7, __pyx_t_3); __pyx_t_4 = 0; __pyx_t_7 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 271, __pyx_L13_except_error) + __PYX_ERR(0, 278, __pyx_L13_except_error) } __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; @@ -10037,9 +10284,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts /*finally:*/ { /*normal exit:*/{ if (__pyx_t_6) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 271, __pyx_L1_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -10054,18 +10301,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts __pyx_L59:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":270 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":277 * modes = [None, 'rb', 'r'] * * for m in modes: # <<<<<<<<<<<<<< * with igzip._IndexedGzipFile(filename=testfile, * mode=m, */ - __Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L1_error)) + __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 * * * def test_atts(testfile, drop): # <<<<<<<<<<<<<< @@ -10095,7 +10342,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":291 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 * * * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< @@ -10138,11 +10385,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_init_failure_cases", 1, 2, 2, 1); __PYX_ERR(0, 291, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_init_failure_cases", 1, 2, 2, 1); __PYX_ERR(0, 298, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_failure_cases") < 0)) __PYX_ERR(0, 291, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_failure_cases") < 0)) __PYX_ERR(0, 298, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -10155,7 +10402,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_init_failure_cases", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 291, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_init_failure_cases", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 298, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -10199,20 +10446,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__40) + __Pyx_TraceFrameInit(__pyx_codeobj__39) __Pyx_RefNannySetupContext("test_init_failure_cases", 0); - __Pyx_TraceCall("test_init_failure_cases", __pyx_f[0], 291, 0, __PYX_ERR(0, 291, __pyx_L1_error)); + __Pyx_TraceCall("test_init_failure_cases", __pyx_f[0], 298, 0, __PYX_ERR(0, 298, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":293 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":300 * def test_init_failure_cases(concat, drop): * * with tempdir() as td: # <<<<<<<<<<<<<< * testfile = op.join(td, 'test.gz') * gen_test_data(testfile, 65536, concat) */ - __Pyx_TraceLine(293,0,__PYX_ERR(0, 293, __pyx_L1_error)) + __Pyx_TraceLine(300,0,__PYX_ERR(0, 300, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 293, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -10226,12 +10473,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 293, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 300, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -10245,7 +10492,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 293, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -10263,17 +10510,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":294 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":301 * * with tempdir() as td: * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * gen_test_data(testfile, 65536, concat) * */ - __Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L7_error) + __Pyx_TraceLine(301,0,__PYX_ERR(0, 301, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 301, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -10291,7 +10538,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -10299,13 +10546,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 301, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -10316,7 +10563,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -10324,15 +10571,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_v_testfile = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":295 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":302 * with tempdir() as td: * testfile = op.join(td, 'test.gz') * gen_test_data(testfile, 65536, concat) # <<<<<<<<<<<<<< * * # No writing */ - __Pyx_TraceLine(295,0,__PYX_ERR(0, 295, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 295, __pyx_L7_error) + __Pyx_TraceLine(302,0,__PYX_ERR(0, 302, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 302, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -10349,7 +10596,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -10357,13 +10604,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 302, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -10377,25 +10624,25 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_INCREF(__pyx_v_concat); __Pyx_GIVEREF(__pyx_v_concat); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":305 * * # No writing * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * gf = igzip._IndexedGzipFile(filename=testfile, * mode='w', */ - __Pyx_TraceLine(298,0,__PYX_ERR(0, 298, __pyx_L7_error)) + __Pyx_TraceLine(305,0,__PYX_ERR(0, 305, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -10410,12 +10657,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 298, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 305, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L13_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -10429,7 +10676,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L13_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -10444,50 +10691,50 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGOTREF(__pyx_t_13); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":299 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":306 * # No writing * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode='w', * drop_handles=drop) */ - __Pyx_TraceLine(299,0,__PYX_ERR(0, 299, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L17_error) + __Pyx_TraceLine(306,0,__PYX_ERR(0, 306, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 306, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 306, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 306, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 299, __pyx_L17_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_w) < 0) __PYX_ERR(0, 299, __pyx_L17_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 306, __pyx_L17_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_w) < 0) __PYX_ERR(0, 306, __pyx_L17_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":301 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":308 * gf = igzip._IndexedGzipFile(filename=testfile, * mode='w', * drop_handles=drop) # <<<<<<<<<<<<<< * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(filename=testfile, */ - __Pyx_TraceLine(301,0,__PYX_ERR(0, 301, __pyx_L17_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 299, __pyx_L17_error) + __Pyx_TraceLine(308,0,__PYX_ERR(0, 308, __pyx_L17_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 306, __pyx_L17_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":299 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":306 * # No writing * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode='w', * drop_handles=drop) */ - __Pyx_TraceLine(299,0,__PYX_ERR(0, 299, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L17_error) + __Pyx_TraceLine(306,0,__PYX_ERR(0, 306, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 306, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_gf = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":305 * * # No writing * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -10506,20 +10753,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 298, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 305, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 298, __pyx_L19_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 305, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 298, __pyx_L19_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 305, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 298, __pyx_L19_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 305, __pyx_L19_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_2); @@ -10527,7 +10774,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 298, __pyx_L19_except_error) + __PYX_ERR(0, 305, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -10551,9 +10798,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 298, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 305, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -10568,18 +10815,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":302 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":309 * mode='w', * drop_handles=drop) * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * gf = igzip._IndexedGzipFile(filename=testfile, * mode='wb', */ - __Pyx_TraceLine(302,0,__PYX_ERR(0, 302, __pyx_L7_error)) + __Pyx_TraceLine(309,0,__PYX_ERR(0, 309, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 302, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -10594,12 +10841,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 302, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 302, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 309, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L27_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -10613,7 +10860,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 302, __pyx_L27_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -10628,50 +10875,50 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGOTREF(__pyx_t_11); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":303 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":310 * drop_handles=drop) * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode='wb', * drop_handles=drop) */ - __Pyx_TraceLine(303,0,__PYX_ERR(0, 303, __pyx_L31_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L31_error) + __Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L31_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 303, __pyx_L31_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L31_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 303, __pyx_L31_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 303, __pyx_L31_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 310, __pyx_L31_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 310, __pyx_L31_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":305 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":312 * gf = igzip._IndexedGzipFile(filename=testfile, * mode='wb', * drop_handles=drop) # <<<<<<<<<<<<<< * * # No writing */ - __Pyx_TraceLine(305,0,__PYX_ERR(0, 305, __pyx_L31_error)) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 303, __pyx_L31_error) + __Pyx_TraceLine(312,0,__PYX_ERR(0, 312, __pyx_L31_error)) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 310, __pyx_L31_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":303 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":310 * drop_handles=drop) * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode='wb', * drop_handles=drop) */ - __Pyx_TraceLine(303,0,__PYX_ERR(0, 303, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L31_error) + __Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":302 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":309 * mode='w', * drop_handles=drop) * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -10690,20 +10937,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 302, __pyx_L33_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 309, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 302, __pyx_L33_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 309, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 302, __pyx_L33_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 309, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 302, __pyx_L33_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 309, __pyx_L33_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_3); @@ -10711,7 +10958,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 302, __pyx_L33_except_error) + __PYX_ERR(0, 309, __pyx_L33_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -10735,9 +10982,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 302, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 309, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -10752,41 +10999,41 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_L40:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":308 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":315 * * # No writing * f = open(testfile, mode='wb') # <<<<<<<<<<<<<< * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) */ - __Pyx_TraceLine(308,0,__PYX_ERR(0, 308, __pyx_L7_error)) - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 308, __pyx_L7_error) + __Pyx_TraceLine(315,0,__PYX_ERR(0, 315, __pyx_L7_error)) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 308, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 308, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 308, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 315, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 315, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_f = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":309 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":316 * # No writing * f = open(testfile, mode='wb') * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) * f.close() */ - __Pyx_TraceLine(309,0,__PYX_ERR(0, 309, __pyx_L7_error)) + __Pyx_TraceLine(316,0,__PYX_ERR(0, 316, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -10801,12 +11048,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 309, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 316, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L41_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -10820,7 +11067,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L41_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -10835,31 +11082,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGOTREF(__pyx_t_13); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":310 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":317 * f = open(testfile, mode='wb') * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< * f.close() * */ - __Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L45_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L45_error) + __Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L45_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L45_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L45_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 310, __pyx_L45_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 310, __pyx_L45_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L45_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 317, __pyx_L45_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 317, __pyx_L45_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":309 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":316 * # No writing * f = open(testfile, mode='wb') * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -10878,20 +11125,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 309, __pyx_L47_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 316, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 309, __pyx_L47_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 309, __pyx_L47_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 316, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 309, __pyx_L47_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 316, __pyx_L47_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); @@ -10899,7 +11146,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 309, __pyx_L47_except_error) + __PYX_ERR(0, 316, __pyx_L47_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -10923,9 +11170,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 309, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -10940,15 +11187,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_L54:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":311 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":318 * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) * f.close() # <<<<<<<<<<<<<< * * # No writing */ - __Pyx_TraceLine(311,0,__PYX_ERR(0, 311, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 311, __pyx_L7_error) + __Pyx_TraceLine(318,0,__PYX_ERR(0, 318, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 318, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -10962,46 +11209,46 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 311, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 318, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":314 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":321 * * # No writing * f = open(testfile, mode='w') # <<<<<<<<<<<<<< * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) */ - __Pyx_TraceLine(314,0,__PYX_ERR(0, 314, __pyx_L7_error)) - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L7_error) + __Pyx_TraceLine(321,0,__PYX_ERR(0, 321, __pyx_L7_error)) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 314, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_w) < 0) __PYX_ERR(0, 314, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 314, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_w) < 0) __PYX_ERR(0, 321, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 321, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":315 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":322 * # No writing * f = open(testfile, mode='w') * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) * f.close() */ - __Pyx_TraceLine(315,0,__PYX_ERR(0, 315, __pyx_L7_error)) + __Pyx_TraceLine(322,0,__PYX_ERR(0, 322, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 315, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -11016,12 +11263,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 315, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 322, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 315, __pyx_L55_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L55_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -11035,7 +11282,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L55_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L55_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -11050,31 +11297,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGOTREF(__pyx_t_11); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":316 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":323 * f = open(testfile, mode='w') * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< * f.close() * */ - __Pyx_TraceLine(316,0,__PYX_ERR(0, 316, __pyx_L59_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L59_error) + __Pyx_TraceLine(323,0,__PYX_ERR(0, 323, __pyx_L59_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L59_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 323, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L59_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 316, __pyx_L59_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 316, __pyx_L59_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L59_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 323, __pyx_L59_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 323, __pyx_L59_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":315 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":322 * # No writing * f = open(testfile, mode='w') * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -11093,20 +11340,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 315, __pyx_L61_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 322, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 315, __pyx_L61_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 322, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 315, __pyx_L61_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 322, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 315, __pyx_L61_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 322, __pyx_L61_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_3); @@ -11114,7 +11361,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 315, __pyx_L61_except_error) + __PYX_ERR(0, 322, __pyx_L61_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -11138,9 +11385,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 315, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 322, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -11155,15 +11402,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_L68:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":317 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":324 * with pytest.raises(ValueError): * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) * f.close() # <<<<<<<<<<<<<< * * # Need a filename or fid */ - __Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L7_error) + __Pyx_TraceLine(324,0,__PYX_ERR(0, 324, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -11177,23 +11424,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":320 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":327 * * # Need a filename or fid * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * f = igzip._IndexedGzipFile(drop_handles=drop) * */ - __Pyx_TraceLine(320,0,__PYX_ERR(0, 320, __pyx_L7_error)) + __Pyx_TraceLine(327,0,__PYX_ERR(0, 327, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 327, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -11208,12 +11455,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 327, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 320, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 327, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L69_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L69_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -11227,7 +11474,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 320, __pyx_L69_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 327, __pyx_L69_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -11242,30 +11489,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGOTREF(__pyx_t_13); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":321 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":328 * # Need a filename or fid * with pytest.raises(ValueError): * f = igzip._IndexedGzipFile(drop_handles=drop) # <<<<<<<<<<<<<< * * # can only specify one of filename/fid */ - __Pyx_TraceLine(321,0,__PYX_ERR(0, 321, __pyx_L73_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L73_error) + __Pyx_TraceLine(328,0,__PYX_ERR(0, 328, __pyx_L73_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L73_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 328, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L73_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 321, __pyx_L73_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 321, __pyx_L73_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 328, __pyx_L73_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 328, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":320 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":327 * * # Need a filename or fid * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -11284,20 +11531,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 320, __pyx_L75_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 327, __pyx_L75_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 320, __pyx_L75_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 327, __pyx_L75_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 320, __pyx_L75_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 327, __pyx_L75_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 320, __pyx_L75_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 327, __pyx_L75_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); @@ -11305,7 +11552,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 320, __pyx_L75_except_error) + __PYX_ERR(0, 327, __pyx_L75_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -11329,9 +11576,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 320, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 327, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -11346,18 +11593,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_L82:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":324 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 * * # can only specify one of filename/fid * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * with open(testfile, mode='rb'): * f = igzip._IndexedGzipFile(filename=testfile, */ - __Pyx_TraceLine(324,0,__PYX_ERR(0, 324, __pyx_L7_error)) + __Pyx_TraceLine(331,0,__PYX_ERR(0, 331, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -11372,12 +11619,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 324, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 324, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 331, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L83_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L83_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -11391,7 +11638,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L83_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L83_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -11406,30 +11653,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGOTREF(__pyx_t_11); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":325 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":332 * # can only specify one of filename/fid * with pytest.raises(ValueError): * with open(testfile, mode='rb'): # <<<<<<<<<<<<<< * f = igzip._IndexedGzipFile(filename=testfile, * fileobj=f, */ - __Pyx_TraceLine(325,0,__PYX_ERR(0, 325, __pyx_L87_error)) + __Pyx_TraceLine(332,0,__PYX_ERR(0, 332, __pyx_L87_error)) /*with:*/ { - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L87_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L87_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_rb) < 0) __PYX_ERR(0, 325, __pyx_L87_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 325, __pyx_L87_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_rb) < 0) __PYX_ERR(0, 332, __pyx_L87_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 332, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 325, __pyx_L87_error) + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 332, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L93_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L93_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -11443,7 +11690,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L93_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L93_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -11458,59 +11705,59 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGOTREF(__pyx_t_19); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":326 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":333 * with pytest.raises(ValueError): * with open(testfile, mode='rb'): * f = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * fileobj=f, * drop_handles=drop) */ - __Pyx_TraceLine(326,0,__PYX_ERR(0, 326, __pyx_L97_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 326, __pyx_L97_error) + __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L97_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L97_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 326, __pyx_L97_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 333, __pyx_L97_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 326, __pyx_L97_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L97_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 326, __pyx_L97_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 333, __pyx_L97_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":327 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":334 * with open(testfile, mode='rb'): * f = igzip._IndexedGzipFile(filename=testfile, * fileobj=f, # <<<<<<<<<<<<<< * drop_handles=drop) * */ - __Pyx_TraceLine(327,0,__PYX_ERR(0, 327, __pyx_L97_error)) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 326, __pyx_L97_error) + __Pyx_TraceLine(334,0,__PYX_ERR(0, 334, __pyx_L97_error)) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 333, __pyx_L97_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":328 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":335 * f = igzip._IndexedGzipFile(filename=testfile, * fileobj=f, * drop_handles=drop) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(328,0,__PYX_ERR(0, 328, __pyx_L97_error)) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 326, __pyx_L97_error) + __Pyx_TraceLine(335,0,__PYX_ERR(0, 335, __pyx_L97_error)) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 333, __pyx_L97_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":326 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":333 * with pytest.raises(ValueError): * with open(testfile, mode='rb'): * f = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * fileobj=f, * drop_handles=drop) */ - __Pyx_TraceLine(326,0,__PYX_ERR(0, 326, __pyx_L97_error)) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 326, __pyx_L97_error) + __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L97_error)) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L97_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":325 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":332 * # can only specify one of filename/fid * with pytest.raises(ValueError): * with open(testfile, mode='rb'): # <<<<<<<<<<<<<< @@ -11529,20 +11776,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 325, __pyx_L99_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 332, __pyx_L99_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 325, __pyx_L99_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 332, __pyx_L99_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 325, __pyx_L99_except_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 332, __pyx_L99_except_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 325, __pyx_L99_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 332, __pyx_L99_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_3); @@ -11550,7 +11797,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 325, __pyx_L99_except_error) + __PYX_ERR(0, 332, __pyx_L99_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -11574,9 +11821,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_14) { - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__25, NULL); + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 325, __pyx_L87_error) + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 332, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } @@ -11591,7 +11838,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_L106:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":324 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 * * # can only specify one of filename/fid * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -11610,20 +11857,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 324, __pyx_L89_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 331, __pyx_L89_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 324, __pyx_L89_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 331, __pyx_L89_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 324, __pyx_L89_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 331, __pyx_L89_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 324, __pyx_L89_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 331, __pyx_L89_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); @@ -11631,7 +11878,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 324, __pyx_L89_except_error) + __PYX_ERR(0, 331, __pyx_L89_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -11655,9 +11902,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 324, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 331, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -11672,7 +11919,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_L110:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":293 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":300 * def test_init_failure_cases(concat, drop): * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -11691,20 +11938,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 293, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 300, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 293, __pyx_L9_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 300, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 293, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 300, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 293, __pyx_L9_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 300, __pyx_L9_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_3); @@ -11712,7 +11959,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 293, __pyx_L9_except_error) + __PYX_ERR(0, 300, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -11736,9 +11983,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 293, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -11753,7 +12000,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init __pyx_L114:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":291 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 * * * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< @@ -11782,7 +12029,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 * * * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< @@ -11825,11 +12072,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_init_success_cases", 1, 2, 2, 1); __PYX_ERR(0, 331, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_init_success_cases", 1, 2, 2, 1); __PYX_ERR(0, 338, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_success_cases") < 0)) __PYX_ERR(0, 331, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_success_cases") < 0)) __PYX_ERR(0, 338, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -11842,7 +12089,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_init_success_cases", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 331, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_init_success_cases", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 338, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_success_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -11879,20 +12126,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__41) + __Pyx_TraceFrameInit(__pyx_codeobj__40) __Pyx_RefNannySetupContext("test_init_success_cases", 0); - __Pyx_TraceCall("test_init_success_cases", __pyx_f[0], 331, 0, __PYX_ERR(0, 331, __pyx_L1_error)); + __Pyx_TraceCall("test_init_success_cases", __pyx_f[0], 338, 0, __PYX_ERR(0, 338, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":332 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":339 * * def test_init_success_cases(concat, drop): * with tempdir() as td: # <<<<<<<<<<<<<< * testfile = op.join(td, 'test.gz') * gen_test_data(testfile, 65536, concat) */ - __Pyx_TraceLine(332,0,__PYX_ERR(0, 332, __pyx_L1_error)) + __Pyx_TraceLine(339,0,__PYX_ERR(0, 339, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 332, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -11906,12 +12153,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 332, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 339, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -11925,7 +12172,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 332, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 339, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -11943,17 +12190,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":333 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":340 * def test_init_success_cases(concat, drop): * with tempdir() as td: * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * gen_test_data(testfile, 65536, concat) * */ - __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 333, __pyx_L7_error) + __Pyx_TraceLine(340,0,__PYX_ERR(0, 340, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 340, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -11971,7 +12218,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 340, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -11979,13 +12226,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 340, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 333, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 340, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -11996,7 +12243,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 340, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -12004,15 +12251,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init __pyx_v_testfile = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":334 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":341 * with tempdir() as td: * testfile = op.join(td, 'test.gz') * gen_test_data(testfile, 65536, concat) # <<<<<<<<<<<<<< * * gf1 = igzip._IndexedGzipFile(filename=testfile, */ - __Pyx_TraceLine(334,0,__PYX_ERR(0, 334, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 334, __pyx_L7_error) + __Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -12029,7 +12276,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -12037,13 +12284,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 334, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 341, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -12057,150 +12304,150 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init __Pyx_INCREF(__pyx_v_concat); __Pyx_GIVEREF(__pyx_v_concat); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 334, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":336 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":343 * gen_test_data(testfile, 65536, concat) * * gf1 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * drop_handles=drop) * gf2 = igzip._IndexedGzipFile(filename=testfile, */ - __Pyx_TraceLine(336,0,__PYX_ERR(0, 336, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L7_error) + __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 336, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 336, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 343, __pyx_L7_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":337 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":344 * * gf1 = igzip._IndexedGzipFile(filename=testfile, * drop_handles=drop) # <<<<<<<<<<<<<< * gf2 = igzip._IndexedGzipFile(filename=testfile, * mode='r', */ - __Pyx_TraceLine(337,0,__PYX_ERR(0, 337, __pyx_L7_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 336, __pyx_L7_error) + __Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L7_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 343, __pyx_L7_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":336 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":343 * gen_test_data(testfile, 65536, concat) * * gf1 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * drop_handles=drop) * gf2 = igzip._IndexedGzipFile(filename=testfile, */ - __Pyx_TraceLine(336,0,__PYX_ERR(0, 336, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L7_error) + __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_gf1 = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":345 * gf1 = igzip._IndexedGzipFile(filename=testfile, * drop_handles=drop) * gf2 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode='r', * drop_handles=drop) */ - __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L7_error) + __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 338, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 338, __pyx_L7_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_r) < 0) __PYX_ERR(0, 338, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 345, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_r) < 0) __PYX_ERR(0, 345, __pyx_L7_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":340 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":347 * gf2 = igzip._IndexedGzipFile(filename=testfile, * mode='r', * drop_handles=drop) # <<<<<<<<<<<<<< * gf3 = igzip._IndexedGzipFile(filename=testfile, * mode='rb', */ - __Pyx_TraceLine(340,0,__PYX_ERR(0, 340, __pyx_L7_error)) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 338, __pyx_L7_error) + __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L7_error)) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 345, __pyx_L7_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":345 * gf1 = igzip._IndexedGzipFile(filename=testfile, * drop_handles=drop) * gf2 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode='r', * drop_handles=drop) */ - __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L7_error) + __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_gf2 = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":341 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":348 * mode='r', * drop_handles=drop) * gf3 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode='rb', * drop_handles=drop) */ - __Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L7_error) + __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 341, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 348, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 341, __pyx_L7_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_mode, __pyx_n_s_rb) < 0) __PYX_ERR(0, 341, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 348, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_mode, __pyx_n_s_rb) < 0) __PYX_ERR(0, 348, __pyx_L7_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":343 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":350 * gf3 = igzip._IndexedGzipFile(filename=testfile, * mode='rb', * drop_handles=drop) # <<<<<<<<<<<<<< * gf1.close() * gf2.close() */ - __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L7_error)) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 341, __pyx_L7_error) + __Pyx_TraceLine(350,0,__PYX_ERR(0, 350, __pyx_L7_error)) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 348, __pyx_L7_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":341 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":348 * mode='r', * drop_handles=drop) * gf3 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * mode='rb', * drop_handles=drop) */ - __Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L7_error) + __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 348, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_gf3 = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":344 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":351 * mode='rb', * drop_handles=drop) * gf1.close() # <<<<<<<<<<<<<< * gf2.close() * gf3.close() */ - __Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 344, __pyx_L7_error) + __Pyx_TraceLine(351,0,__PYX_ERR(0, 351, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -12214,20 +12461,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 344, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":345 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 * drop_handles=drop) * gf1.close() * gf2.close() # <<<<<<<<<<<<<< * gf3.close() * del gf1 */ - __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L7_error) + __Pyx_TraceLine(352,0,__PYX_ERR(0, 352, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 352, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -12241,20 +12488,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 352, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":346 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":353 * gf1.close() * gf2.close() * gf3.close() # <<<<<<<<<<<<<< * del gf1 * del gf2 */ - __Pyx_TraceLine(346,0,__PYX_ERR(0, 346, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 346, __pyx_L7_error) + __Pyx_TraceLine(353,0,__PYX_ERR(0, 353, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 353, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -12268,45 +12515,45 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 346, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 353, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":347 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":354 * gf2.close() * gf3.close() * del gf1 # <<<<<<<<<<<<<< * del gf2 * del gf3 */ - __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L7_error)) + __Pyx_TraceLine(354,0,__PYX_ERR(0, 354, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gf1); __pyx_v_gf1 = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":348 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":355 * gf3.close() * del gf1 * del gf2 # <<<<<<<<<<<<<< * del gf3 * */ - __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L7_error)) + __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gf2); __pyx_v_gf2 = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":349 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":356 * del gf1 * del gf2 * del gf3 # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(349,0,__PYX_ERR(0, 349, __pyx_L7_error)) + __Pyx_TraceLine(356,0,__PYX_ERR(0, 356, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gf3); __pyx_v_gf3 = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":332 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":339 * * def test_init_success_cases(concat, drop): * with tempdir() as td: # <<<<<<<<<<<<<< @@ -12325,20 +12572,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_success_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 332, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 339, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 332, __pyx_L9_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 339, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 332, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 339, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 332, __pyx_L9_except_error) + if (__pyx_t_11 < 0) __PYX_ERR(0, 339, __pyx_L9_except_error) __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_3); @@ -12346,7 +12593,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 332, __pyx_L9_except_error) + __PYX_ERR(0, 339, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -12370,9 +12617,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 332, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -12387,7 +12634,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init __pyx_L16:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 * * * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< @@ -12417,7 +12664,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 * * * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< @@ -12469,29 +12716,29 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_crea case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 1); __PYX_ERR(0, 352, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 1); __PYX_ERR(0, 359, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 2); __PYX_ERR(0, 352, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 2); __PYX_ERR(0, 359, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 3); __PYX_ERR(0, 352, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 3); __PYX_ERR(0, 359, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_file_like_object)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 4); __PYX_ERR(0, 352, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 4); __PYX_ERR(0, 359, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_create_from_open_handle") < 0)) __PYX_ERR(0, 352, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_create_from_open_handle") < 0)) __PYX_ERR(0, 359, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { goto __pyx_L5_argtuple_error; @@ -12510,7 +12757,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_crea } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 352, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 359, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_create_from_open_handle", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -12549,19 +12796,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__42) + __Pyx_TraceFrameInit(__pyx_codeobj__41) __Pyx_RefNannySetupContext("test_create_from_open_handle", 0); - __Pyx_TraceCall("test_create_from_open_handle", __pyx_f[0], 352, 0, __PYX_ERR(0, 352, __pyx_L1_error)); + __Pyx_TraceCall("test_create_from_open_handle", __pyx_f[0], 359, 0, __PYX_ERR(0, 359, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":354 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":361 * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): * * f = open(testfile, 'rb') # <<<<<<<<<<<<<< * if file_like_object: * f = BytesIO(f.read()) */ - __Pyx_TraceLine(354,0,__PYX_ERR(0, 354, __pyx_L1_error)) - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error) + __Pyx_TraceLine(361,0,__PYX_ERR(0, 361, __pyx_L1_error)) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); @@ -12569,34 +12816,34 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":355 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":362 * * f = open(testfile, 'rb') * if file_like_object: # <<<<<<<<<<<<<< * f = BytesIO(f.read()) * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) */ - __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_file_like_object); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 355, __pyx_L1_error) + __Pyx_TraceLine(362,0,__PYX_ERR(0, 362, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_file_like_object); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 362, __pyx_L1_error) if (__pyx_t_3) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":356 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":363 * f = open(testfile, 'rb') * if file_like_object: * f = BytesIO(f.read()) # <<<<<<<<<<<<<< * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) * */ - __Pyx_TraceLine(356,0,__PYX_ERR(0, 356, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error) + __Pyx_TraceLine(363,0,__PYX_ERR(0, 363, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -12610,7 +12857,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea } __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 356, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -12626,13 +12873,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 356, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":355 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":362 * * f = open(testfile, 'rb') * if file_like_object: # <<<<<<<<<<<<<< @@ -12641,41 +12888,41 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea */ } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":357 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":364 * if file_like_object: * f = BytesIO(f.read()) * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< * * assert gzf.fileobj() is f */ - __Pyx_TraceLine(357,0,__PYX_ERR(0, 357, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) + __Pyx_TraceLine(364,0,__PYX_ERR(0, 364, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 357, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 357, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 357, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 357, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 364, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_gzf = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":366 * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) * * assert gzf.fileobj() is f # <<<<<<<<<<<<<< * assert not gzf.drop_handles * */ - __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) + __Pyx_TraceLine(366,0,__PYX_ERR(0, 366, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 359, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -12689,53 +12936,53 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 359, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = (__pyx_t_4 == __pyx_v_f); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!(__pyx_t_3 != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 359, __pyx_L1_error) + __PYX_ERR(0, 366, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":360 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":367 * * assert gzf.fileobj() is f * assert not gzf.drop_handles # <<<<<<<<<<<<<< * * element = np.random.randint(0, nelems, 1) */ - __Pyx_TraceLine(360,0,__PYX_ERR(0, 360, __pyx_L1_error)) + __Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 360, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 367, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!((!__pyx_t_3) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 360, __pyx_L1_error) + __PYX_ERR(0, 367, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":362 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":369 * assert not gzf.drop_handles * * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval = read_element(gzf, element) * */ - __Pyx_TraceLine(362,0,__PYX_ERR(0, 362, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error) + __Pyx_TraceLine(369,0,__PYX_ERR(0, 369, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -12753,7 +13000,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_4); } else @@ -12761,13 +13008,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { - __pyx_t_5 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -12781,7 +13028,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_7, __pyx_int_1); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -12789,15 +13036,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea __pyx_v_element = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":363 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":370 * * element = np.random.randint(0, nelems, 1) * readval = read_element(gzf, element) # <<<<<<<<<<<<<< * * gzf.close() */ - __Pyx_TraceLine(363,0,__PYX_ERR(0, 363, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 363, __pyx_L1_error) + __Pyx_TraceLine(370,0,__PYX_ERR(0, 370, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; __pyx_t_7 = 0; @@ -12814,7 +13061,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else @@ -12822,13 +13069,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -12839,7 +13086,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_7, __pyx_v_element); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -12847,15 +13094,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea __pyx_v_readval = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":365 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":372 * readval = read_element(gzf, element) * * gzf.close() # <<<<<<<<<<<<<< * * try: */ - __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error) + __Pyx_TraceLine(372,0,__PYX_ERR(0, 372, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -12869,95 +13116,95 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 365, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":367 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":374 * gzf.close() * * try: # <<<<<<<<<<<<<< * assert readval == element * assert gzf.closed */ - __Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error)) + __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":368 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":375 * * try: * assert readval == element # <<<<<<<<<<<<<< * assert gzf.closed * assert not f.closed */ - __Pyx_TraceLine(368,0,__PYX_ERR(0, 368, __pyx_L5_error)) + __Pyx_TraceLine(375,0,__PYX_ERR(0, 375, __pyx_L5_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 368, __pyx_L5_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 368, __pyx_L5_error) + __pyx_t_4 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 375, __pyx_L5_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 375, __pyx_L5_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 368, __pyx_L5_error) + __PYX_ERR(0, 375, __pyx_L5_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":369 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":376 * try: * assert readval == element * assert gzf.closed # <<<<<<<<<<<<<< * assert not f.closed * */ - __Pyx_TraceLine(369,0,__PYX_ERR(0, 369, __pyx_L5_error)) + __Pyx_TraceLine(376,0,__PYX_ERR(0, 376, __pyx_L5_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 369, __pyx_L5_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 376, __pyx_L5_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 369, __pyx_L5_error) + __PYX_ERR(0, 376, __pyx_L5_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":370 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":377 * assert readval == element * assert gzf.closed * assert not f.closed # <<<<<<<<<<<<<< * * finally: */ - __Pyx_TraceLine(370,0,__PYX_ERR(0, 370, __pyx_L5_error)) + __Pyx_TraceLine(377,0,__PYX_ERR(0, 377, __pyx_L5_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 377, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 370, __pyx_L5_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 377, __pyx_L5_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!((!__pyx_t_3) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 370, __pyx_L5_error) + __PYX_ERR(0, 377, __pyx_L5_error) } } #endif } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":373 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":380 * * finally: * f.close() # <<<<<<<<<<<<<< * del gzf * del f */ - __Pyx_TraceLine(373,0,__PYX_ERR(0, 373, __pyx_L5_error)) + __Pyx_TraceLine(380,0,__PYX_ERR(0, 380, __pyx_L5_error)) /*finally:*/ { /*normal exit:*/{ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -12971,30 +13218,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 373, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":374 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":381 * finally: * f.close() * del gzf # <<<<<<<<<<<<<< * del f * */ - __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) + __Pyx_TraceLine(381,0,__PYX_ERR(0, 381, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":375 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":382 * f.close() * del gzf * del f # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(375,0,__PYX_ERR(0, 375, __pyx_L1_error)) + __Pyx_TraceLine(382,0,__PYX_ERR(0, 382, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; goto __pyx_L6; @@ -13020,15 +13267,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":373 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":380 * * finally: * f.close() # <<<<<<<<<<<<<< * del gzf * del f */ - __Pyx_TraceLine(373,0,__PYX_ERR(0, 373, __pyx_L8_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L8_error) + __Pyx_TraceLine(380,0,__PYX_ERR(0, 380, __pyx_L8_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 380, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -13042,30 +13289,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 373, __pyx_L8_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 380, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":374 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":381 * finally: * f.close() * del gzf # <<<<<<<<<<<<<< * del f * */ - __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L8_error)) + __Pyx_TraceLine(381,0,__PYX_ERR(0, 381, __pyx_L8_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":375 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":382 * f.close() * del gzf * del f # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(375,0,__PYX_ERR(0, 375, __pyx_L8_error)) + __Pyx_TraceLine(382,0,__PYX_ERR(0, 382, __pyx_L8_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; } @@ -13098,7 +13345,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea __pyx_L6:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 * * * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< @@ -13128,7 +13375,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_crea return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":378 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 * * * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< @@ -13171,11 +13418,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_acce case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_accept_filename_or_fileobj", 1, 2, 2, 1); __PYX_ERR(0, 378, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_accept_filename_or_fileobj", 1, 2, 2, 1); __PYX_ERR(0, 385, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_accept_filename_or_fileobj") < 0)) __PYX_ERR(0, 378, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_accept_filename_or_fileobj") < 0)) __PYX_ERR(0, 385, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -13188,7 +13435,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_acce } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_accept_filename_or_fileobj", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 378, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_accept_filename_or_fileobj", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 385, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_accept_filename_or_fileobj", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -13234,73 +13481,73 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__43) + __Pyx_TraceFrameInit(__pyx_codeobj__42) __Pyx_RefNannySetupContext("test_accept_filename_or_fileobj", 0); - __Pyx_TraceCall("test_accept_filename_or_fileobj", __pyx_f[0], 378, 0, __PYX_ERR(0, 378, __pyx_L1_error)); + __Pyx_TraceCall("test_accept_filename_or_fileobj", __pyx_f[0], 385, 0, __PYX_ERR(0, 385, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":380 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":387 * def test_accept_filename_or_fileobj(testfile, nelems): * * f = None # <<<<<<<<<<<<<< * gzf1 = None * gzf2 = None */ - __Pyx_TraceLine(380,0,__PYX_ERR(0, 380, __pyx_L1_error)) + __Pyx_TraceLine(387,0,__PYX_ERR(0, 387, __pyx_L1_error)) __Pyx_INCREF(Py_None); __pyx_v_f = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":381 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":388 * * f = None * gzf1 = None # <<<<<<<<<<<<<< * gzf2 = None * gzf3 = None */ - __Pyx_TraceLine(381,0,__PYX_ERR(0, 381, __pyx_L1_error)) + __Pyx_TraceLine(388,0,__PYX_ERR(0, 388, __pyx_L1_error)) __Pyx_INCREF(Py_None); __pyx_v_gzf1 = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":382 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":389 * f = None * gzf1 = None * gzf2 = None # <<<<<<<<<<<<<< * gzf3 = None * */ - __Pyx_TraceLine(382,0,__PYX_ERR(0, 382, __pyx_L1_error)) + __Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L1_error)) __Pyx_INCREF(Py_None); __pyx_v_gzf2 = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":383 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":390 * gzf1 = None * gzf2 = None * gzf3 = None # <<<<<<<<<<<<<< * * try: */ - __Pyx_TraceLine(383,0,__PYX_ERR(0, 383, __pyx_L1_error)) + __Pyx_TraceLine(390,0,__PYX_ERR(0, 390, __pyx_L1_error)) __Pyx_INCREF(Py_None); __pyx_v_gzf3 = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":392 * gzf3 = None * * try: # <<<<<<<<<<<<<< * f = open(testfile, 'rb') * gzf1 = igzip._IndexedGzipFile(testfile) */ - __Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error)) + __Pyx_TraceLine(392,0,__PYX_ERR(0, 392, __pyx_L1_error)) /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":386 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":393 * * try: * f = open(testfile, 'rb') # <<<<<<<<<<<<<< * gzf1 = igzip._IndexedGzipFile(testfile) * gzf2 = igzip._IndexedGzipFile(f) */ - __Pyx_TraceLine(386,0,__PYX_ERR(0, 386, __pyx_L4_error)) - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 386, __pyx_L4_error) + __Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L4_error)) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); @@ -13308,23 +13555,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 386, __pyx_L4_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 393, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":387 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":394 * try: * f = open(testfile, 'rb') * gzf1 = igzip._IndexedGzipFile(testfile) # <<<<<<<<<<<<<< * gzf2 = igzip._IndexedGzipFile(f) * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) */ - __Pyx_TraceLine(387,0,__PYX_ERR(0, 387, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 387, __pyx_L4_error) + __Pyx_TraceLine(394,0,__PYX_ERR(0, 394, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 387, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -13339,23 +13586,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_testfile); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 387, __pyx_L4_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_gzf1, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":388 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":395 * f = open(testfile, 'rb') * gzf1 = igzip._IndexedGzipFile(testfile) * gzf2 = igzip._IndexedGzipFile(f) # <<<<<<<<<<<<<< * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) * */ - __Pyx_TraceLine(388,0,__PYX_ERR(0, 388, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 388, __pyx_L4_error) + __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 395, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 388, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -13370,30 +13617,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_f) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_f); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 388, __pyx_L4_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 395, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_gzf2, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":389 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":396 * gzf1 = igzip._IndexedGzipFile(testfile) * gzf2 = igzip._IndexedGzipFile(f) * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) # <<<<<<<<<<<<<< * * element = np.random.randint(0, nelems, 1) */ - __Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_TraceLine(396,0,__PYX_ERR(0, 396, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 389, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 389, __pyx_L4_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 389, __pyx_L4_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L4_error) + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); @@ -13401,10 +13648,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_rb); - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 389, __pyx_L4_error) + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L4_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; @@ -13419,7 +13666,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 389, __pyx_L4_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; @@ -13435,32 +13682,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 389, __pyx_L4_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_t_3) < 0) __PYX_ERR(0, 389, __pyx_L4_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_t_3) < 0) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 389, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 396, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_gzf3, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":391 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":398 * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) * * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval1 = read_element(gzf1, element) * readval2 = read_element(gzf2, element) */ - __Pyx_TraceLine(391,0,__PYX_ERR(0, 391, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L4_error) + __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 398, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L4_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L4_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 398, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -13478,7 +13725,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -13486,13 +13733,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_4 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 391, __pyx_L4_error) + __pyx_t_4 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 398, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -13506,7 +13753,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_8, __pyx_int_1); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } @@ -13514,15 +13761,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __pyx_v_element = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":392 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":399 * * element = np.random.randint(0, nelems, 1) * readval1 = read_element(gzf1, element) # <<<<<<<<<<<<<< * readval2 = read_element(gzf2, element) * readval3 = read_element(gzf3, element) */ - __Pyx_TraceLine(392,0,__PYX_ERR(0, 392, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 392, __pyx_L4_error) + __Pyx_TraceLine(399,0,__PYX_ERR(0, 399, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 399, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_8 = 0; @@ -13539,7 +13786,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf1, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -13547,13 +13794,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf1, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L4_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; @@ -13564,7 +13811,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -13572,15 +13819,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __pyx_v_readval1 = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":393 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":400 * element = np.random.randint(0, nelems, 1) * readval1 = read_element(gzf1, element) * readval2 = read_element(gzf2, element) # <<<<<<<<<<<<<< * readval3 = read_element(gzf3, element) * */ - __Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 393, __pyx_L4_error) + __Pyx_TraceLine(400,0,__PYX_ERR(0, 400, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 400, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; __pyx_t_8 = 0; @@ -13597,7 +13844,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_gzf2, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -13605,13 +13852,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_gzf2, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_4 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L4_error) + __pyx_t_4 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 400, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -13622,7 +13869,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_8, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 393, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } @@ -13630,15 +13877,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __pyx_v_readval2 = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":394 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":401 * readval1 = read_element(gzf1, element) * readval2 = read_element(gzf2, element) * readval3 = read_element(gzf3, element) # <<<<<<<<<<<<<< * * assert readval1 == element */ - __Pyx_TraceLine(394,0,__PYX_ERR(0, 394, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L4_error) + __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L4_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 401, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_8 = 0; @@ -13655,7 +13902,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf3, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -13663,13 +13910,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf3, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L4_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L4_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; @@ -13680,7 +13927,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L4_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -13688,81 +13935,81 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __pyx_v_readval3 = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":396 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":403 * readval3 = read_element(gzf3, element) * * assert readval1 == element # <<<<<<<<<<<<<< * assert readval2 == element * assert readval3 == element */ - __Pyx_TraceLine(396,0,__PYX_ERR(0, 396, __pyx_L4_error)) + __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L4_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval1, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 396, __pyx_L4_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 396, __pyx_L4_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval1, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L4_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 403, __pyx_L4_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 396, __pyx_L4_error) + __PYX_ERR(0, 403, __pyx_L4_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":397 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":404 * * assert readval1 == element * assert readval2 == element # <<<<<<<<<<<<<< * assert readval3 == element * */ - __Pyx_TraceLine(397,0,__PYX_ERR(0, 397, __pyx_L4_error)) + __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L4_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval2, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L4_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 397, __pyx_L4_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval2, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L4_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 404, __pyx_L4_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 397, __pyx_L4_error) + __PYX_ERR(0, 404, __pyx_L4_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":398 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":405 * assert readval1 == element * assert readval2 == element * assert readval3 == element # <<<<<<<<<<<<<< * * finally: */ - __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L4_error)) + __Pyx_TraceLine(405,0,__PYX_ERR(0, 405, __pyx_L4_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval3, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L4_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 398, __pyx_L4_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval3, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 405, __pyx_L4_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 405, __pyx_L4_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 398, __pyx_L4_error) + __PYX_ERR(0, 405, __pyx_L4_error) } } #endif } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":401 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":408 * * finally: * if gzf3 is not None: gzf3.close() # <<<<<<<<<<<<<< * if gzf2 is not None: gzf2.close() * if gzf1 is not None: gzf1.close() */ - __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L4_error)) + __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L4_error)) /*finally:*/ { /*normal exit:*/{ __pyx_t_9 = (__pyx_v_gzf3 != Py_None); __pyx_t_10 = (__pyx_t_9 != 0); if (__pyx_t_10) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 401, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -13776,24 +14023,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":402 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":409 * finally: * if gzf3 is not None: gzf3.close() * if gzf2 is not None: gzf2.close() # <<<<<<<<<<<<<< * if gzf1 is not None: gzf1.close() * if f is not None: f .close() */ - __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L1_error)) + __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L1_error)) __pyx_t_10 = (__pyx_v_gzf2 != Py_None); __pyx_t_9 = (__pyx_t_10 != 0); if (__pyx_t_9) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -13807,24 +14054,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":403 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":410 * if gzf3 is not None: gzf3.close() * if gzf2 is not None: gzf2.close() * if gzf1 is not None: gzf1.close() # <<<<<<<<<<<<<< * if f is not None: f .close() * del f */ - __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L1_error)) + __Pyx_TraceLine(410,0,__PYX_ERR(0, 410, __pyx_L1_error)) __pyx_t_9 = (__pyx_v_gzf1 != Py_None); __pyx_t_10 = (__pyx_t_9 != 0); if (__pyx_t_10) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -13838,24 +14085,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":404 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 * if gzf2 is not None: gzf2.close() * if gzf1 is not None: gzf1.close() * if f is not None: f .close() # <<<<<<<<<<<<<< * del f * del gzf1 */ - __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L1_error)) + __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L1_error)) __pyx_t_10 = (__pyx_v_f != Py_None); __pyx_t_9 = (__pyx_t_10 != 0); if (__pyx_t_9) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -13869,53 +14116,53 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":405 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":412 * if gzf1 is not None: gzf1.close() * if f is not None: f .close() * del f # <<<<<<<<<<<<<< * del gzf1 * del gzf2 */ - __Pyx_TraceLine(405,0,__PYX_ERR(0, 405, __pyx_L1_error)) + __Pyx_TraceLine(412,0,__PYX_ERR(0, 412, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":406 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":413 * if f is not None: f .close() * del f * del gzf1 # <<<<<<<<<<<<<< * del gzf2 * del gzf3 */ - __Pyx_TraceLine(406,0,__PYX_ERR(0, 406, __pyx_L1_error)) + __Pyx_TraceLine(413,0,__PYX_ERR(0, 413, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_gzf1); __pyx_v_gzf1 = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":407 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":414 * del f * del gzf1 * del gzf2 # <<<<<<<<<<<<<< * del gzf3 * */ - __Pyx_TraceLine(407,0,__PYX_ERR(0, 407, __pyx_L1_error)) + __Pyx_TraceLine(414,0,__PYX_ERR(0, 414, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_gzf2); __pyx_v_gzf2 = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":408 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":415 * del gzf1 * del gzf2 * del gzf3 # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L1_error)) + __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_gzf3); __pyx_v_gzf3 = NULL; goto __pyx_L5; @@ -13943,18 +14190,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __pyx_t_8 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename; { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":401 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":408 * * finally: * if gzf3 is not None: gzf3.close() # <<<<<<<<<<<<<< * if gzf2 is not None: gzf2.close() * if gzf1 is not None: gzf1.close() */ - __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L11_error)) + __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L11_error)) __pyx_t_9 = (__pyx_v_gzf3 != Py_None); __pyx_t_10 = (__pyx_t_9 != 0); if (__pyx_t_10) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 401, __pyx_L11_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 408, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -13968,24 +14215,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L11_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 408, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":402 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":409 * finally: * if gzf3 is not None: gzf3.close() * if gzf2 is not None: gzf2.close() # <<<<<<<<<<<<<< * if gzf1 is not None: gzf1.close() * if f is not None: f .close() */ - __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L11_error)) + __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L11_error)) __pyx_t_10 = (__pyx_v_gzf2 != Py_None); __pyx_t_9 = (__pyx_t_10 != 0); if (__pyx_t_9) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L11_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 409, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -13999,24 +14246,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L11_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":403 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":410 * if gzf3 is not None: gzf3.close() * if gzf2 is not None: gzf2.close() * if gzf1 is not None: gzf1.close() # <<<<<<<<<<<<<< * if f is not None: f .close() * del f */ - __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L11_error)) + __Pyx_TraceLine(410,0,__PYX_ERR(0, 410, __pyx_L11_error)) __pyx_t_9 = (__pyx_v_gzf1 != Py_None); __pyx_t_10 = (__pyx_t_9 != 0); if (__pyx_t_10) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L11_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 410, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -14030,24 +14277,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L11_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 410, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":404 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 * if gzf2 is not None: gzf2.close() * if gzf1 is not None: gzf1.close() * if f is not None: f .close() # <<<<<<<<<<<<<< * del f * del gzf1 */ - __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L11_error)) + __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L11_error)) __pyx_t_10 = (__pyx_v_f != Py_None); __pyx_t_9 = (__pyx_t_10 != 0); if (__pyx_t_9) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L11_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 411, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -14061,53 +14308,53 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L11_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L11_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":405 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":412 * if gzf1 is not None: gzf1.close() * if f is not None: f .close() * del f # <<<<<<<<<<<<<< * del gzf1 * del gzf2 */ - __Pyx_TraceLine(405,0,__PYX_ERR(0, 405, __pyx_L11_error)) + __Pyx_TraceLine(412,0,__PYX_ERR(0, 412, __pyx_L11_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":406 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":413 * if f is not None: f .close() * del f * del gzf1 # <<<<<<<<<<<<<< * del gzf2 * del gzf3 */ - __Pyx_TraceLine(406,0,__PYX_ERR(0, 406, __pyx_L11_error)) + __Pyx_TraceLine(413,0,__PYX_ERR(0, 413, __pyx_L11_error)) __Pyx_DECREF(__pyx_v_gzf1); __pyx_v_gzf1 = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":407 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":414 * del f * del gzf1 * del gzf2 # <<<<<<<<<<<<<< * del gzf3 * */ - __Pyx_TraceLine(407,0,__PYX_ERR(0, 407, __pyx_L11_error)) + __Pyx_TraceLine(414,0,__PYX_ERR(0, 414, __pyx_L11_error)) __Pyx_DECREF(__pyx_v_gzf2); __pyx_v_gzf2 = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":408 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":415 * del gzf1 * del gzf2 * del gzf3 # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L11_error)) + __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L11_error)) __Pyx_DECREF(__pyx_v_gzf3); __pyx_v_gzf3 = NULL; } @@ -14140,7 +14387,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce __pyx_L5:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":378 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 * * * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< @@ -14176,7 +14423,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_acce return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":418 * * * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< @@ -14220,11 +14467,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prio case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_prioritize_fd_over_f", 1, 2, 2, 1); __PYX_ERR(0, 411, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_prioritize_fd_over_f", 1, 2, 2, 1); __PYX_ERR(0, 418, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_prioritize_fd_over_f") < 0)) __PYX_ERR(0, 411, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_prioritize_fd_over_f") < 0)) __PYX_ERR(0, 418, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14237,7 +14484,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prio } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_prioritize_fd_over_f", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 411, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_prioritize_fd_over_f", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 418, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_prioritize_fd_over_f", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -14276,45 +14523,45 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__44) + __Pyx_TraceFrameInit(__pyx_codeobj__43) __Pyx_RefNannySetupContext("test_prioritize_fd_over_f", 0); - __Pyx_TraceCall("test_prioritize_fd_over_f", __pyx_f[0], 411, 0, __PYX_ERR(0, 411, __pyx_L1_error)); + __Pyx_TraceCall("test_prioritize_fd_over_f", __pyx_f[0], 418, 0, __PYX_ERR(0, 418, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":416 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":423 * instead of the file-like object specified by fileobj (f). * """ * if sys.version_info[0] < 3: # <<<<<<<<<<<<<< * # We can't set the .read attribute in Python 2 * # because it's read-only, so skip it. */ - __Pyx_TraceLine(416,0,__PYX_ERR(0, 416, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 416, __pyx_L1_error) + __Pyx_TraceLine(423,0,__PYX_ERR(0, 423, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 416, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 416, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_3, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 416, __pyx_L1_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_3, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 416, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":419 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":426 * # We can't set the .read attribute in Python 2 * # because it's read-only, so skip it. * return # <<<<<<<<<<<<<< * * f = None */ - __Pyx_TraceLine(419,0,__PYX_ERR(0, 419, __pyx_L1_error)) + __Pyx_TraceLine(426,0,__PYX_ERR(0, 426, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":416 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":423 * instead of the file-like object specified by fileobj (f). * """ * if sys.version_info[0] < 3: # <<<<<<<<<<<<<< @@ -14323,47 +14570,47 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio */ } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":421 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":428 * return * * f = None # <<<<<<<<<<<<<< * gzf = None * */ - __Pyx_TraceLine(421,0,__PYX_ERR(0, 421, __pyx_L1_error)) + __Pyx_TraceLine(428,0,__PYX_ERR(0, 428, __pyx_L1_error)) __Pyx_INCREF(Py_None); __pyx_v_f = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":422 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":429 * * f = None * gzf = None # <<<<<<<<<<<<<< * * try: */ - __Pyx_TraceLine(422,0,__PYX_ERR(0, 422, __pyx_L1_error)) + __Pyx_TraceLine(429,0,__PYX_ERR(0, 429, __pyx_L1_error)) __Pyx_INCREF(Py_None); __pyx_v_gzf = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":424 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":431 * gzf = None * * try: # <<<<<<<<<<<<<< * f = open(testfile, 'rb') * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. */ - __Pyx_TraceLine(424,0,__PYX_ERR(0, 424, __pyx_L1_error)) + __Pyx_TraceLine(431,0,__PYX_ERR(0, 431, __pyx_L1_error)) /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":425 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":432 * * try: * f = open(testfile, 'rb') # <<<<<<<<<<<<<< * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. * gzf = igzip._IndexedGzipFile(fileobj=f) */ - __Pyx_TraceLine(425,0,__PYX_ERR(0, 425, __pyx_L5_error)) - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 425, __pyx_L5_error) + __Pyx_TraceLine(432,0,__PYX_ERR(0, 432, __pyx_L5_error)) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); @@ -14371,62 +14618,62 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 425, __pyx_L5_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":426 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":433 * try: * f = open(testfile, 'rb') * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. # <<<<<<<<<<<<<< * gzf = igzip._IndexedGzipFile(fileobj=f) * */ - __Pyx_TraceLine(426,0,__PYX_ERR(0, 426, __pyx_L5_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 426, __pyx_L5_error) + __Pyx_TraceLine(433,0,__PYX_ERR(0, 433, __pyx_L5_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_read, __pyx_t_1) < 0) __PYX_ERR(0, 426, __pyx_L5_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_read, __pyx_t_1) < 0) __PYX_ERR(0, 433, __pyx_L5_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":427 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":434 * f = open(testfile, 'rb') * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. * gzf = igzip._IndexedGzipFile(fileobj=f) # <<<<<<<<<<<<<< * * element = np.random.randint(0, nelems, 1) */ - __Pyx_TraceLine(427,0,__PYX_ERR(0, 427, __pyx_L5_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L5_error) + __Pyx_TraceLine(434,0,__PYX_ERR(0, 434, __pyx_L5_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 427, __pyx_L5_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L5_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 427, __pyx_L5_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __pyx_L5_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 434, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 434, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_gzf, __pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":429 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":436 * gzf = igzip._IndexedGzipFile(fileobj=f) * * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval = read_element(gzf, element) * */ - __Pyx_TraceLine(429,0,__PYX_ERR(0, 429, __pyx_L5_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L5_error) + __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L5_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 429, __pyx_L5_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 436, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L5_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -14444,7 +14691,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_4); } else @@ -14452,13 +14699,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { - __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 429, __pyx_L5_error) + __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 436, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -14472,7 +14719,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_int_1); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -14480,15 +14727,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio __pyx_v_element = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":430 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":437 * * element = np.random.randint(0, nelems, 1) * readval = read_element(gzf, element) # <<<<<<<<<<<<<< * * assert readval == element */ - __Pyx_TraceLine(430,0,__PYX_ERR(0, 430, __pyx_L5_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L5_error) + __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L5_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; __pyx_t_5 = 0; @@ -14505,7 +14752,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else @@ -14513,13 +14760,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L5_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { - __pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L5_error) + __pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL; @@ -14530,7 +14777,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_5, __pyx_v_element); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L5_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } @@ -14538,41 +14785,41 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio __pyx_v_readval = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":432 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":439 * readval = read_element(gzf, element) * * assert readval == element # <<<<<<<<<<<<<< * * finally: */ - __Pyx_TraceLine(432,0,__PYX_ERR(0, 432, __pyx_L5_error)) + __Pyx_TraceLine(439,0,__PYX_ERR(0, 439, __pyx_L5_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 432, __pyx_L5_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 432, __pyx_L5_error) + __pyx_t_4 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L5_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 439, __pyx_L5_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 432, __pyx_L5_error) + __PYX_ERR(0, 439, __pyx_L5_error) } } #endif } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":435 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":442 * * finally: * if gzf is not None: gzf.close() # <<<<<<<<<<<<<< * if f is not None: f .close() * del f */ - __Pyx_TraceLine(435,0,__PYX_ERR(0, 435, __pyx_L5_error)) + __Pyx_TraceLine(442,0,__PYX_ERR(0, 442, __pyx_L5_error)) /*finally:*/ { /*normal exit:*/{ __pyx_t_3 = (__pyx_v_gzf != Py_None); __pyx_t_7 = (__pyx_t_3 != 0); if (__pyx_t_7) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 435, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -14586,24 +14833,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 435, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":436 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":443 * finally: * if gzf is not None: gzf.close() * if f is not None: f .close() # <<<<<<<<<<<<<< * del f * del gzf */ - __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L1_error)) + __Pyx_TraceLine(443,0,__PYX_ERR(0, 443, __pyx_L1_error)) __pyx_t_7 = (__pyx_v_f != Py_None); __pyx_t_3 = (__pyx_t_7 != 0); if (__pyx_t_3) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -14617,31 +14864,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L1_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":437 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":444 * if gzf is not None: gzf.close() * if f is not None: f .close() * del f # <<<<<<<<<<<<<< * del gzf * */ - __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L1_error)) + __Pyx_TraceLine(444,0,__PYX_ERR(0, 444, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":438 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":445 * if f is not None: f .close() * del f * del gzf # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(438,0,__PYX_ERR(0, 438, __pyx_L1_error)) + __Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; goto __pyx_L6; @@ -14666,18 +14913,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio __pyx_t_5 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":435 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":442 * * finally: * if gzf is not None: gzf.close() # <<<<<<<<<<<<<< * if f is not None: f .close() * del f */ - __Pyx_TraceLine(435,0,__PYX_ERR(0, 435, __pyx_L10_error)) + __Pyx_TraceLine(442,0,__PYX_ERR(0, 442, __pyx_L10_error)) __pyx_t_3 = (__pyx_v_gzf != Py_None); __pyx_t_7 = (__pyx_t_3 != 0); if (__pyx_t_7) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 435, __pyx_L10_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -14691,24 +14938,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 435, __pyx_L10_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":436 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":443 * finally: * if gzf is not None: gzf.close() * if f is not None: f .close() # <<<<<<<<<<<<<< * del f * del gzf */ - __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L10_error)) + __Pyx_TraceLine(443,0,__PYX_ERR(0, 443, __pyx_L10_error)) __pyx_t_7 = (__pyx_v_f != Py_None); __pyx_t_3 = (__pyx_t_7 != 0); if (__pyx_t_3) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L10_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -14722,31 +14969,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L10_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L10_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":437 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":444 * if gzf is not None: gzf.close() * if f is not None: f .close() * del f # <<<<<<<<<<<<<< * del gzf * */ - __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L10_error)) + __Pyx_TraceLine(444,0,__PYX_ERR(0, 444, __pyx_L10_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":438 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":445 * if f is not None: f .close() * del f * del gzf # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(438,0,__PYX_ERR(0, 438, __pyx_L10_error)) + __Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L10_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; } @@ -14779,7 +15026,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio __pyx_L6:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":418 * * * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< @@ -14808,7 +15055,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prio return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":441 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":448 * * * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< @@ -14854,17 +15101,17 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_hand case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, 1); __PYX_ERR(0, 441, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, 1); __PYX_ERR(0, 448, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, 2); __PYX_ERR(0, 441, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, 2); __PYX_ERR(0, 448, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_handles_not_dropped") < 0)) __PYX_ERR(0, 441, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_handles_not_dropped") < 0)) __PYX_ERR(0, 448, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; @@ -14879,7 +15126,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_hand } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 441, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 448, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -14922,35 +15169,35 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__45) + __Pyx_TraceFrameInit(__pyx_codeobj__44) __Pyx_RefNannySetupContext("test_handles_not_dropped", 0); - __Pyx_TraceCall("test_handles_not_dropped", __pyx_f[0], 441, 0, __PYX_ERR(0, 441, __pyx_L1_error)); + __Pyx_TraceCall("test_handles_not_dropped", __pyx_f[0], 448, 0, __PYX_ERR(0, 448, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":444 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":451 * * # When drop_handles is False * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: # <<<<<<<<<<<<<< * fid = f.fileobj() * */ - __Pyx_TraceLine(444,0,__PYX_ERR(0, 444, __pyx_L1_error)) + __Pyx_TraceLine(451,0,__PYX_ERR(0, 451, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 444, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 444, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 444, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 451, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 451, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 444, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 444, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -14964,7 +15211,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L3_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -14982,15 +15229,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":445 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":452 * # When drop_handles is False * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: * fid = f.fileobj() # <<<<<<<<<<<<<< * * assert fid is not None */ - __Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 445, __pyx_L7_error) + __Pyx_TraceLine(452,0,__PYX_ERR(0, 452, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -15004,55 +15251,55 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 445, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 452, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_fid = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":447 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":454 * fid = f.fileobj() * * assert fid is not None # <<<<<<<<<<<<<< * * # Check that the file object */ - __Pyx_TraceLine(447,0,__PYX_ERR(0, 447, __pyx_L7_error)) + __Pyx_TraceLine(454,0,__PYX_ERR(0, 454, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { __pyx_t_9 = (__pyx_v_fid != Py_None); if (unlikely(!(__pyx_t_9 != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 447, __pyx_L7_error) + __PYX_ERR(0, 454, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":451 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":458 * # Check that the file object * # doesn't change across reads * for i in range(5): # <<<<<<<<<<<<<< * * element = np.random.randint(0, nelems, 1) */ - __Pyx_TraceLine(451,0,__PYX_ERR(0, 451, __pyx_L7_error)) + __Pyx_TraceLine(458,0,__PYX_ERR(0, 458, __pyx_L7_error)) for (__pyx_t_10 = 0; __pyx_t_10 < 5; __pyx_t_10+=1) { __pyx_v_i = __pyx_t_10; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":453 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":460 * for i in range(5): * * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval = read_element(f, element) * */ - __Pyx_TraceLine(453,0,__PYX_ERR(0, 453, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L7_error) + __Pyx_TraceLine(460,0,__PYX_ERR(0, 460, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -15070,7 +15317,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -15078,13 +15325,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 453, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -15098,7 +15345,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_11, __pyx_int_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -15106,15 +15353,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":454 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":461 * * element = np.random.randint(0, nelems, 1) * readval = read_element(f, element) # <<<<<<<<<<<<<< * * assert readval == element */ - __Pyx_TraceLine(454,0,__PYX_ERR(0, 454, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 454, __pyx_L7_error) + __Pyx_TraceLine(461,0,__PYX_ERR(0, 461, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 461, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; __pyx_t_11 = 0; @@ -15131,7 +15378,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -15139,13 +15386,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 454, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 461, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -15156,7 +15403,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_11, __pyx_v_element); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -15164,37 +15411,37 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":456 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":463 * readval = read_element(f, element) * * assert readval == element # <<<<<<<<<<<<<< * assert f.fileobj() is fid * */ - __Pyx_TraceLine(456,0,__PYX_ERR(0, 456, __pyx_L7_error)) + __Pyx_TraceLine(463,0,__PYX_ERR(0, 463, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 456, __pyx_L7_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 456, __pyx_L7_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 463, __pyx_L7_error) + __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 463, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_9)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 456, __pyx_L7_error) + __PYX_ERR(0, 463, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":457 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":464 * * assert readval == element * assert f.fileobj() is fid # <<<<<<<<<<<<<< * * # Also when given an open stream */ - __Pyx_TraceLine(457,0,__PYX_ERR(0, 457, __pyx_L7_error)) + __Pyx_TraceLine(464,0,__PYX_ERR(0, 464, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 457, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 464, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -15208,20 +15455,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 464, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = (__pyx_t_2 == __pyx_v_fid); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!(__pyx_t_9 != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 457, __pyx_L7_error) + __PYX_ERR(0, 464, __pyx_L7_error) } } #endif } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":444 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":451 * * # When drop_handles is False * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: # <<<<<<<<<<<<<< @@ -15240,20 +15487,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 444, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 451, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 444, __pyx_L9_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 451, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 444, __pyx_L9_except_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 451, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_9 < 0) __PYX_ERR(0, 444, __pyx_L9_except_error) + if (__pyx_t_9 < 0) __PYX_ERR(0, 451, __pyx_L9_except_error) __pyx_t_13 = ((!(__pyx_t_9 != 0)) != 0); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_2); @@ -15261,7 +15508,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 444, __pyx_L9_except_error) + __PYX_ERR(0, 451, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -15285,9 +15532,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 444, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -15302,16 +15549,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __pyx_L18:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":460 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":467 * * # Also when given an open stream * with open(testfile, 'rb') as f: # <<<<<<<<<<<<<< * with igzip._IndexedGzipFile(fileobj=f) as gzf: * */ - __Pyx_TraceLine(460,0,__PYX_ERR(0, 460, __pyx_L1_error)) + __Pyx_TraceLine(467,0,__PYX_ERR(0, 467, __pyx_L1_error)) /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); @@ -15319,12 +15566,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 460, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L19_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -15338,7 +15585,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L19_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L19_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -15356,30 +15603,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":461 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":468 * # Also when given an open stream * with open(testfile, 'rb') as f: * with igzip._IndexedGzipFile(fileobj=f) as gzf: # <<<<<<<<<<<<<< * * assert gzf.fileobj() is f */ - __Pyx_TraceLine(461,0,__PYX_ERR(0, 461, __pyx_L23_error)) + __Pyx_TraceLine(468,0,__PYX_ERR(0, 468, __pyx_L23_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L23_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 461, __pyx_L23_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L23_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 461, __pyx_L23_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 461, __pyx_L23_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 468, __pyx_L23_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 461, __pyx_L23_error) + __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 468, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_12); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 461, __pyx_L29_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L29_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -15393,7 +15640,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L29_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L29_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -15411,17 +15658,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __pyx_v_gzf = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":463 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":470 * with igzip._IndexedGzipFile(fileobj=f) as gzf: * * assert gzf.fileobj() is f # <<<<<<<<<<<<<< * * for i in range(5): */ - __Pyx_TraceLine(463,0,__PYX_ERR(0, 463, __pyx_L33_error)) + __Pyx_TraceLine(470,0,__PYX_ERR(0, 470, __pyx_L33_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L33_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 470, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -15435,43 +15682,43 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 463, __pyx_L33_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 470, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_13 = (__pyx_t_3 == __pyx_v_f); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!(__pyx_t_13 != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 463, __pyx_L33_error) + __PYX_ERR(0, 470, __pyx_L33_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":465 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":472 * assert gzf.fileobj() is f * * for i in range(5): # <<<<<<<<<<<<<< * * element = np.random.randint(0, nelems, 1) */ - __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L33_error)) + __Pyx_TraceLine(472,0,__PYX_ERR(0, 472, __pyx_L33_error)) for (__pyx_t_10 = 0; __pyx_t_10 < 5; __pyx_t_10+=1) { __pyx_v_i = __pyx_t_10; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":467 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 * for i in range(5): * * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval = read_element(gzf, element) * */ - __Pyx_TraceLine(467,0,__PYX_ERR(0, 467, __pyx_L33_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L33_error) + __Pyx_TraceLine(474,0,__PYX_ERR(0, 474, __pyx_L33_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L33_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 474, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L33_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -15489,7 +15736,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L33_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L33_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -15497,13 +15744,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L33_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L33_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 467, __pyx_L33_error) + __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 474, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -15517,7 +15764,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_11, __pyx_int_1); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L33_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -15525,15 +15772,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":468 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":475 * * element = np.random.randint(0, nelems, 1) * readval = read_element(gzf, element) # <<<<<<<<<<<<<< * * assert readval == element */ - __Pyx_TraceLine(468,0,__PYX_ERR(0, 468, __pyx_L33_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L33_error) + __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L33_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; __pyx_t_11 = 0; @@ -15550,7 +15797,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L33_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L33_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -15558,13 +15805,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L33_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L33_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_2 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L33_error) + __pyx_t_2 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -15575,7 +15822,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_11, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L33_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } @@ -15583,37 +15830,37 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":470 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":477 * readval = read_element(gzf, element) * * assert readval == element # <<<<<<<<<<<<<< * assert gzf.fileobj() is f * */ - __Pyx_TraceLine(470,0,__PYX_ERR(0, 470, __pyx_L33_error)) + __Pyx_TraceLine(477,0,__PYX_ERR(0, 477, __pyx_L33_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 470, __pyx_L33_error) - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 470, __pyx_L33_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L33_error) + __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 477, __pyx_L33_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_13)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 470, __pyx_L33_error) + __PYX_ERR(0, 477, __pyx_L33_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":471 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":478 * * assert readval == element * assert gzf.fileobj() is f # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L33_error)) + __Pyx_TraceLine(478,0,__PYX_ERR(0, 478, __pyx_L33_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L33_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -15627,20 +15874,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L33_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 478, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_13 = (__pyx_t_3 == __pyx_v_f); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!(__pyx_t_13 != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 471, __pyx_L33_error) + __PYX_ERR(0, 478, __pyx_L33_error) } } #endif } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":461 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":468 * # Also when given an open stream * with open(testfile, 'rb') as f: * with igzip._IndexedGzipFile(fileobj=f) as gzf: # <<<<<<<<<<<<<< @@ -15659,20 +15906,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 461, __pyx_L35_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 468, __pyx_L35_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 461, __pyx_L35_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 468, __pyx_L35_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 461, __pyx_L35_except_error) + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 468, __pyx_L35_except_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_17); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_13 < 0) __PYX_ERR(0, 461, __pyx_L35_except_error) + if (__pyx_t_13 < 0) __PYX_ERR(0, 468, __pyx_L35_except_error) __pyx_t_9 = ((!(__pyx_t_13 != 0)) != 0); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_3); @@ -15680,7 +15927,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 461, __pyx_L35_except_error) + __PYX_ERR(0, 468, __pyx_L35_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -15704,9 +15951,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand /*finally:*/ { /*normal exit:*/{ if (__pyx_t_12) { - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__25, NULL); + __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 461, __pyx_L23_error) + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 468, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } @@ -15721,7 +15968,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __pyx_L44:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":460 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":467 * * # Also when given an open stream * with open(testfile, 'rb') as f: # <<<<<<<<<<<<<< @@ -15740,20 +15987,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 460, __pyx_L25_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 467, __pyx_L25_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L25_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 467, __pyx_L25_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 460, __pyx_L25_except_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 467, __pyx_L25_except_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_9 < 0) __PYX_ERR(0, 460, __pyx_L25_except_error) + if (__pyx_t_9 < 0) __PYX_ERR(0, 467, __pyx_L25_except_error) __pyx_t_13 = ((!(__pyx_t_9 != 0)) != 0); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_2); @@ -15761,7 +16008,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 460, __pyx_L25_except_error) + __PYX_ERR(0, 467, __pyx_L25_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -15785,9 +16032,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 460, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -15802,7 +16049,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand __pyx_L48:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":441 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":448 * * * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< @@ -15832,7 +16079,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_hand return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 * * * def test_manual_build(): # <<<<<<<<<<<<<< @@ -15892,20 +16139,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__46) + __Pyx_TraceFrameInit(__pyx_codeobj__45) __Pyx_RefNannySetupContext("test_manual_build", 0); - __Pyx_TraceCall("test_manual_build", __pyx_f[0], 474, 0, __PYX_ERR(0, 474, __pyx_L1_error)); + __Pyx_TraceCall("test_manual_build", __pyx_f[0], 481, 0, __PYX_ERR(0, 481, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":475 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":482 * * def test_manual_build(): * with tempdir() as td: # <<<<<<<<<<<<<< * nelems = 65536 * fname = op.join(td, 'test.gz') */ - __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L1_error)) + __Pyx_TraceLine(482,0,__PYX_ERR(0, 482, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 482, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -15919,12 +16166,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 482, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 482, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -15938,7 +16185,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 482, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -15956,27 +16203,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":476 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":483 * def test_manual_build(): * with tempdir() as td: * nelems = 65536 # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * */ - __Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L7_error)) + __Pyx_TraceLine(483,0,__PYX_ERR(0, 483, __pyx_L7_error)) __pyx_v_nelems = 0x10000; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":477 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":484 * with tempdir() as td: * nelems = 65536 * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * * gen_test_data(fname, nelems, False) */ - __Pyx_TraceLine(477,0,__PYX_ERR(0, 477, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __pyx_L7_error) + __Pyx_TraceLine(484,0,__PYX_ERR(0, 484, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 477, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 484, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -15994,7 +16241,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -16002,13 +16249,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 477, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 484, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -16019,7 +16266,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -16027,17 +16274,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_v_fname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":479 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":486 * fname = op.join(td, 'test.gz') * * gen_test_data(fname, nelems, False) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(fname, auto_build=False) as f: */ - __Pyx_TraceLine(479,0,__PYX_ERR(0, 479, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 479, __pyx_L7_error) + __Pyx_TraceLine(486,0,__PYX_ERR(0, 486, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 486, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 479, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; __pyx_t_9 = 0; @@ -16054,7 +16301,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_fname, __pyx_t_5, Py_False}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -16063,14 +16310,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_fname, __pyx_t_5, Py_False}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { - __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 479, __pyx_L7_error) + __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 486, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -16084,43 +16331,43 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_GIVEREF(Py_False); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, Py_False); __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":488 * gen_test_data(fname, nelems, False) * * with igzip._IndexedGzipFile(fname, auto_build=False) as f: # <<<<<<<<<<<<<< * * # Seeking to 0 should work, but */ - __Pyx_TraceLine(481,0,__PYX_ERR(0, 481, __pyx_L7_error)) + __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 481, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 488, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 481, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 488, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_auto_build, Py_False) < 0) __PYX_ERR(0, 481, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 481, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_auto_build, Py_False) < 0) __PYX_ERR(0, 488, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 488, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 481, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 488, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L13_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -16134,7 +16381,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 481, __pyx_L13_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 488, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_10; @@ -16152,15 +16399,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_v_f = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":485 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":492 * # Seeking to 0 should work, but * # anywhere else should fail * f.seek(0) # <<<<<<<<<<<<<< * for off in [1, 2, 20, 200]: * with pytest.raises(igzip.NotCoveredError): */ - __Pyx_TraceLine(485,0,__PYX_ERR(0, 485, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 485, __pyx_L17_error) + __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 492, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -16174,48 +16421,48 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 485, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":486 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":493 * # anywhere else should fail * f.seek(0) * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< * with pytest.raises(igzip.NotCoveredError): * f.seek(off) */ - __Pyx_TraceLine(486,0,__PYX_ERR(0, 486, __pyx_L17_error)) - __pyx_t_3 = __pyx_tuple__47; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; + __Pyx_TraceLine(493,0,__PYX_ERR(0, 493, __pyx_L17_error)) + __pyx_t_3 = __pyx_tuple__46; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; for (;;) { if (__pyx_t_15 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 486, __pyx_L17_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 493, __pyx_L17_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L17_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 493, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":487 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":494 * f.seek(0) * for off in [1, 2, 20, 200]: * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< * f.seek(off) * */ - __Pyx_TraceLine(487,0,__PYX_ERR(0, 487, __pyx_L17_error)) + __Pyx_TraceLine(494,0,__PYX_ERR(0, 494, __pyx_L17_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pytest); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pytest); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 494, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_igzip); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 487, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_igzip); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 494, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; @@ -16231,12 +16478,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_10, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 487, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 494, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 487, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 494, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_16); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L25_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -16250,7 +16497,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_2 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __pyx_L25_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -16265,15 +16512,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XGOTREF(__pyx_t_19); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":488 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":495 * for off in [1, 2, 20, 200]: * with pytest.raises(igzip.NotCoveredError): * f.seek(off) # <<<<<<<<<<<<<< * * # Reading from beginning should work */ - __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L31_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 488, __pyx_L31_error) + __Pyx_TraceLine(495,0,__PYX_ERR(0, 495, __pyx_L31_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 495, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -16287,12 +16534,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_off) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_off); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 488, __pyx_L31_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 495, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":487 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":494 * f.seek(0) * for off in [1, 2, 20, 200]: * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< @@ -16311,20 +16558,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 487, __pyx_L33_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 494, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 487, __pyx_L33_except_error) + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 494, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_10, NULL); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 487, __pyx_L33_except_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 494, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 487, __pyx_L33_except_error) + if (__pyx_t_21 < 0) __PYX_ERR(0, 494, __pyx_L33_except_error) __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_5); @@ -16332,7 +16579,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_1); __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 487, __pyx_L33_except_error) + __PYX_ERR(0, 494, __pyx_L33_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -16356,9 +16603,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu /*finally:*/ { /*normal exit:*/{ if (__pyx_t_16) { - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__25, NULL); + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 487, __pyx_L17_error) + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 494, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } @@ -16373,28 +16620,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_L42:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":486 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":493 * # anywhere else should fail * f.seek(0) * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< * with pytest.raises(igzip.NotCoveredError): * f.seek(off) */ - __Pyx_TraceLine(486,0,__PYX_ERR(0, 486, __pyx_L17_error)) + __Pyx_TraceLine(493,0,__PYX_ERR(0, 493, __pyx_L17_error)) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":491 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":498 * * # Reading from beginning should work * readval = read_element(f, 0, seek=False) # <<<<<<<<<<<<<< * assert readval == 0 * */ - __Pyx_TraceLine(491,0,__PYX_ERR(0, 491, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L17_error) + __Pyx_TraceLine(498,0,__PYX_ERR(0, 498, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L17_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_f); __Pyx_GIVEREF(__pyx_v_f); @@ -16402,10 +16649,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_0); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 491, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 498, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 491, __pyx_L17_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 491, __pyx_L17_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 498, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 498, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -16413,44 +16660,44 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_v_readval = __pyx_t_5; __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":492 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":499 * # Reading from beginning should work * readval = read_element(f, 0, seek=False) * assert readval == 0 # <<<<<<<<<<<<<< * * # but subsequent reads should fail */ - __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L17_error)) + __Pyx_TraceLine(499,0,__PYX_ERR(0, 499, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 492, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 499, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 492, __pyx_L17_error) + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 499, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_22)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 492, __pyx_L17_error) + __PYX_ERR(0, 499, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":496 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":503 * # but subsequent reads should fail * # (n.b. this might change in the future) * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< * readval = read_element(f, 1, seek=False) * */ - __Pyx_TraceLine(496,0,__PYX_ERR(0, 496, __pyx_L17_error)) + __Pyx_TraceLine(503,0,__PYX_ERR(0, 503, __pyx_L17_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 503, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 496, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 503, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -16466,12 +16713,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 496, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 503, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 496, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 503, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_16); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L43_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L43_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -16485,7 +16732,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L43_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L43_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -16500,17 +16747,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XGOTREF(__pyx_t_17); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":497 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":504 * # (n.b. this might change in the future) * with pytest.raises(igzip.NotCoveredError): * readval = read_element(f, 1, seek=False) # <<<<<<<<<<<<<< * * # Seek should still fail even after read */ - __Pyx_TraceLine(497,0,__PYX_ERR(0, 497, __pyx_L47_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 497, __pyx_L47_error) + __Pyx_TraceLine(504,0,__PYX_ERR(0, 504, __pyx_L47_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 504, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L47_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 504, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_f); __Pyx_GIVEREF(__pyx_v_f); @@ -16518,10 +16765,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_1); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L47_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 497, __pyx_L47_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 497, __pyx_L47_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 504, __pyx_L47_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 504, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -16529,7 +16776,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":496 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":503 * # but subsequent reads should fail * # (n.b. this might change in the future) * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< @@ -16549,20 +16796,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 496, __pyx_L49_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 503, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 496, __pyx_L49_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 503, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 496, __pyx_L49_except_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 503, __pyx_L49_except_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_22 < 0) __PYX_ERR(0, 496, __pyx_L49_except_error) + if (__pyx_t_22 < 0) __PYX_ERR(0, 503, __pyx_L49_except_error) __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_2); @@ -16570,7 +16817,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 496, __pyx_L49_except_error) + __PYX_ERR(0, 503, __pyx_L49_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -16594,9 +16841,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu /*finally:*/ { /*normal exit:*/{ if (__pyx_t_16) { - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__25, NULL); + __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 496, __pyx_L17_error) + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 503, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } @@ -16611,23 +16858,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_L56:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":500 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":507 * * # Seek should still fail even after read * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< * f.seek(8) * */ - __Pyx_TraceLine(500,0,__PYX_ERR(0, 500, __pyx_L17_error)) + __Pyx_TraceLine(507,0,__PYX_ERR(0, 507, __pyx_L17_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 500, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 507, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -16643,12 +16890,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 507, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 500, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 507, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_16); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 500, __pyx_L57_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 507, __pyx_L57_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -16662,7 +16909,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L57_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L57_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -16677,15 +16924,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XGOTREF(__pyx_t_19); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":501 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":508 * # Seek should still fail even after read * with pytest.raises(igzip.NotCoveredError): * f.seek(8) # <<<<<<<<<<<<<< * * # But reading from beginning should still work */ - __Pyx_TraceLine(501,0,__PYX_ERR(0, 501, __pyx_L61_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 501, __pyx_L61_error) + __Pyx_TraceLine(508,0,__PYX_ERR(0, 508, __pyx_L61_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L61_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -16699,12 +16946,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L61_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L61_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":500 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":507 * * # Seek should still fail even after read * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< @@ -16724,20 +16971,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 500, __pyx_L63_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 507, __pyx_L63_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L63_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L63_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 500, __pyx_L63_except_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 507, __pyx_L63_except_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 500, __pyx_L63_except_error) + if (__pyx_t_21 < 0) __PYX_ERR(0, 507, __pyx_L63_except_error) __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_1); @@ -16745,7 +16992,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 500, __pyx_L63_except_error) + __PYX_ERR(0, 507, __pyx_L63_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -16769,9 +17016,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu /*finally:*/ { /*normal exit:*/{ if (__pyx_t_16) { - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__25, NULL); + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 500, __pyx_L17_error) + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 507, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } @@ -16786,15 +17033,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_L70:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":504 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":511 * * # But reading from beginning should still work * f.seek(0) # <<<<<<<<<<<<<< * readval = read_element(f, 0, seek=False) * assert readval == 0 */ - __Pyx_TraceLine(504,0,__PYX_ERR(0, 504, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 504, __pyx_L17_error) + __Pyx_TraceLine(511,0,__PYX_ERR(0, 511, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 511, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -16808,22 +17055,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 504, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 511, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":505 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":512 * # But reading from beginning should still work * f.seek(0) * readval = read_element(f, 0, seek=False) # <<<<<<<<<<<<<< * assert readval == 0 * */ - __Pyx_TraceLine(505,0,__PYX_ERR(0, 505, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 505, __pyx_L17_error) + __Pyx_TraceLine(512,0,__PYX_ERR(0, 512, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 505, __pyx_L17_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 512, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_f); __Pyx_GIVEREF(__pyx_v_f); @@ -16831,10 +17078,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_0); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 505, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 505, __pyx_L17_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 505, __pyx_L17_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 512, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 512, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -16842,36 +17089,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":506 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":513 * f.seek(0) * readval = read_element(f, 0, seek=False) * assert readval == 0 # <<<<<<<<<<<<<< * * # But after building the index, */ - __Pyx_TraceLine(506,0,__PYX_ERR(0, 506, __pyx_L17_error)) + __Pyx_TraceLine(513,0,__PYX_ERR(0, 513, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 506, __pyx_L17_error) + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 513, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_22)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 506, __pyx_L17_error) + __PYX_ERR(0, 513, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":510 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":517 * # But after building the index, * # seeking and reading should work * f.build_full_index() # <<<<<<<<<<<<<< * * for i in range(5): */ - __Pyx_TraceLine(510,0,__PYX_ERR(0, 510, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 510, __pyx_L17_error) + __Pyx_TraceLine(517,0,__PYX_ERR(0, 517, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 517, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -16885,39 +17132,39 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 510, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 517, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":512 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":519 * f.build_full_index() * * for i in range(5): # <<<<<<<<<<<<<< * element = np.random.randint(0, nelems, 1) * readval = read_element(f, element) */ - __Pyx_TraceLine(512,0,__PYX_ERR(0, 512, __pyx_L17_error)) + __Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L17_error)) for (__pyx_t_23 = 0; __pyx_t_23 < 5; __pyx_t_23+=1) { __pyx_v_i = __pyx_t_23; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":513 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":520 * * for i in range(5): * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< * readval = read_element(f, element) * assert readval == element */ - __Pyx_TraceLine(513,0,__PYX_ERR(0, 513, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L17_error) + __Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 513, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 513, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -16934,7 +17181,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_2, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -16943,14 +17190,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_2, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { - __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 513, __pyx_L17_error) + __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 520, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -16964,7 +17211,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, __pyx_int_1); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -16972,15 +17219,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":514 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":521 * for i in range(5): * element = np.random.randint(0, nelems, 1) * readval = read_element(f, element) # <<<<<<<<<<<<<< * assert readval == element * */ - __Pyx_TraceLine(514,0,__PYX_ERR(0, 514, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 514, __pyx_L17_error) + __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = NULL; __pyx_t_9 = 0; @@ -16997,7 +17244,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_f, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -17005,13 +17252,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_f, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 514, __pyx_L17_error) + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 521, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL; @@ -17022,7 +17269,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_INCREF(__pyx_v_element); __Pyx_GIVEREF(__pyx_v_element); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } @@ -17030,28 +17277,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":515 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":522 * element = np.random.randint(0, nelems, 1) * readval = read_element(f, element) * assert readval == element # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(515,0,__PYX_ERR(0, 515, __pyx_L17_error)) + __Pyx_TraceLine(522,0,__PYX_ERR(0, 522, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L17_error) - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 515, __pyx_L17_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L17_error) + __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 522, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_22)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 515, __pyx_L17_error) + __PYX_ERR(0, 522, __pyx_L17_error) } } #endif } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":488 * gen_test_data(fname, nelems, False) * * with igzip._IndexedGzipFile(fname, auto_build=False) as f: # <<<<<<<<<<<<<< @@ -17071,20 +17318,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 481, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 488, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 481, __pyx_L19_except_error) + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 488, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 481, __pyx_L19_except_error) + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 488, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_22 < 0) __PYX_ERR(0, 481, __pyx_L19_except_error) + if (__pyx_t_22 < 0) __PYX_ERR(0, 488, __pyx_L19_except_error) __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_3); @@ -17092,7 +17339,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 481, __pyx_L19_except_error) + __PYX_ERR(0, 488, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -17116,9 +17363,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 481, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 488, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -17133,7 +17380,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_L76:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":475 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":482 * * def test_manual_build(): * with tempdir() as td: # <<<<<<<<<<<<<< @@ -17153,20 +17400,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 475, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 482, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 475, __pyx_L9_except_error) + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 482, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 475, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 482, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 475, __pyx_L9_except_error) + if (__pyx_t_21 < 0) __PYX_ERR(0, 482, __pyx_L9_except_error) __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_2); @@ -17174,7 +17421,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 475, __pyx_L9_except_error) + __PYX_ERR(0, 482, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -17198,9 +17445,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 475, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 482, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -17215,7 +17462,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu __pyx_L80:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 * * * def test_manual_build(): # <<<<<<<<<<<<<< @@ -17247,7 +17494,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manu return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":518 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 * * * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< @@ -17296,23 +17543,23 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 1); __PYX_ERR(0, 518, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 1); __PYX_ERR(0, 525, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 2); __PYX_ERR(0, 518, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 2); __PYX_ERR(0, 525, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 3); __PYX_ERR(0, 518, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 3); __PYX_ERR(0, 525, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_all") < 0)) __PYX_ERR(0, 518, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_all") < 0)) __PYX_ERR(0, 525, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -17329,7 +17576,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 518, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 525, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -17363,32 +17610,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__48) + __Pyx_TraceFrameInit(__pyx_codeobj__47) __Pyx_RefNannySetupContext("test_read_all", 0); - __Pyx_TraceCall("test_read_all", __pyx_f[0], 518, 0, __PYX_ERR(0, 518, __pyx_L1_error)); + __Pyx_TraceCall("test_read_all", __pyx_f[0], 525, 0, __PYX_ERR(0, 525, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":520 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":527 * def test_read_all(testfile, nelems, use_mmap, drop): * * if use_mmap: # <<<<<<<<<<<<<< * pytest.skip('skipping test_read_all test as ' * 'it will require too much memory') */ - __Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 520, __pyx_L1_error) + __Pyx_TraceLine(527,0,__PYX_ERR(0, 527, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 527, __pyx_L1_error) if (__pyx_t_1) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":521 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":528 * * if use_mmap: * pytest.skip('skipping test_read_all test as ' # <<<<<<<<<<<<<< * 'it will require too much memory') * */ - __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L1_error) + __Pyx_TraceLine(528,0,__PYX_ERR(0, 528, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 521, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -17403,12 +17650,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_s_skipping_test_read_all_test_as_i) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_skipping_test_read_all_test_as_i); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 521, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":520 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":527 * def test_read_all(testfile, nelems, use_mmap, drop): * * if use_mmap: # <<<<<<<<<<<<<< @@ -17417,31 +17664,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read */ } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":524 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":531 * 'it will require too much memory') * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< * data = f.read(nelems * 8) * */ - __Pyx_TraceLine(524,0,__PYX_ERR(0, 524, __pyx_L1_error)) + __Pyx_TraceLine(531,0,__PYX_ERR(0, 531, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 524, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 524, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 531, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 531, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 524, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L4_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 531, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -17455,7 +17702,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 524, __pyx_L4_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __pyx_t_2; @@ -17473,17 +17720,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read __pyx_v_f = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":532 * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: * data = f.read(nelems * 8) # <<<<<<<<<<<<<< * * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) */ - __Pyx_TraceLine(525,0,__PYX_ERR(0, 525, __pyx_L8_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L8_error) + __Pyx_TraceLine(532,0,__PYX_ERR(0, 532, __pyx_L8_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 525, __pyx_L8_error) + __pyx_t_2 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -17498,13 +17745,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L8_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_data = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":524 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":531 * 'it will require too much memory') * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -17523,20 +17770,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 524, __pyx_L10_except_error) + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 531, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 524, __pyx_L10_except_error) + __pyx_t_6 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 531, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 524, __pyx_L10_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 531, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_1 < 0) __PYX_ERR(0, 524, __pyx_L10_except_error) + if (__pyx_t_1 < 0) __PYX_ERR(0, 531, __pyx_L10_except_error) __pyx_t_11 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_4); @@ -17544,7 +17791,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_3, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 524, __pyx_L10_except_error) + __PYX_ERR(0, 531, __pyx_L10_except_error) } __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -17568,9 +17815,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_5) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__25, NULL); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 524, __pyx_L1_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -17585,49 +17832,49 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read __pyx_L17:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":527 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":534 * data = f.read(nelems * 8) * * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) # <<<<<<<<<<<<<< * * # Check that every value is valid */ - __Pyx_TraceLine(527,0,__PYX_ERR(0, 527, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) + __Pyx_TraceLine(534,0,__PYX_ERR(0, 534, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 527, __pyx_L1_error) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 534, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 527, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 527, __pyx_L1_error) } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_v_data) < 0) __PYX_ERR(0, 527, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L1_error) + if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 534, __pyx_L1_error) } + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_v_data) < 0) __PYX_ERR(0, 534, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_6); __pyx_t_6 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":530 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":537 * * # Check that every value is valid * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(530,0,__PYX_ERR(0, 530, __pyx_L1_error)) + __Pyx_TraceLine(537,0,__PYX_ERR(0, 537, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 530, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_12 = 0; @@ -17644,7 +17891,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; - __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 530, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); } else @@ -17652,13 +17899,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; - __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 530, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif { - __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 530, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -17669,21 +17916,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_int_0); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 530, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 530, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_11)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 530, __pyx_L1_error) + __PYX_ERR(0, 537, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":518 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 * * * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< @@ -17710,7 +17957,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":533 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":540 * * * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< @@ -17752,19 +17999,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__49) + __Pyx_TraceFrameInit(__pyx_codeobj__48) __Pyx_RefNannySetupContext("test_simple_read_with_null_padding", 0); - __Pyx_TraceCall("test_simple_read_with_null_padding", __pyx_f[0], 533, 0, __PYX_ERR(0, 533, __pyx_L1_error)); + __Pyx_TraceCall("test_simple_read_with_null_padding", __pyx_f[0], 540, 0, __PYX_ERR(0, 540, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":536 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":543 * * * fileobj = BytesIO() # <<<<<<<<<<<<<< * * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: */ - __Pyx_TraceLine(536,0,__PYX_ERR(0, 536, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 536, __pyx_L1_error) + __Pyx_TraceLine(543,0,__PYX_ERR(0, 543, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -17778,37 +18025,37 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_fileobj = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":538 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":545 * fileobj = BytesIO() * * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< * f.write(b"hello world") * */ - __Pyx_TraceLine(538,0,__PYX_ERR(0, 538, __pyx_L1_error)) + __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 538, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 538, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 538, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 545, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 545, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 538, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 538, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -17822,7 +18069,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L3_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -17840,15 +18087,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":539 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":546 * * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: * f.write(b"hello world") # <<<<<<<<<<<<<< * * fileobj.write(b"\0" * 100) */ - __Pyx_TraceLine(539,0,__PYX_ERR(0, 539, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L7_error) + __Pyx_TraceLine(546,0,__PYX_ERR(0, 546, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -17862,12 +18109,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_kp_b_hello_world) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b_hello_world); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 539, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 546, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":538 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":545 * fileobj = BytesIO() * * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< @@ -17886,20 +18133,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_simple_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 538, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 545, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 538, __pyx_L9_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 545, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 538, __pyx_L9_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 545, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_10 < 0) __PYX_ERR(0, 538, __pyx_L9_except_error) + if (__pyx_t_10 < 0) __PYX_ERR(0, 545, __pyx_L9_except_error) __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_2); @@ -17907,7 +18154,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 538, __pyx_L9_except_error) + __PYX_ERR(0, 545, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -17931,9 +18178,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 538, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -17948,15 +18195,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __pyx_L16:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":541 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":548 * f.write(b"hello world") * * fileobj.write(b"\0" * 100) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(fileobj=fileobj) as f: */ - __Pyx_TraceLine(541,0,__PYX_ERR(0, 541, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error) + __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L1_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -17968,37 +18215,37 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __Pyx_DECREF_SET(__pyx_t_3, function); } } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__50) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__50); + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__49) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__49); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":543 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":550 * fileobj.write(b"\0" * 100) * * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< * assert f.read() == b"hello world" * f.seek(3) */ - __Pyx_TraceLine(543,0,__PYX_ERR(0, 543, __pyx_L1_error)) + __Pyx_TraceLine(550,0,__PYX_ERR(0, 550, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 543, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 543, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 550, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 550, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -18012,7 +18259,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_1; @@ -18030,17 +18277,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":544 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 * * with igzip._IndexedGzipFile(fileobj=fileobj) as f: * assert f.read() == b"hello world" # <<<<<<<<<<<<<< * f.seek(3) * assert f.read() == b"lo world" */ - __Pyx_TraceLine(544,0,__PYX_ERR(0, 544, __pyx_L21_error)) + __Pyx_TraceLine(551,0,__PYX_ERR(0, 551, __pyx_L21_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 544, __pyx_L21_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -18054,27 +18301,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L21_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 551, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_hello_world, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 544, __pyx_L21_error) + __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_hello_world, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 551, __pyx_L21_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_11)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 544, __pyx_L21_error) + __PYX_ERR(0, 551, __pyx_L21_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":545 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":552 * with igzip._IndexedGzipFile(fileobj=fileobj) as f: * assert f.read() == b"hello world" * f.seek(3) # <<<<<<<<<<<<<< * assert f.read() == b"lo world" * f.seek(20) */ - __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L21_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L21_error) + __Pyx_TraceLine(552,0,__PYX_ERR(0, 552, __pyx_L21_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 552, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -18088,22 +18335,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L21_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 552, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":546 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":553 * assert f.read() == b"hello world" * f.seek(3) * assert f.read() == b"lo world" # <<<<<<<<<<<<<< * f.seek(20) * assert f.read() == b"" */ - __Pyx_TraceLine(546,0,__PYX_ERR(0, 546, __pyx_L21_error)) + __Pyx_TraceLine(553,0,__PYX_ERR(0, 553, __pyx_L21_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 546, __pyx_L21_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 553, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -18117,27 +18364,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L21_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 553, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_lo_world, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 546, __pyx_L21_error) + __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_lo_world, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 553, __pyx_L21_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_11)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 546, __pyx_L21_error) + __PYX_ERR(0, 553, __pyx_L21_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":547 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":554 * f.seek(3) * assert f.read() == b"lo world" * f.seek(20) # <<<<<<<<<<<<<< * assert f.read() == b"" * */ - __Pyx_TraceLine(547,0,__PYX_ERR(0, 547, __pyx_L21_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 547, __pyx_L21_error) + __Pyx_TraceLine(554,0,__PYX_ERR(0, 554, __pyx_L21_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 554, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -18151,22 +18398,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_20) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_20); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 547, __pyx_L21_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 554, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":548 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":555 * assert f.read() == b"lo world" * f.seek(20) * assert f.read() == b"" # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L21_error)) + __Pyx_TraceLine(555,0,__PYX_ERR(0, 555, __pyx_L21_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 548, __pyx_L21_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 555, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -18180,19 +18427,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L21_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 555, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 548, __pyx_L21_error) + __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 555, __pyx_L21_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_11)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 548, __pyx_L21_error) + __PYX_ERR(0, 555, __pyx_L21_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":543 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":550 * fileobj.write(b"\0" * 100) * * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< @@ -18211,20 +18458,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_simple_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 543, __pyx_L23_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 550, __pyx_L23_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 543, __pyx_L23_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 550, __pyx_L23_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 543, __pyx_L23_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 550, __pyx_L23_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 543, __pyx_L23_except_error) + if (__pyx_t_11 < 0) __PYX_ERR(0, 550, __pyx_L23_except_error) __pyx_t_10 = ((!(__pyx_t_11 != 0)) != 0); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_3); @@ -18232,7 +18479,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 543, __pyx_L23_except_error) + __PYX_ERR(0, 550, __pyx_L23_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -18256,9 +18503,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 543, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -18273,7 +18520,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp __pyx_L30:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":533 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":540 * * * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< @@ -18300,7 +18547,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simp return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":558 * * * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< @@ -18346,17 +18593,17 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, 1); __PYX_ERR(0, 551, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, 1); __PYX_ERR(0, 558, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, 2); __PYX_ERR(0, 551, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, 2); __PYX_ERR(0, 558, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_with_null_padding") < 0)) __PYX_ERR(0, 551, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_with_null_padding") < 0)) __PYX_ERR(0, 558, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; @@ -18371,7 +18618,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 551, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 558, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -18407,32 +18654,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__51) + __Pyx_TraceFrameInit(__pyx_codeobj__50) __Pyx_RefNannySetupContext("test_read_with_null_padding", 0); - __Pyx_TraceCall("test_read_with_null_padding", __pyx_f[0], 551, 0, __PYX_ERR(0, 551, __pyx_L1_error)); + __Pyx_TraceCall("test_read_with_null_padding", __pyx_f[0], 558, 0, __PYX_ERR(0, 558, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":553 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":560 * def test_read_with_null_padding(testfile, nelems, use_mmap): * * if use_mmap: # <<<<<<<<<<<<<< * pytest.skip('skipping test_read_with_null_padding test ' * 'as it will require too much memory') */ - __Pyx_TraceLine(553,0,__PYX_ERR(0, 553, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 553, __pyx_L1_error) + __Pyx_TraceLine(560,0,__PYX_ERR(0, 560, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 560, __pyx_L1_error) if (__pyx_t_1) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":554 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":561 * * if use_mmap: * pytest.skip('skipping test_read_with_null_padding test ' # <<<<<<<<<<<<<< * 'as it will require too much memory') * */ - __Pyx_TraceLine(554,0,__PYX_ERR(0, 554, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 554, __pyx_L1_error) + __Pyx_TraceLine(561,0,__PYX_ERR(0, 561, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 554, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -18447,12 +18694,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_s_skipping_test_read_with_null_pad) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_skipping_test_read_with_null_pad); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 554, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":553 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":560 * def test_read_with_null_padding(testfile, nelems, use_mmap): * * if use_mmap: # <<<<<<<<<<<<<< @@ -18461,17 +18708,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read */ } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":557 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":564 * 'as it will require too much memory') * * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(fileobj=fileobj) as f: */ - __Pyx_TraceLine(557,0,__PYX_ERR(0, 557, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L1_error) + __Pyx_TraceLine(564,0,__PYX_ERR(0, 564, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); @@ -18479,10 +18726,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 557, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; @@ -18497,10 +18744,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read } __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_kp_b__50); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error) + __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_kp_b__49); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -18516,36 +18763,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 557, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_fileobj = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":559 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":566 * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) * * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< * data = f.read(nelems * 8) * # Read a bit further so we reach the zero-padded area. */ - __Pyx_TraceLine(559,0,__PYX_ERR(0, 559, __pyx_L1_error)) + __Pyx_TraceLine(566,0,__PYX_ERR(0, 566, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 559, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 559, __pyx_L1_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 559, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 566, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 559, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 559, __pyx_L4_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 566, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -18559,7 +18806,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L4_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L4_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __pyx_t_2; @@ -18577,17 +18824,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read __pyx_v_f = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":560 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":567 * * with igzip._IndexedGzipFile(fileobj=fileobj) as f: * data = f.read(nelems * 8) # <<<<<<<<<<<<<< * # Read a bit further so we reach the zero-padded area. * # This line should not throw an exception. */ - __Pyx_TraceLine(560,0,__PYX_ERR(0, 560, __pyx_L8_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 560, __pyx_L8_error) + __Pyx_TraceLine(567,0,__PYX_ERR(0, 567, __pyx_L8_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 567, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 560, __pyx_L8_error) + __pyx_t_2 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 567, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -18602,21 +18849,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 560, __pyx_L8_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 567, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_data = __pyx_t_4; __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":563 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":570 * # Read a bit further so we reach the zero-padded area. * # This line should not throw an exception. * f.read(1) # <<<<<<<<<<<<<< * * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) */ - __Pyx_TraceLine(563,0,__PYX_ERR(0, 563, __pyx_L8_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 563, __pyx_L8_error) + __Pyx_TraceLine(570,0,__PYX_ERR(0, 570, __pyx_L8_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 570, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -18630,12 +18877,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 563, __pyx_L8_error) + if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 570, __pyx_L8_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":559 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":566 * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) * * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< @@ -18655,20 +18902,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 559, __pyx_L10_except_error) + if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 566, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 559, __pyx_L10_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 566, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 559, __pyx_L10_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 566, __pyx_L10_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_1 < 0) __PYX_ERR(0, 559, __pyx_L10_except_error) + if (__pyx_t_1 < 0) __PYX_ERR(0, 566, __pyx_L10_except_error) __pyx_t_12 = ((!(__pyx_t_1 != 0)) != 0); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_4); @@ -18676,7 +18923,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 559, __pyx_L10_except_error) + __PYX_ERR(0, 566, __pyx_L10_except_error) } __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -18700,9 +18947,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_7) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__25, NULL); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 559, __pyx_L1_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -18717,49 +18964,49 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read __pyx_L17:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":565 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":572 * f.read(1) * * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) # <<<<<<<<<<<<<< * * # Check that every value is valid */ - __Pyx_TraceLine(565,0,__PYX_ERR(0, 565, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error) + __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 565, __pyx_L1_error) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 565, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 565, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 565, __pyx_L1_error) } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_v_data) < 0) __PYX_ERR(0, 565, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error) + if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 572, __pyx_L1_error) } + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_v_data) < 0) __PYX_ERR(0, 572, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":568 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":575 * * # Check that every value is valid * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(568,0,__PYX_ERR(0, 568, __pyx_L1_error)) + __Pyx_TraceLine(575,0,__PYX_ERR(0, 575, __pyx_L1_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 568, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; __pyx_t_13 = 0; @@ -18776,7 +19023,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -18784,13 +19031,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_4 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -18801,21 +19048,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_13, __pyx_int_0); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_12)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 568, __pyx_L1_error) + __PYX_ERR(0, 575, __pyx_L1_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":558 * * * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< @@ -18844,7 +19091,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":571 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 * * * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< @@ -18887,11 +19134,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_read_beyond_end", 1, 2, 2, 1); __PYX_ERR(0, 571, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_beyond_end", 1, 2, 2, 1); __PYX_ERR(0, 578, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_beyond_end") < 0)) __PYX_ERR(0, 571, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_beyond_end") < 0)) __PYX_ERR(0, 578, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -18904,7 +19151,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_read_beyond_end", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 571, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_read_beyond_end", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 578, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -18946,20 +19193,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__52) + __Pyx_TraceFrameInit(__pyx_codeobj__51) __Pyx_RefNannySetupContext("test_read_beyond_end", 0); - __Pyx_TraceCall("test_read_beyond_end", __pyx_f[0], 571, 0, __PYX_ERR(0, 571, __pyx_L1_error)); + __Pyx_TraceCall("test_read_beyond_end", __pyx_f[0], 578, 0, __PYX_ERR(0, 578, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":572 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":579 * * def test_read_beyond_end(concat, drop): * with tempdir() as tdir: # <<<<<<<<<<<<<< * nelems = 65536 * testfile = op.join(tdir, 'test.gz') */ - __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L1_error)) + __Pyx_TraceLine(579,0,__PYX_ERR(0, 579, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -18973,12 +19220,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 572, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 579, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -18992,7 +19239,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -19010,28 +19257,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __pyx_v_tdir = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":573 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":580 * def test_read_beyond_end(concat, drop): * with tempdir() as tdir: * nelems = 65536 # <<<<<<<<<<<<<< * testfile = op.join(tdir, 'test.gz') * */ - __Pyx_TraceLine(573,0,__PYX_ERR(0, 573, __pyx_L7_error)) + __Pyx_TraceLine(580,0,__PYX_ERR(0, 580, __pyx_L7_error)) __Pyx_INCREF(__pyx_int_65536); __pyx_v_nelems = __pyx_int_65536; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":574 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":581 * with tempdir() as tdir: * nelems = 65536 * testfile = op.join(tdir, 'test.gz') # <<<<<<<<<<<<<< * * gen_test_data(testfile, nelems, concat) */ - __Pyx_TraceLine(574,0,__PYX_ERR(0, 574, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L7_error) + __Pyx_TraceLine(581,0,__PYX_ERR(0, 581, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 581, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 574, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 581, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -19049,7 +19296,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 574, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 581, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -19057,13 +19304,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 574, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 581, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 574, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 581, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -19074,7 +19321,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 574, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 581, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -19082,15 +19329,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __pyx_v_testfile = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":576 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":583 * testfile = op.join(tdir, 'test.gz') * * gen_test_data(testfile, nelems, concat) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(filename=testfile, */ - __Pyx_TraceLine(576,0,__PYX_ERR(0, 576, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 576, __pyx_L7_error) + __Pyx_TraceLine(583,0,__PYX_ERR(0, 583, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 583, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -19107,7 +19354,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 583, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -19115,13 +19362,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 583, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 576, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 583, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -19135,57 +19382,57 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __Pyx_INCREF(__pyx_v_concat); __Pyx_GIVEREF(__pyx_v_concat); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 583, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":585 * gen_test_data(testfile, nelems, concat) * * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * readall_buf_size=1024, * drop_handles=drop) as f: */ - __Pyx_TraceLine(578,0,__PYX_ERR(0, 578, __pyx_L7_error)) + __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 578, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 578, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 578, __pyx_L7_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_readall_buf_size, __pyx_int_1024) < 0) __PYX_ERR(0, 578, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 585, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_readall_buf_size, __pyx_int_1024) < 0) __PYX_ERR(0, 585, __pyx_L7_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":580 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":587 * with igzip._IndexedGzipFile(filename=testfile, * readall_buf_size=1024, * drop_handles=drop) as f: # <<<<<<<<<<<<<< * # Try with a specific number of bytes * data1 = f.read(nelems * 8 + 10) */ - __Pyx_TraceLine(580,0,__PYX_ERR(0, 580, __pyx_L7_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_TraceLine(587,0,__PYX_ERR(0, 587, __pyx_L7_error)) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 585, __pyx_L7_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":585 * gen_test_data(testfile, nelems, concat) * * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< * readall_buf_size=1024, * drop_handles=drop) as f: */ - __Pyx_TraceLine(578,0,__PYX_ERR(0, 578, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L7_error) + __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 578, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 585, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 578, __pyx_L13_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -19199,7 +19446,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 578, __pyx_L13_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_3; @@ -19217,19 +19464,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":582 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":589 * drop_handles=drop) as f: * # Try with a specific number of bytes * data1 = f.read(nelems * 8 + 10) # <<<<<<<<<<<<<< * * # And also with unspecified numbytes */ - __Pyx_TraceLine(582,0,__PYX_ERR(0, 582, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L17_error) + __Pyx_TraceLine(589,0,__PYX_ERR(0, 589, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 582, __pyx_L17_error) + __pyx_t_3 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 582, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 589, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -19245,21 +19492,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 582, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_data1 = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":585 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":592 * * # And also with unspecified numbytes * f.seek(0) # <<<<<<<<<<<<<< * data2 = f.read() * */ - __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L17_error) + __Pyx_TraceLine(592,0,__PYX_ERR(0, 592, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -19273,20 +19520,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_0); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 592, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":586 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":593 * # And also with unspecified numbytes * f.seek(0) * data2 = f.read() # <<<<<<<<<<<<<< * * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) */ - __Pyx_TraceLine(586,0,__PYX_ERR(0, 586, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L17_error) + __Pyx_TraceLine(593,0,__PYX_ERR(0, 593, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -19300,13 +19547,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 586, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 593, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_data2 = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":585 * gen_test_data(testfile, nelems, concat) * * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< @@ -19325,20 +19572,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 578, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 585, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 578, __pyx_L19_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 578, __pyx_L19_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 585, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 578, __pyx_L19_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 585, __pyx_L19_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_2); @@ -19346,7 +19593,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 578, __pyx_L19_except_error) + __PYX_ERR(0, 585, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -19370,9 +19617,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 578, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 585, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -19387,81 +19634,81 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":588 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":595 * data2 = f.read() * * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) # <<<<<<<<<<<<<< * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) * assert check_data_valid(data1, 0) */ - __Pyx_TraceLine(588,0,__PYX_ERR(0, 588, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L7_error) + __Pyx_TraceLine(595,0,__PYX_ERR(0, 595, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 595, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 588, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 595, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 588, __pyx_L7_error) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 588, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 595, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 588, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 588, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 595, __pyx_L7_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_v_data1)) { __Pyx_RaiseUnboundLocalError("data1"); __PYX_ERR(0, 588, __pyx_L7_error) } - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_v_data1) < 0) __PYX_ERR(0, 588, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 588, __pyx_L7_error) + if (unlikely(!__pyx_v_data1)) { __Pyx_RaiseUnboundLocalError("data1"); __PYX_ERR(0, 595, __pyx_L7_error) } + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_v_data1) < 0) __PYX_ERR(0, 595, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_data1, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":589 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":596 * * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) # <<<<<<<<<<<<<< * assert check_data_valid(data1, 0) * assert check_data_valid(data2, 0) */ - __Pyx_TraceLine(589,0,__PYX_ERR(0, 589, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L7_error) + __Pyx_TraceLine(596,0,__PYX_ERR(0, 596, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 596, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 589, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 596, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 596, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 589, __pyx_L7_error) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 596, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 589, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 596, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_v_data2)) { __Pyx_RaiseUnboundLocalError("data2"); __PYX_ERR(0, 589, __pyx_L7_error) } - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_buffer, __pyx_v_data2) < 0) __PYX_ERR(0, 589, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L7_error) + if (unlikely(!__pyx_v_data2)) { __Pyx_RaiseUnboundLocalError("data2"); __PYX_ERR(0, 596, __pyx_L7_error) } + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_buffer, __pyx_v_data2) < 0) __PYX_ERR(0, 596, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_data2, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":590 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":597 * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) * assert check_data_valid(data1, 0) # <<<<<<<<<<<<<< * assert check_data_valid(data2, 0) * */ - __Pyx_TraceLine(590,0,__PYX_ERR(0, 590, __pyx_L7_error)) + __Pyx_TraceLine(597,0,__PYX_ERR(0, 597, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 590, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -19478,7 +19725,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data1, __pyx_int_0}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -19486,13 +19733,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data1, __pyx_int_0}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 590, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -19503,31 +19750,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_int_0); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 590, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 597, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 590, __pyx_L7_error) + __PYX_ERR(0, 597, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":591 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":598 * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) * assert check_data_valid(data1, 0) * assert check_data_valid(data2, 0) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(591,0,__PYX_ERR(0, 591, __pyx_L7_error)) + __Pyx_TraceLine(598,0,__PYX_ERR(0, 598, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 591, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; __pyx_t_9 = 0; @@ -19544,7 +19791,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_data2, __pyx_int_0}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -19552,13 +19799,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_data2, __pyx_int_0}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 591, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 598, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -19569,21 +19816,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_int_0); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 591, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 598, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 591, __pyx_L7_error) + __PYX_ERR(0, 598, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":572 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":579 * * def test_read_beyond_end(concat, drop): * with tempdir() as tdir: # <<<<<<<<<<<<<< @@ -19602,20 +19849,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 572, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 579, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 572, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 579, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 572, __pyx_L9_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 579, __pyx_L9_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_2); @@ -19623,7 +19870,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 572, __pyx_L9_except_error) + __PYX_ERR(0, 579, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -19647,9 +19894,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 572, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -19664,7 +19911,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read __pyx_L30:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":571 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 * * * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< @@ -19695,7 +19942,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":594 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":601 * * * def test_seek(concat): # <<<<<<<<<<<<<< @@ -19757,20 +20004,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__53) + __Pyx_TraceFrameInit(__pyx_codeobj__52) __Pyx_RefNannySetupContext("test_seek", 0); - __Pyx_TraceCall("test_seek", __pyx_f[0], 594, 0, __PYX_ERR(0, 594, __pyx_L1_error)); + __Pyx_TraceCall("test_seek", __pyx_f[0], 601, 0, __PYX_ERR(0, 601, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":595 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":602 * * def test_seek(concat): * with tempdir() as tdir: # <<<<<<<<<<<<<< * nelems = 262144 # == 2MB * testfile = op.join(tdir, 'test.gz') */ - __Pyx_TraceLine(595,0,__PYX_ERR(0, 595, __pyx_L1_error)) + __Pyx_TraceLine(602,0,__PYX_ERR(0, 602, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -19784,12 +20031,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 595, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -19803,7 +20050,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -19821,27 +20068,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __pyx_v_tdir = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":596 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":603 * def test_seek(concat): * with tempdir() as tdir: * nelems = 262144 # == 2MB # <<<<<<<<<<<<<< * testfile = op.join(tdir, 'test.gz') * gen_test_data(testfile, nelems, concat) */ - __Pyx_TraceLine(596,0,__PYX_ERR(0, 596, __pyx_L7_error)) + __Pyx_TraceLine(603,0,__PYX_ERR(0, 603, __pyx_L7_error)) __pyx_v_nelems = 0x40000; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":597 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":604 * with tempdir() as tdir: * nelems = 262144 # == 2MB * testfile = op.join(tdir, 'test.gz') # <<<<<<<<<<<<<< * gen_test_data(testfile, nelems, concat) * */ - __Pyx_TraceLine(597,0,__PYX_ERR(0, 597, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L7_error) + __Pyx_TraceLine(604,0,__PYX_ERR(0, 604, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 604, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 604, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -19859,7 +20106,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -19867,13 +20114,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 597, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 604, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -19884,7 +20131,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -19892,17 +20139,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __pyx_v_testfile = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":598 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":605 * nelems = 262144 # == 2MB * testfile = op.join(tdir, 'test.gz') * gen_test_data(testfile, nelems, concat) # <<<<<<<<<<<<<< * * results = [] */ - __Pyx_TraceLine(598,0,__PYX_ERR(0, 598, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L7_error) + __Pyx_TraceLine(605,0,__PYX_ERR(0, 605, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 605, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 598, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 605, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; __pyx_t_9 = 0; @@ -19919,7 +20166,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -19928,14 +20175,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { - __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 598, __pyx_L7_error) + __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 605, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -19949,56 +20196,56 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_v_concat); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, __pyx_v_concat); __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":600 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":607 * gen_test_data(testfile, nelems, concat) * * results = [] # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: */ - __Pyx_TraceLine(600,0,__PYX_ERR(0, 600, __pyx_L7_error)) - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L7_error) + __Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L7_error)) + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 607, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_results = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":602 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":609 * results = [] * * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: # <<<<<<<<<<<<<< * * results.append((f.read(8), 0)) */ - __Pyx_TraceLine(602,0,__PYX_ERR(0, 602, __pyx_L7_error)) + __Pyx_TraceLine(609,0,__PYX_ERR(0, 609, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_testfile); __Pyx_GIVEREF(__pyx_v_testfile); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 602, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 609, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 602, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 602, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 609, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 602, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 609, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L13_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -20012,7 +20259,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 602, __pyx_L13_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 609, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_10; @@ -20030,15 +20277,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __pyx_v_f = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":604 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":611 * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: * * results.append((f.read(8), 0)) # <<<<<<<<<<<<<< * * f.seek(24, SEEK_SET) */ - __Pyx_TraceLine(604,0,__PYX_ERR(0, 604, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 604, __pyx_L17_error) + __Pyx_TraceLine(611,0,__PYX_ERR(0, 611, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 611, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -20052,10 +20299,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_8); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 611, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 604, __pyx_L17_error) + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 611, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); @@ -20063,20 +20310,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_0); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 604, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 611, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":606 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":613 * results.append((f.read(8), 0)) * * f.seek(24, SEEK_SET) # <<<<<<<<<<<<<< * results.append((f.read(8), 3)) * */ - __Pyx_TraceLine(606,0,__PYX_ERR(0, 606, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 606, __pyx_L17_error) + __Pyx_TraceLine(613,0,__PYX_ERR(0, 613, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyInt_From_int(SEEK_SET); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 606, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyInt_From_int(SEEK_SET); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 613, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; __pyx_t_9 = 0; @@ -20093,7 +20340,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_24, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -20102,14 +20349,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_24, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L17_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 613, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -20120,22 +20367,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_t_10); __pyx_t_10 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 606, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":607 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":614 * * f.seek(24, SEEK_SET) * results.append((f.read(8), 3)) # <<<<<<<<<<<<<< * * f.seek(-16, SEEK_CUR) */ - __Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 607, __pyx_L17_error) + __Pyx_TraceLine(614,0,__PYX_ERR(0, 614, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 614, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -20149,10 +20396,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 607, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 614, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 607, __pyx_L17_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 614, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); @@ -20160,20 +20407,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_int_3); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_3); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_3); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 607, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_3); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 614, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":609 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":616 * results.append((f.read(8), 3)) * * f.seek(-16, SEEK_CUR) # <<<<<<<<<<<<<< * results.append((f.read(8), 2)) * */ - __Pyx_TraceLine(609,0,__PYX_ERR(0, 609, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L17_error) + __Pyx_TraceLine(616,0,__PYX_ERR(0, 616, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 616, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = NULL; __pyx_t_9 = 0; @@ -20190,7 +20437,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_neg_16, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -20199,14 +20446,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_neg_16, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __pyx_L17_error) + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 616, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL; @@ -20217,22 +20464,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":610 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":617 * * f.seek(-16, SEEK_CUR) * results.append((f.read(8), 2)) # <<<<<<<<<<<<<< * * f.seek(16, SEEK_CUR) */ - __Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 610, __pyx_L17_error) + __Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -20246,10 +20493,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 610, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 610, __pyx_L17_error) + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); @@ -20257,20 +20504,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_int_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_2); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 610, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 617, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":612 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":619 * results.append((f.read(8), 2)) * * f.seek(16, SEEK_CUR) # <<<<<<<<<<<<<< * results.append((f.read(8), 5)) * */ - __Pyx_TraceLine(612,0,__PYX_ERR(0, 612, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 612, __pyx_L17_error) + __Pyx_TraceLine(619,0,__PYX_ERR(0, 619, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 619, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 612, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 619, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; __pyx_t_9 = 0; @@ -20287,7 +20534,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_int_16, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 619, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20296,14 +20543,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_int_16, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 619, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { - __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 612, __pyx_L17_error) + __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 619, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -20314,22 +20561,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 619, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":613 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":620 * * f.seek(16, SEEK_CUR) * results.append((f.read(8), 5)) # <<<<<<<<<<<<<< * * # SEEK_END only works when index is built */ - __Pyx_TraceLine(613,0,__PYX_ERR(0, 613, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L17_error) + __Pyx_TraceLine(620,0,__PYX_ERR(0, 620, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 620, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -20343,10 +20590,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_10, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 620, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L17_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 620, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); @@ -20354,21 +20601,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_int_5); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_5); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_3); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 613, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_3); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 620, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":616 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":623 * * # SEEK_END only works when index is built * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * f.seek(-100, SEEK_END) * */ - __Pyx_TraceLine(616,0,__PYX_ERR(0, 616, __pyx_L17_error)) + __Pyx_TraceLine(623,0,__PYX_ERR(0, 623, __pyx_L17_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 616, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 623, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -20383,12 +20630,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 623, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 616, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 623, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_16); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L23_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -20402,7 +20649,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 616, __pyx_L23_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 623, __pyx_L23_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -20417,17 +20664,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XGOTREF(__pyx_t_19); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":617 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":624 * # SEEK_END only works when index is built * with pytest.raises(ValueError): * f.seek(-100, SEEK_END) # <<<<<<<<<<<<<< * * f.build_full_index() */ - __Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L27_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 617, __pyx_L27_error) + __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L27_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L27_error) + __pyx_t_5 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 624, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; __pyx_t_9 = 0; @@ -20444,7 +20691,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_neg_100, __pyx_t_5}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L27_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L27_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -20453,14 +20700,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_neg_100, __pyx_t_5}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L27_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L27_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L27_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -20471,14 +20718,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_t_5); __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L27_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":616 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":623 * * # SEEK_END only works when index is built * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -20498,20 +20745,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_1) < 0) __PYX_ERR(0, 616, __pyx_L29_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_1) < 0) __PYX_ERR(0, 623, __pyx_L29_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L29_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L29_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 616, __pyx_L29_except_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 623, __pyx_L29_except_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 616, __pyx_L29_except_error) + if (__pyx_t_21 < 0) __PYX_ERR(0, 623, __pyx_L29_except_error) __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_3); @@ -20519,7 +20766,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_10, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 616, __pyx_L29_except_error) + __PYX_ERR(0, 623, __pyx_L29_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -20543,9 +20790,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek /*finally:*/ { /*normal exit:*/{ if (__pyx_t_16) { - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__25, NULL); + __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 616, __pyx_L17_error) + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 623, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } @@ -20560,15 +20807,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __pyx_L36:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":619 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":626 * f.seek(-100, SEEK_END) * * f.build_full_index() # <<<<<<<<<<<<<< * * f.seek(-800, SEEK_END) */ - __Pyx_TraceLine(619,0,__PYX_ERR(0, 619, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 619, __pyx_L17_error) + __Pyx_TraceLine(626,0,__PYX_ERR(0, 626, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 626, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { @@ -20582,22 +20829,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_10); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 619, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":621 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":628 * f.build_full_index() * * f.seek(-800, SEEK_END) # <<<<<<<<<<<<<< * results.append((f.read(8), 262044)) * */ - __Pyx_TraceLine(621,0,__PYX_ERR(0, 621, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 621, __pyx_L17_error) + __Pyx_TraceLine(628,0,__PYX_ERR(0, 628, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 628, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 621, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 628, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -20614,7 +20861,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_int_neg_800, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -20623,14 +20870,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_int_neg_800, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 621, __pyx_L17_error) + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -20641,22 +20888,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_t_3); __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":622 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":629 * * f.seek(-800, SEEK_END) * results.append((f.read(8), 262044)) # <<<<<<<<<<<<<< * * f.seek(-3200, SEEK_END) */ - __Pyx_TraceLine(622,0,__PYX_ERR(0, 622, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 622, __pyx_L17_error) + __Pyx_TraceLine(629,0,__PYX_ERR(0, 629, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 629, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { @@ -20670,10 +20917,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_int_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 629, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 622, __pyx_L17_error) + __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 629, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); @@ -20681,20 +20928,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_int_262044); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_int_262044); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_10); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 622, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_10); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 629, __pyx_L17_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":624 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":631 * results.append((f.read(8), 262044)) * * f.seek(-3200, SEEK_END) # <<<<<<<<<<<<<< * results.append((f.read(8), 261744)) * */ - __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L17_error) + __Pyx_TraceLine(631,0,__PYX_ERR(0, 631, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 624, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_9 = 0; @@ -20711,7 +20958,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_neg_3200, __pyx_t_2}; - __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 631, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -20720,14 +20967,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_neg_3200, __pyx_t_2}; - __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 631, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 624, __pyx_L17_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 631, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -20738,22 +20985,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 631, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":625 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 * * f.seek(-3200, SEEK_END) * results.append((f.read(8), 261744)) # <<<<<<<<<<<<<< * * for data, expected in results: */ - __Pyx_TraceLine(625,0,__PYX_ERR(0, 625, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 625, __pyx_L17_error) + __Pyx_TraceLine(632,0,__PYX_ERR(0, 632, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -20767,10 +21014,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek } __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 625, __pyx_L17_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 632, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 625, __pyx_L17_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_10); @@ -20778,10 +21025,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GIVEREF(__pyx_int_261744); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_261744); __pyx_t_10 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_1); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 625, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_1); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 632, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":602 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":609 * results = [] * * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: # <<<<<<<<<<<<<< @@ -20801,20 +21048,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 602, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 609, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L19_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 602, __pyx_L19_except_error) + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 609, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_22 < 0) __PYX_ERR(0, 602, __pyx_L19_except_error) + if (__pyx_t_22 < 0) __PYX_ERR(0, 609, __pyx_L19_except_error) __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_1); @@ -20822,7 +21069,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_10, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 602, __pyx_L19_except_error) + __PYX_ERR(0, 609, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -20846,9 +21093,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 602, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 609, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -20863,21 +21110,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __pyx_L40:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":627 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":634 * results.append((f.read(8), 261744)) * * for data, expected in results: # <<<<<<<<<<<<<< * val = np.frombuffer(data, dtype=np.uint64) * assert val == expected */ - __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L7_error)) + __Pyx_TraceLine(634,0,__PYX_ERR(0, 634, __pyx_L7_error)) __pyx_t_5 = __pyx_v_results; __Pyx_INCREF(__pyx_t_5); __pyx_t_23 = 0; for (;;) { if (__pyx_t_23 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_10 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_23); __Pyx_INCREF(__pyx_t_10); __pyx_t_23++; if (unlikely(0 < 0)) __PYX_ERR(0, 627, __pyx_L7_error) + __pyx_t_10 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_23); __Pyx_INCREF(__pyx_t_10); __pyx_t_23++; if (unlikely(0 < 0)) __PYX_ERR(0, 634, __pyx_L7_error) #else - __pyx_t_10 = PySequence_ITEM(__pyx_t_5, __pyx_t_23); __pyx_t_23++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 627, __pyx_L7_error) + __pyx_t_10 = PySequence_ITEM(__pyx_t_5, __pyx_t_23); __pyx_t_23++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 634, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); #endif if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) { @@ -20886,7 +21133,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 627, __pyx_L7_error) + __PYX_ERR(0, 634, __pyx_L7_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -20899,15 +21146,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); #else - __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 627, __pyx_L7_error) + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 627, __pyx_L7_error) + __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 627, __pyx_L7_error) + __pyx_t_3 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 634, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_24 = Py_TYPE(__pyx_t_3)->tp_iternext; @@ -20915,7 +21162,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_2 = __pyx_t_24(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L43_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_24(__pyx_t_3), 2) < 0) __PYX_ERR(0, 627, __pyx_L7_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_24(__pyx_t_3), 2) < 0) __PYX_ERR(0, 634, __pyx_L7_error) __pyx_t_24 = NULL; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L44_unpacking_done; @@ -20923,7 +21170,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_24 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 627, __pyx_L7_error) + __PYX_ERR(0, 634, __pyx_L7_error) __pyx_L44_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); @@ -20931,34 +21178,34 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":628 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":635 * * for data, expected in results: * val = np.frombuffer(data, dtype=np.uint64) # <<<<<<<<<<<<<< * assert val == expected * */ - __Pyx_TraceLine(628,0,__PYX_ERR(0, 628, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_TraceLine(635,0,__PYX_ERR(0, 635, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 635, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 635, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 628, __pyx_L7_error) + __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 635, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_data); __Pyx_GIVEREF(__pyx_v_data); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_data); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 635, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 628, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 635, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 628, __pyx_L7_error) + __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 635, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_25) < 0) __PYX_ERR(0, 628, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_25) < 0) __PYX_ERR(0, 635, __pyx_L7_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 628, __pyx_L7_error) + __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 635, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -20966,38 +21213,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_25); __pyx_t_25 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":629 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":636 * for data, expected in results: * val = np.frombuffer(data, dtype=np.uint64) * assert val == expected # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(629,0,__PYX_ERR(0, 629, __pyx_L7_error)) + __Pyx_TraceLine(636,0,__PYX_ERR(0, 636, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_25 = PyObject_RichCompare(__pyx_v_val, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_25); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 629, __pyx_L7_error) - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_25); if (unlikely(__pyx_t_21 < 0)) __PYX_ERR(0, 629, __pyx_L7_error) + __pyx_t_25 = PyObject_RichCompare(__pyx_v_val, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_25); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 636, __pyx_L7_error) + __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_25); if (unlikely(__pyx_t_21 < 0)) __PYX_ERR(0, 636, __pyx_L7_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (unlikely(!__pyx_t_21)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 629, __pyx_L7_error) + __PYX_ERR(0, 636, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":627 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":634 * results.append((f.read(8), 261744)) * * for data, expected in results: # <<<<<<<<<<<<<< * val = np.frombuffer(data, dtype=np.uint64) * assert val == expected */ - __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L7_error)) + __Pyx_TraceLine(634,0,__PYX_ERR(0, 634, __pyx_L7_error)) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":595 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":602 * * def test_seek(concat): * with tempdir() as tdir: # <<<<<<<<<<<<<< @@ -21018,20 +21265,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_25, &__pyx_t_1) < 0) __PYX_ERR(0, 595, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_25, &__pyx_t_1) < 0) __PYX_ERR(0, 602, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_25); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_25, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 595, __pyx_L9_except_error) + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_25, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 602, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 595, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 602, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 595, __pyx_L9_except_error) + if (__pyx_t_21 < 0) __PYX_ERR(0, 602, __pyx_L9_except_error) __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_5); @@ -21039,7 +21286,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_25, __pyx_t_1); __pyx_t_5 = 0; __pyx_t_25 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 595, __pyx_L9_except_error) + __PYX_ERR(0, 602, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; @@ -21063,9 +21310,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 595, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -21080,7 +21327,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek __pyx_L48:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":594 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":601 * * * def test_seek(concat): # <<<<<<<<<<<<<< @@ -21114,7 +21361,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":639 * * * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< @@ -21166,29 +21413,29 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 1); __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 1); __PYX_ERR(0, 639, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 2); __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 2); __PYX_ERR(0, 639, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 3); __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 3); __PYX_ERR(0, 639, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 4); __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 4); __PYX_ERR(0, 639, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_and_read") < 0)) __PYX_ERR(0, 632, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_and_read") < 0)) __PYX_ERR(0, 639, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { goto __pyx_L5_argtuple_error; @@ -21207,7 +21454,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 632, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 639, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21249,35 +21496,35 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__54) + __Pyx_TraceFrameInit(__pyx_codeobj__53) __Pyx_RefNannySetupContext("test_seek_and_read", 0); - __Pyx_TraceCall("test_seek_and_read", __pyx_f[0], 632, 0, __PYX_ERR(0, 632, __pyx_L1_error)); + __Pyx_TraceCall("test_seek_and_read", __pyx_f[0], 639, 0, __PYX_ERR(0, 639, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":634 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":641 * def test_seek_and_read(testfile, nelems, niters, seed, drop): * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< * * # Pick some random elements and make */ - __Pyx_TraceLine(634,0,__PYX_ERR(0, 634, __pyx_L1_error)) + __Pyx_TraceLine(641,0,__PYX_ERR(0, 641, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 634, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 634, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 634, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 641, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 641, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 634, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -21291,7 +21538,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L3_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -21309,20 +21556,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":638 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":645 * # Pick some random elements and make * # sure their values are all right * seekelems = np.random.randint(0, nelems, niters) # <<<<<<<<<<<<<< * * for i, testval in enumerate(seekelems): */ - __Pyx_TraceLine(638,0,__PYX_ERR(0, 638, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 638, __pyx_L7_error) + __Pyx_TraceLine(645,0,__PYX_ERR(0, 645, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 645, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 638, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 638, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 645, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -21340,7 +21587,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -21348,13 +21595,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 638, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -21368,7 +21615,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __Pyx_INCREF(__pyx_v_niters); __Pyx_GIVEREF(__pyx_v_niters); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_v_niters); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -21376,40 +21623,40 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __pyx_v_seekelems = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":640 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":647 * seekelems = np.random.randint(0, nelems, niters) * * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< * * readval = read_element(f, testval) */ - __Pyx_TraceLine(640,0,__PYX_ERR(0, 640, __pyx_L7_error)) + __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L7_error)) __Pyx_INCREF(__pyx_int_0); __pyx_t_2 = __pyx_int_0; if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { __pyx_t_3 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { - __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 640, __pyx_L7_error) + __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 647, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 640, __pyx_L7_error) + __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 647, __pyx_L7_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 640, __pyx_L7_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 647, __pyx_L7_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L7_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 640, __pyx_L7_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 647, __pyx_L7_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L7_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); #endif } @@ -21419,7 +21666,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 640, __pyx_L7_error) + else __PYX_ERR(0, 647, __pyx_L7_error) } break; } @@ -21429,21 +21676,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = __pyx_t_5; __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":642 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":649 * for i, testval in enumerate(seekelems): * * readval = read_element(f, testval) # <<<<<<<<<<<<<< * * ft = f.tell() */ - __Pyx_TraceLine(642,0,__PYX_ERR(0, 642, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L7_error) + __Pyx_TraceLine(649,0,__PYX_ERR(0, 649, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = NULL; __pyx_t_9 = 0; @@ -21460,7 +21707,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_f, __pyx_v_testval}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 649, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_5); } else @@ -21468,13 +21715,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_f, __pyx_v_testval}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 649, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { - __pyx_t_13 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 642, __pyx_L7_error) + __pyx_t_13 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 649, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL; @@ -21485,7 +21732,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __Pyx_INCREF(__pyx_v_testval); __Pyx_GIVEREF(__pyx_v_testval); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_9, __pyx_v_testval); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 649, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -21493,15 +21740,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":644 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":651 * readval = read_element(f, testval) * * ft = f.tell() # <<<<<<<<<<<<<< * * assert ft == (testval + 1) * 8 */ - __Pyx_TraceLine(644,0,__PYX_ERR(0, 644, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 644, __pyx_L7_error) + __Pyx_TraceLine(651,0,__PYX_ERR(0, 651, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -21515,71 +21762,71 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek } __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 644, __pyx_L7_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 651, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":646 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":653 * ft = f.tell() * * assert ft == (testval + 1) * 8 # <<<<<<<<<<<<<< * assert readval == testval * */ - __Pyx_TraceLine(646,0,__PYX_ERR(0, 646, __pyx_L7_error)) + __Pyx_TraceLine(653,0,__PYX_ERR(0, 653, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_testval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 646, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_testval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 653, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L7_error) + __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 653, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_ft, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 646, __pyx_L7_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_v_ft, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 653, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 646, __pyx_L7_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 653, __pyx_L7_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_14)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 646, __pyx_L7_error) + __PYX_ERR(0, 653, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":647 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":654 * * assert ft == (testval + 1) * 8 * assert readval == testval # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L7_error)) + __Pyx_TraceLine(654,0,__PYX_ERR(0, 654, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_testval, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L7_error) - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 647, __pyx_L7_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_testval, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L7_error) + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 654, __pyx_L7_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_14)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 647, __pyx_L7_error) + __PYX_ERR(0, 654, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":640 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":647 * seekelems = np.random.randint(0, nelems, niters) * * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< * * readval = read_element(f, testval) */ - __Pyx_TraceLine(640,0,__PYX_ERR(0, 640, __pyx_L7_error)) + __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L7_error)) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":634 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":641 * def test_seek_and_read(testfile, nelems, niters, seed, drop): * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -21600,20 +21847,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 634, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 641, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 634, __pyx_L9_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 641, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_14 < 0) __PYX_ERR(0, 634, __pyx_L9_except_error) + if (__pyx_t_14 < 0) __PYX_ERR(0, 641, __pyx_L9_except_error) __pyx_t_16 = ((!(__pyx_t_14 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_2); @@ -21621,7 +21868,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 634, __pyx_L9_except_error) + __PYX_ERR(0, 641, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -21645,9 +21892,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 634, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -21662,7 +21909,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek __pyx_L18:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":639 * * * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< @@ -21695,7 +21942,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":650 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":657 * * * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< @@ -21747,29 +21994,29 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 1); __PYX_ERR(0, 650, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 1); __PYX_ERR(0, 657, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 2); __PYX_ERR(0, 650, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 2); __PYX_ERR(0, 657, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 3); __PYX_ERR(0, 650, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 3); __PYX_ERR(0, 657, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 4); __PYX_ERR(0, 650, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 4); __PYX_ERR(0, 657, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_and_tell") < 0)) __PYX_ERR(0, 650, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_and_tell") < 0)) __PYX_ERR(0, 657, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { goto __pyx_L5_argtuple_error; @@ -21788,7 +22035,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 650, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 657, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_tell", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -21833,48 +22080,48 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__55) + __Pyx_TraceFrameInit(__pyx_codeobj__54) __Pyx_RefNannySetupContext("test_seek_and_tell", 0); - __Pyx_TraceCall("test_seek_and_tell", __pyx_f[0], 650, 0, __PYX_ERR(0, 650, __pyx_L1_error)); + __Pyx_TraceCall("test_seek_and_tell", __pyx_f[0], 657, 0, __PYX_ERR(0, 657, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":652 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":659 * def test_seek_and_tell(testfile, nelems, niters, seed, drop): * * filesize = nelems * 8 # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: */ - __Pyx_TraceLine(652,0,__PYX_ERR(0, 652, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error) + __Pyx_TraceLine(659,0,__PYX_ERR(0, 659, __pyx_L1_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_filesize = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":654 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":661 * filesize = nelems * 8 * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< * * # Pick some random seek positions */ - __Pyx_TraceLine(654,0,__PYX_ERR(0, 654, __pyx_L1_error)) + __Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 654, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 654, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 654, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 661, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 661, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 654, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 661, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -21888,7 +22135,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L3_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -21906,20 +22153,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":659 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":666 * # and make sure that seek and tell * # return their location correctly * seeklocs = np.random.randint(0, filesize, niters) # <<<<<<<<<<<<<< * * for seekloc in seeklocs: */ - __Pyx_TraceLine(659,0,__PYX_ERR(0, 659, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 659, __pyx_L7_error) + __Pyx_TraceLine(666,0,__PYX_ERR(0, 666, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 666, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 659, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 666, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 659, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 666, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -21937,7 +22184,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_filesize, __pyx_v_niters}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 666, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -21945,13 +22192,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_filesize, __pyx_v_niters}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 666, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 659, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 666, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -21965,7 +22212,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek __Pyx_INCREF(__pyx_v_niters); __Pyx_GIVEREF(__pyx_v_niters); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_v_niters); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 666, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -21973,38 +22220,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek __pyx_v_seeklocs = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":661 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":668 * seeklocs = np.random.randint(0, filesize, niters) * * for seekloc in seeklocs: # <<<<<<<<<<<<<< * * st = f.seek(seekloc) */ - __Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L7_error)) + __Pyx_TraceLine(668,0,__PYX_ERR(0, 668, __pyx_L7_error)) if (likely(PyList_CheckExact(__pyx_v_seeklocs)) || PyTuple_CheckExact(__pyx_v_seeklocs)) { __pyx_t_2 = __pyx_v_seeklocs; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { - __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_seeklocs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 661, __pyx_L7_error) + __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_seeklocs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 668, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 661, __pyx_L7_error) + __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 668, __pyx_L7_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 661, __pyx_L7_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 668, __pyx_L7_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L7_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 668, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 661, __pyx_L7_error) + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 668, __pyx_L7_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L7_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 668, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); #endif } @@ -22014,7 +22261,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 661, __pyx_L7_error) + else __PYX_ERR(0, 668, __pyx_L7_error) } break; } @@ -22023,15 +22270,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek __Pyx_XDECREF_SET(__pyx_v_seekloc, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":663 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":670 * for seekloc in seeklocs: * * st = f.seek(seekloc) # <<<<<<<<<<<<<< * ft = f.tell() * */ - __Pyx_TraceLine(663,0,__PYX_ERR(0, 663, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 663, __pyx_L7_error) + __Pyx_TraceLine(670,0,__PYX_ERR(0, 670, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 670, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -22045,21 +22292,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_seekloc) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_seekloc); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 663, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 670, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_st, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":664 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":671 * * st = f.seek(seekloc) * ft = f.tell() # <<<<<<<<<<<<<< * * assert ft == seekloc */ - __Pyx_TraceLine(664,0,__PYX_ERR(0, 664, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 664, __pyx_L7_error) + __Pyx_TraceLine(671,0,__PYX_ERR(0, 671, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 671, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -22073,138 +22320,138 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 664, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 671, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":666 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":673 * ft = f.tell() * * assert ft == seekloc # <<<<<<<<<<<<<< * assert st == seekloc * */ - __Pyx_TraceLine(666,0,__PYX_ERR(0, 666, __pyx_L7_error)) + __Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_ft, __pyx_v_seekloc, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 666, __pyx_L7_error) - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 666, __pyx_L7_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_ft, __pyx_v_seekloc, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 673, __pyx_L7_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_12)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 666, __pyx_L7_error) + __PYX_ERR(0, 673, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":667 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":674 * * assert ft == seekloc * assert st == seekloc # <<<<<<<<<<<<<< * * # Also test that seeking beyond */ - __Pyx_TraceLine(667,0,__PYX_ERR(0, 667, __pyx_L7_error)) + __Pyx_TraceLine(674,0,__PYX_ERR(0, 674, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_st, __pyx_v_seekloc, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 667, __pyx_L7_error) - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 667, __pyx_L7_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_st, __pyx_v_seekloc, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 674, __pyx_L7_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_12)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 667, __pyx_L7_error) + __PYX_ERR(0, 674, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":661 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":668 * seeklocs = np.random.randint(0, filesize, niters) * * for seekloc in seeklocs: # <<<<<<<<<<<<<< * * st = f.seek(seekloc) */ - __Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L7_error)) + __Pyx_TraceLine(668,0,__PYX_ERR(0, 668, __pyx_L7_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":672 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":679 * # EOF is clamped to EOF * eofseeks = [filesize, * filesize + 1, # <<<<<<<<<<<<<< * filesize + 2, * filesize + 3, */ - __Pyx_TraceLine(672,0,__PYX_ERR(0, 672, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 672, __pyx_L7_error) + __Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 679, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":673 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":680 * eofseeks = [filesize, * filesize + 1, * filesize + 2, # <<<<<<<<<<<<<< * filesize + 3, * filesize + 4, */ - __Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L7_error) + __Pyx_TraceLine(680,0,__PYX_ERR(0, 680, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 680, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":674 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":681 * filesize + 1, * filesize + 2, * filesize + 3, # <<<<<<<<<<<<<< * filesize + 4, * filesize + 1000, */ - __Pyx_TraceLine(674,0,__PYX_ERR(0, 674, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_3, 3, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 674, __pyx_L7_error) + __Pyx_TraceLine(681,0,__PYX_ERR(0, 681, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_3, 3, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 681, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":675 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":682 * filesize + 2, * filesize + 3, * filesize + 4, # <<<<<<<<<<<<<< * filesize + 1000, * filesize * 1000] */ - __Pyx_TraceLine(675,0,__PYX_ERR(0, 675, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_4, 4, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 675, __pyx_L7_error) + __Pyx_TraceLine(682,0,__PYX_ERR(0, 682, __pyx_L7_error)) + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_4, 4, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 682, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":676 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":683 * filesize + 3, * filesize + 4, * filesize + 1000, # <<<<<<<<<<<<<< * filesize * 1000] * */ - __Pyx_TraceLine(676,0,__PYX_ERR(0, 676, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 676, __pyx_L7_error) + __Pyx_TraceLine(683,0,__PYX_ERR(0, 683, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 683, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":677 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 * filesize + 4, * filesize + 1000, * filesize * 1000] # <<<<<<<<<<<<<< * * for es in eofseeks: */ - __Pyx_TraceLine(677,0,__PYX_ERR(0, 677, __pyx_L7_error)) - __pyx_t_14 = PyNumber_Multiply(__pyx_v_filesize, __pyx_int_1000); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 677, __pyx_L7_error) + __Pyx_TraceLine(684,0,__PYX_ERR(0, 684, __pyx_L7_error)) + __pyx_t_14 = PyNumber_Multiply(__pyx_v_filesize, __pyx_int_1000); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 684, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":671 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":678 * # Also test that seeking beyond * # EOF is clamped to EOF * eofseeks = [filesize, # <<<<<<<<<<<<<< * filesize + 1, * filesize + 2, */ - __Pyx_TraceLine(671,0,__PYX_ERR(0, 671, __pyx_L7_error)) - __pyx_t_15 = PyList_New(7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 671, __pyx_L7_error) + __Pyx_TraceLine(678,0,__PYX_ERR(0, 678, __pyx_L7_error)) + __pyx_t_15 = PyList_New(7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 678, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_v_filesize); __Pyx_GIVEREF(__pyx_v_filesize); @@ -22230,37 +22477,37 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek __pyx_v_eofseeks = ((PyObject*)__pyx_t_15); __pyx_t_15 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":679 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":686 * filesize * 1000] * * for es in eofseeks: # <<<<<<<<<<<<<< * assert f.seek(es) == filesize * assert f.tell() == filesize */ - __Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L7_error)) + __Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L7_error)) __pyx_t_15 = __pyx_v_eofseeks; __Pyx_INCREF(__pyx_t_15); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_14 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_10); __Pyx_INCREF(__pyx_t_14); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 679, __pyx_L7_error) + __pyx_t_14 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_10); __Pyx_INCREF(__pyx_t_14); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 686, __pyx_L7_error) #else - __pyx_t_14 = PySequence_ITEM(__pyx_t_15, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 679, __pyx_L7_error) + __pyx_t_14 = PySequence_ITEM(__pyx_t_15, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 686, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); #endif __Pyx_XDECREF_SET(__pyx_v_es, __pyx_t_14); __pyx_t_14 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":680 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":687 * * for es in eofseeks: * assert f.seek(es) == filesize # <<<<<<<<<<<<<< * assert f.tell() == filesize * */ - __Pyx_TraceLine(680,0,__PYX_ERR(0, 680, __pyx_L7_error)) + __Pyx_TraceLine(687,0,__PYX_ERR(0, 687, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 680, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 687, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -22274,31 +22521,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek } __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_v_es) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_es); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 680, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 687, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyObject_RichCompare(__pyx_t_14, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 680, __pyx_L7_error) + __pyx_t_13 = PyObject_RichCompare(__pyx_t_14, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 687, __pyx_L7_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 680, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 687, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_12)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 680, __pyx_L7_error) + __PYX_ERR(0, 687, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":681 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":688 * for es in eofseeks: * assert f.seek(es) == filesize * assert f.tell() == filesize # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(681,0,__PYX_ERR(0, 681, __pyx_L7_error)) + __Pyx_TraceLine(688,0,__PYX_ERR(0, 688, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 681, __pyx_L7_error) + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 688, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { @@ -22312,32 +22559,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek } __pyx_t_13 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_14); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 681, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 688, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyObject_RichCompare(__pyx_t_13, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 681, __pyx_L7_error) + __pyx_t_14 = PyObject_RichCompare(__pyx_t_13, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 688, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 681, __pyx_L7_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 688, __pyx_L7_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_12)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 681, __pyx_L7_error) + __PYX_ERR(0, 688, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":679 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":686 * filesize * 1000] * * for es in eofseeks: # <<<<<<<<<<<<<< * assert f.seek(es) == filesize * assert f.tell() == filesize */ - __Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L7_error)) + __Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L7_error)) } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":654 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":661 * filesize = nelems * 8 * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -22359,20 +22606,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_tell", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13) < 0) __PYX_ERR(0, 654, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13) < 0) __PYX_ERR(0, 661, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GOTREF(__pyx_t_14); __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_15, __pyx_t_14, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_15, __pyx_t_14, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 654, __pyx_L9_except_error) + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 661, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_12 < 0) __PYX_ERR(0, 654, __pyx_L9_except_error) + if (__pyx_t_12 < 0) __PYX_ERR(0, 661, __pyx_L9_except_error) __pyx_t_17 = ((!(__pyx_t_12 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_15); @@ -22380,7 +22627,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek __Pyx_XGIVEREF(__pyx_t_13); __Pyx_ErrRestoreWithState(__pyx_t_15, __pyx_t_14, __pyx_t_13); __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_13 = 0; - __PYX_ERR(0, 654, __pyx_L9_except_error) + __PYX_ERR(0, 661, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; @@ -22404,9 +22651,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 654, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -22421,7 +22668,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek __pyx_L20:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":650 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":657 * * * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< @@ -22457,7 +22704,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 * * * def test_pread(): # <<<<<<<<<<<<<< @@ -22512,20 +22759,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__56) + __Pyx_TraceFrameInit(__pyx_codeobj__55) __Pyx_RefNannySetupContext("test_pread", 0); - __Pyx_TraceCall("test_pread", __pyx_f[0], 684, 0, __PYX_ERR(0, 684, __pyx_L1_error)); + __Pyx_TraceCall("test_pread", __pyx_f[0], 691, 0, __PYX_ERR(0, 691, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":685 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":692 * * def test_pread(): * with tempdir() as td: # <<<<<<<<<<<<<< * nelems = 1024 * testfile = op.join(td, 'test.gz') */ - __Pyx_TraceLine(685,0,__PYX_ERR(0, 685, __pyx_L1_error)) + __Pyx_TraceLine(692,0,__PYX_ERR(0, 692, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 685, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -22539,12 +22786,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 685, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 685, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -22558,7 +22805,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 685, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -22576,27 +22823,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":686 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":693 * def test_pread(): * with tempdir() as td: * nelems = 1024 # <<<<<<<<<<<<<< * testfile = op.join(td, 'test.gz') * gen_test_data(testfile, nelems, False) */ - __Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L7_error)) + __Pyx_TraceLine(693,0,__PYX_ERR(0, 693, __pyx_L7_error)) __pyx_v_nelems = 0x400; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":687 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":694 * with tempdir() as td: * nelems = 1024 * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * gen_test_data(testfile, nelems, False) * */ - __Pyx_TraceLine(687,0,__PYX_ERR(0, 687, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 687, __pyx_L7_error) + __Pyx_TraceLine(694,0,__PYX_ERR(0, 694, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 694, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 687, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 694, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -22614,7 +22861,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 687, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -22622,13 +22869,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 687, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 687, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 694, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -22639,7 +22886,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 687, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -22647,17 +22894,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __pyx_v_testfile = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":688 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":695 * nelems = 1024 * testfile = op.join(td, 'test.gz') * gen_test_data(testfile, nelems, False) # <<<<<<<<<<<<<< * * with igzip.IndexedGzipFile(testfile) as f: */ - __Pyx_TraceLine(688,0,__PYX_ERR(0, 688, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 688, __pyx_L7_error) + __Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 695, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 688, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 695, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; __pyx_t_9 = 0; @@ -22674,7 +22921,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, Py_False}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 695, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -22683,14 +22930,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, Py_False}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 695, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { - __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 688, __pyx_L7_error) + __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 695, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -22704,25 +22951,25 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_GIVEREF(Py_False); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, Py_False); __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 695, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":690 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":697 * gen_test_data(testfile, nelems, False) * * with igzip.IndexedGzipFile(testfile) as f: # <<<<<<<<<<<<<< * for i in range(20): * off = np.random.randint(0, nelems, 1)[0] */ - __Pyx_TraceLine(690,0,__PYX_ERR(0, 690, __pyx_L7_error)) + __Pyx_TraceLine(697,0,__PYX_ERR(0, 697, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 690, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 697, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -22737,12 +22984,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_2, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_testfile); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 697, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 690, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 697, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L13_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -22756,7 +23003,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea } __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 690, __pyx_L13_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 697, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_10; @@ -22774,34 +23021,34 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 * * with igzip.IndexedGzipFile(testfile) as f: * for i in range(20): # <<<<<<<<<<<<<< * off = np.random.randint(0, nelems, 1)[0] * data = f.pread(8, off * 8) */ - __Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L17_error)) + __Pyx_TraceLine(698,0,__PYX_ERR(0, 698, __pyx_L17_error)) for (__pyx_t_15 = 0; __pyx_t_15 < 20; __pyx_t_15+=1) { __pyx_v_i = __pyx_t_15; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":692 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":699 * with igzip.IndexedGzipFile(testfile) as f: * for i in range(20): * off = np.random.randint(0, nelems, 1)[0] # <<<<<<<<<<<<<< * data = f.pread(8, off * 8) * val = np.frombuffer(data, dtype=np.uint64) */ - __Pyx_TraceLine(692,0,__PYX_ERR(0, 692, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L17_error) + __Pyx_TraceLine(699,0,__PYX_ERR(0, 699, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 692, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 692, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -22818,7 +23065,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_10, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -22827,14 +23074,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_10, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { - __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 692, __pyx_L17_error) + __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -22848,28 +23095,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_int_1); __pyx_t_10 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L17_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":693 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":700 * for i in range(20): * off = np.random.randint(0, nelems, 1)[0] * data = f.pread(8, off * 8) # <<<<<<<<<<<<<< * val = np.frombuffer(data, dtype=np.uint64) * assert val[0] == off */ - __Pyx_TraceLine(693,0,__PYX_ERR(0, 693, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_pread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 693, __pyx_L17_error) + __Pyx_TraceLine(700,0,__PYX_ERR(0, 700, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_pread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 700, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyNumber_Multiply(__pyx_v_off, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L17_error) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_off, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 700, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = NULL; __pyx_t_9 = 0; @@ -22886,7 +23133,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_8, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -22895,14 +23142,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_8, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L17_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 693, __pyx_L17_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 700, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_10); __pyx_t_10 = NULL; @@ -22913,7 +23160,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -22921,34 +23168,34 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":694 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":701 * off = np.random.randint(0, nelems, 1)[0] * data = f.pread(8, off * 8) * val = np.frombuffer(data, dtype=np.uint64) # <<<<<<<<<<<<<< * assert val[0] == off * */ - __Pyx_TraceLine(694,0,__PYX_ERR(0, 694, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_TraceLine(701,0,__PYX_ERR(0, 701, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 694, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 701, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L17_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_data); __Pyx_GIVEREF(__pyx_v_data); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_data); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 694, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 694, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 694, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 701, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 694, __pyx_L17_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 701, __pyx_L17_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 694, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 701, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -22956,31 +23203,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_10); __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":695 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":702 * data = f.pread(8, off * 8) * val = np.frombuffer(data, dtype=np.uint64) * assert val[0] == off # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L17_error)) + __Pyx_TraceLine(702,0,__PYX_ERR(0, 702, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 695, __pyx_L17_error) + __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 702, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_10, __pyx_v_off, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 695, __pyx_L17_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_t_10, __pyx_v_off, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 702, __pyx_L17_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 695, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 702, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 695, __pyx_L17_error) + __PYX_ERR(0, 702, __pyx_L17_error) } } #endif } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":690 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":697 * gen_test_data(testfile, nelems, False) * * with igzip.IndexedGzipFile(testfile) as f: # <<<<<<<<<<<<<< @@ -23000,20 +23247,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_10, &__pyx_t_3) < 0) __PYX_ERR(0, 690, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_10, &__pyx_t_3) < 0) __PYX_ERR(0, 697, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L19_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 690, __pyx_L19_except_error) + if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 697, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 690, __pyx_L19_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 697, __pyx_L19_except_error) __pyx_t_18 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_5); @@ -23021,7 +23268,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_10, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_10 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 690, __pyx_L19_except_error) + __PYX_ERR(0, 697, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -23045,9 +23292,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 690, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 697, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -23062,7 +23309,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __pyx_L28:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":685 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":692 * * def test_pread(): * with tempdir() as td: # <<<<<<<<<<<<<< @@ -23082,20 +23329,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 685, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 692, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 685, __pyx_L9_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 685, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 692, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_18 < 0) __PYX_ERR(0, 685, __pyx_L9_except_error) + if (__pyx_t_18 < 0) __PYX_ERR(0, 692, __pyx_L9_except_error) __pyx_t_16 = ((!(__pyx_t_18 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_3); @@ -23103,7 +23350,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_10, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 685, __pyx_L9_except_error) + __PYX_ERR(0, 692, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -23127,9 +23374,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 685, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -23144,7 +23391,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea __pyx_L32:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 * * * def test_pread(): # <<<<<<<<<<<<<< @@ -23176,7 +23423,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_prea return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 * * * def test_readinto(drop): # <<<<<<<<<<<<<< @@ -23198,7 +23445,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":708 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 * * * def line_offset(idx): # <<<<<<<<<<<<<< @@ -23239,29 +23486,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_read __Pyx_RefNannySetupContext("line_offset", 0); __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *) __Pyx_CyFunction_GetClosure(__pyx_self); __pyx_cur_scope = __pyx_outer_scope; - __Pyx_TraceCall("line_offset", __pyx_f[0], 708, 0, __PYX_ERR(0, 708, __pyx_L1_error)); + __Pyx_TraceCall("line_offset", __pyx_f[0], 715, 0, __PYX_ERR(0, 715, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":709 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":716 * * def line_offset(idx): * return sum([len(l) for l in lines[:idx]]) + idx # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(709,0,__PYX_ERR(0, 709, __pyx_L1_error)) + __Pyx_TraceLine(716,0,__PYX_ERR(0, 716, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (unlikely(!__pyx_cur_scope->__pyx_v_lines)) { __Pyx_RaiseClosureNameError("lines"); __PYX_ERR(0, 709, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_lines, 0, 0, NULL, &__pyx_v_idx, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + if (unlikely(!__pyx_cur_scope->__pyx_v_lines)) { __Pyx_RaiseClosureNameError("lines"); __PYX_ERR(0, 716, __pyx_L1_error) } + __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_lines, 0, 0, NULL, &__pyx_v_idx, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { - __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 716, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { @@ -23269,17 +23516,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_read if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 716, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 716, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } @@ -23289,7 +23536,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_read PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 709, __pyx_L1_error) + else __PYX_ERR(0, 716, __pyx_L1_error) } break; } @@ -23297,24 +23544,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_read } __Pyx_XDECREF_SET(__pyx_v_l, __pyx_t_2); __pyx_t_2 = 0; - __pyx_t_6 = PyObject_Length(__pyx_v_l); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 709, __pyx_L1_error) - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_6 = PyObject_Length(__pyx_v_l); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 716, __pyx_L1_error) + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 709, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 709, __pyx_L1_error) + __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":708 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 * * * def line_offset(idx): # <<<<<<<<<<<<<< @@ -23337,7 +23584,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 * * * def test_readinto(drop): # <<<<<<<<<<<<<< @@ -23384,29 +23631,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__57) + __Pyx_TraceFrameInit(__pyx_codeobj__56) __Pyx_RefNannySetupContext("test_readinto", 0); __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)__pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(__pyx_ptype_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_cur_scope)) { __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)Py_None); __Pyx_INCREF(Py_None); - __PYX_ERR(0, 698, __pyx_L1_error) + __PYX_ERR(0, 705, __pyx_L1_error) } else { __Pyx_GOTREF(__pyx_cur_scope); } - __Pyx_TraceCall("test_readinto", __pyx_f[0], 698, 0, __PYX_ERR(0, 698, __pyx_L1_error)); + __Pyx_TraceCall("test_readinto", __pyx_f[0], 705, 0, __PYX_ERR(0, 705, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":699 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":706 * * def test_readinto(drop): * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< * line 1 * line 2 */ - __Pyx_TraceLine(699,0,__PYX_ERR(0, 699, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __pyx_L1_error) + __Pyx_TraceLine(706,0,__PYX_ERR(0, 706, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 699, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -23421,19 +23668,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_line_1_line_2_this_is_line_3_li) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_line_1_line_2_this_is_line_3_li); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":712 * line the fourth * here is the fifth line * """).strip().split('\n') # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(705,0,__PYX_ERR(0, 705, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 705, __pyx_L1_error) + __Pyx_TraceLine(712,0,__PYX_ERR(0, 712, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -23448,10 +23695,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 705, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -23464,38 +23711,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __Pyx_DECREF_SET(__pyx_t_5, function); } } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__58) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__58); + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__57) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__57); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 705, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GIVEREF(__pyx_t_1); __pyx_cur_scope->__pyx_v_lines = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":708 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 * * * def line_offset(idx): # <<<<<<<<<<<<<< * return sum([len(l) for l in lines[:idx]]) + idx * */ - __Pyx_TraceLine(708,0,__PYX_ERR(0, 708, __pyx_L1_error)) - __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset, 0, __pyx_n_s_test_readinto_locals_line_offset, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 708, __pyx_L1_error) + __Pyx_TraceLine(715,0,__PYX_ERR(0, 715, __pyx_L1_error)) + __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset, 0, __pyx_n_s_test_readinto_locals_line_offset, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_line_offset = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":712 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":719 * * * with tempdir() as td: # <<<<<<<<<<<<<< * testfile = op.join(td, 'test.gz') * write_text_to_gzip_file(testfile, lines) */ - __Pyx_TraceLine(712,0,__PYX_ERR(0, 712, __pyx_L1_error)) + __Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { @@ -23509,12 +23756,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 712, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 719, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -23528,7 +23775,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L3_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_5; @@ -23546,17 +23793,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __pyx_v_td = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":713 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":720 * * with tempdir() as td: * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * write_text_to_gzip_file(testfile, lines) * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: */ - __Pyx_TraceLine(713,0,__PYX_ERR(0, 713, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 713, __pyx_L7_error) + __Pyx_TraceLine(720,0,__PYX_ERR(0, 720, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 720, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 713, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -23574,7 +23821,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 720, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -23582,13 +23829,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 720, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 713, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 720, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -23599,7 +23846,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 713, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 720, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -23607,15 +23854,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __pyx_v_testfile = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":714 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":721 * with tempdir() as td: * testfile = op.join(td, 'test.gz') * write_text_to_gzip_file(testfile, lines) # <<<<<<<<<<<<<< * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: * */ - __Pyx_TraceLine(714,0,__PYX_ERR(0, 714, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 714, __pyx_L7_error) + __Pyx_TraceLine(721,0,__PYX_ERR(0, 721, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 721, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; __pyx_t_10 = 0; @@ -23632,7 +23879,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_testfile, __pyx_cur_scope->__pyx_v_lines}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -23640,13 +23887,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_testfile, __pyx_cur_scope->__pyx_v_lines}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 714, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -23657,38 +23904,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __Pyx_INCREF(__pyx_cur_scope->__pyx_v_lines); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_lines); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_cur_scope->__pyx_v_lines); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":722 * testfile = op.join(td, 'test.gz') * write_text_to_gzip_file(testfile, lines) * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< * * # read first line into a byte array */ - __Pyx_TraceLine(715,0,__PYX_ERR(0, 715, __pyx_L7_error)) + __Pyx_TraceLine(722,0,__PYX_ERR(0, 722, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 715, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 715, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 715, __pyx_L7_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 715, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 715, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 722, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 722, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 722, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 715, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 722, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L13_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -23702,7 +23949,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 715, __pyx_L13_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_2; @@ -23720,35 +23967,35 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __pyx_v_f = __pyx_t_5; __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":718 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":725 * * # read first line into a byte array * buf = bytearray(len(lines[0])) # <<<<<<<<<<<<<< * f.seek(0) * assert f.readinto(buf) == len(lines[0]) */ - __Pyx_TraceLine(718,0,__PYX_ERR(0, 718, __pyx_L17_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 718, __pyx_L17_error) + __Pyx_TraceLine(725,0,__PYX_ERR(0, 725, __pyx_L17_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 725, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 718, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 725, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 718, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 725, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 718, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 725, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_buf = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":719 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":726 * # read first line into a byte array * buf = bytearray(len(lines[0])) * f.seek(0) # <<<<<<<<<<<<<< * assert f.readinto(buf) == len(lines[0]) * assert buf.decode() == lines[0] */ - __Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L17_error) + __Pyx_TraceLine(726,0,__PYX_ERR(0, 726, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 726, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -23762,22 +24009,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 719, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":720 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":727 * buf = bytearray(len(lines[0])) * f.seek(0) * assert f.readinto(buf) == len(lines[0]) # <<<<<<<<<<<<<< * assert buf.decode() == lines[0] * */ - __Pyx_TraceLine(720,0,__PYX_ERR(0, 720, __pyx_L17_error)) + __Pyx_TraceLine(727,0,__PYX_ERR(0, 727, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -23791,38 +24038,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 720, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 727, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 720, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 727, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 720, __pyx_L17_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 720, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 727, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 720, __pyx_L17_error) + __PYX_ERR(0, 727, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":721 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":728 * f.seek(0) * assert f.readinto(buf) == len(lines[0]) * assert buf.decode() == lines[0] # <<<<<<<<<<<<<< * * # read first line into memoryvew */ - __Pyx_TraceLine(721,0,__PYX_ERR(0, 721, __pyx_L17_error)) + __Pyx_TraceLine(728,0,__PYX_ERR(0, 728, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 721, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -23836,58 +24083,58 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 728, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 721, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L17_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 728, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 721, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 728, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 721, __pyx_L17_error) + __PYX_ERR(0, 728, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":724 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":731 * * # read first line into memoryvew * buf = memoryview(bytearray(len(lines[0]))) # <<<<<<<<<<<<<< * f.seek(0) * assert f.readinto(buf) == len(lines[0]) */ - __Pyx_TraceLine(724,0,__PYX_ERR(0, 724, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_memoryview); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 724, __pyx_L17_error) + __Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L17_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_memoryview); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 731, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 731, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 724, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 731, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 731, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 724, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 724, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 731, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":725 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":732 * # read first line into memoryvew * buf = memoryview(bytearray(len(lines[0]))) * f.seek(0) # <<<<<<<<<<<<<< * assert f.readinto(buf) == len(lines[0]) * assert buf.tobytes().decode() == lines[0] */ - __Pyx_TraceLine(725,0,__PYX_ERR(0, 725, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 725, __pyx_L17_error) + __Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 732, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -23901,22 +24148,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 725, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 732, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":726 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":733 * buf = memoryview(bytearray(len(lines[0]))) * f.seek(0) * assert f.readinto(buf) == len(lines[0]) # <<<<<<<<<<<<<< * assert buf.tobytes().decode() == lines[0] * */ - __Pyx_TraceLine(726,0,__PYX_ERR(0, 726, __pyx_L17_error)) + __Pyx_TraceLine(733,0,__PYX_ERR(0, 733, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -23930,38 +24177,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 726, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 733, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L17_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 726, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 733, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L17_error) + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L17_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 733, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 726, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 733, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 726, __pyx_L17_error) + __PYX_ERR(0, 733, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":727 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":734 * f.seek(0) * assert f.readinto(buf) == len(lines[0]) * assert buf.tobytes().decode() == lines[0] # <<<<<<<<<<<<<< * * # read an arbitrary line */ - __Pyx_TraceLine(727,0,__PYX_ERR(0, 727, __pyx_L17_error)) + __Pyx_TraceLine(734,0,__PYX_ERR(0, 734, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -23975,10 +24222,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -23993,198 +24240,45 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 727, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L17_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 727, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 734, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 727, __pyx_L17_error) + __PYX_ERR(0, 734, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":730 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":737 * * # read an arbitrary line * offset = line_offset(2) # <<<<<<<<<<<<<< * buf = bytearray(len(lines[2])) * f.seek(offset) */ - __Pyx_TraceLine(730,0,__PYX_ERR(0, 730, __pyx_L17_error)) - __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_v_line_offset, __pyx_int_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 730, __pyx_L17_error) + __Pyx_TraceLine(737,0,__PYX_ERR(0, 737, __pyx_L17_error)) + __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_v_line_offset, __pyx_int_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 737, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_offset = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":731 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":738 * # read an arbitrary line * offset = line_offset(2) * buf = bytearray(len(lines[2])) # <<<<<<<<<<<<<< * f.seek(offset) * assert f.readinto(buf) == len(lines[2]) - */ - __Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L17_error)) - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":732 - * offset = line_offset(2) - * buf = bytearray(len(lines[2])) - * f.seek(offset) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == len(lines[2]) - * assert buf.decode() == lines[2] - */ - __Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 732, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 732, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":733 - * buf = bytearray(len(lines[2])) - * f.seek(offset) - * assert f.readinto(buf) == len(lines[2]) # <<<<<<<<<<<<<< - * assert buf.decode() == lines[2] - * - */ - __Pyx_TraceLine(733,0,__PYX_ERR(0, 733, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 733, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":734 - * f.seek(offset) - * assert f.readinto(buf) == len(lines[2]) - * assert buf.decode() == lines[2] # <<<<<<<<<<<<<< - * - * # read the end line, sans-newline - */ - __Pyx_TraceLine(734,0,__PYX_ERR(0, 734, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 734, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":737 - * - * # read the end line, sans-newline - * offset = line_offset(len(lines) - 1) # <<<<<<<<<<<<<< - * buf = bytearray(len(lines[-1])) - * f.seek(offset) - */ - __Pyx_TraceLine(737,0,__PYX_ERR(0, 737, __pyx_L17_error)) - __pyx_t_5 = __pyx_cur_scope->__pyx_v_lines; - __Pyx_INCREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 737, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 - 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 737, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_v_line_offset, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 737, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_offset, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":738 - * # read the end line, sans-newline - * offset = line_offset(len(lines) - 1) - * buf = bytearray(len(lines[-1])) # <<<<<<<<<<<<<< - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) */ __Pyx_TraceLine(738,0,__PYX_ERR(0, 738, __pyx_L17_error)) - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L17_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 738, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -24197,11 +24291,11 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __pyx_t_5 = 0; /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":739 - * offset = line_offset(len(lines) - 1) - * buf = bytearray(len(lines[-1])) + * offset = line_offset(2) + * buf = bytearray(len(lines[2])) * f.seek(offset) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == len(lines[-1]) - * assert buf.decode() == lines[-1] + * assert f.readinto(buf) == len(lines[2]) + * assert buf.decode() == lines[2] */ __Pyx_TraceLine(739,0,__PYX_ERR(0, 739, __pyx_L17_error)) __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 739, __pyx_L17_error) @@ -24224,10 +24318,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":740 - * buf = bytearray(len(lines[-1])) + * buf = bytearray(len(lines[2])) * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) # <<<<<<<<<<<<<< - * assert buf.decode() == lines[-1] + * assert f.readinto(buf) == len(lines[2]) # <<<<<<<<<<<<<< + * assert buf.decode() == lines[2] * */ __Pyx_TraceLine(740,0,__PYX_ERR(0, 740, __pyx_L17_error)) @@ -24250,7 +24344,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L17_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 740, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -24270,10 +24364,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":741 * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) - * assert buf.decode() == lines[-1] # <<<<<<<<<<<<<< + * assert f.readinto(buf) == len(lines[2]) + * assert buf.decode() == lines[2] # <<<<<<<<<<<<<< * - * # read the end line, with newline + * # read the end line, sans-newline */ __Pyx_TraceLine(741,0,__PYX_ERR(0, 741, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS @@ -24295,7 +24389,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 741, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 741, __pyx_L17_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 741, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 741, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -24311,33 +24405,186 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":744 * + * # read the end line, sans-newline + * offset = line_offset(len(lines) - 1) # <<<<<<<<<<<<<< + * buf = bytearray(len(lines[-1])) + * f.seek(offset) + */ + __Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L17_error)) + __pyx_t_5 = __pyx_cur_scope->__pyx_v_lines; + __Pyx_INCREF(__pyx_t_5); + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 744, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 - 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_v_line_offset, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF_SET(__pyx_v_offset, __pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":745 + * # read the end line, sans-newline + * offset = line_offset(len(lines) - 1) + * buf = bytearray(len(lines[-1])) # <<<<<<<<<<<<<< + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + */ + __Pyx_TraceLine(745,0,__PYX_ERR(0, 745, __pyx_L17_error)) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 745, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); + __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":746 + * offset = line_offset(len(lines) - 1) + * buf = bytearray(len(lines[-1])) + * f.seek(offset) # <<<<<<<<<<<<<< + * assert f.readinto(buf) == len(lines[-1]) + * assert buf.decode() == lines[-1] + */ + __Pyx_TraceLine(746,0,__PYX_ERR(0, 746, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":747 + * buf = bytearray(len(lines[-1])) + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) # <<<<<<<<<<<<<< + * assert buf.decode() == lines[-1] + * + */ + __Pyx_TraceLine(747,0,__PYX_ERR(0, 747, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_1)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_1); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 747, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 747, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":748 + * f.seek(offset) + * assert f.readinto(buf) == len(lines[-1]) + * assert buf.decode() == lines[-1] # <<<<<<<<<<<<<< + * + * # read the end line, with newline + */ + __Pyx_TraceLine(748,0,__PYX_ERR(0, 748, __pyx_L17_error)) + #ifndef CYTHON_WITHOUT_ASSERTIONS + if (unlikely(!Py_OptimizeFlag)) { + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 748, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 748, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 748, __pyx_L17_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_16)) { + PyErr_SetNone(PyExc_AssertionError); + __PYX_ERR(0, 748, __pyx_L17_error) + } + } + #endif + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":751 + * * # read the end line, with newline * buf = bytearray(len(lines[-1]) + 1) # <<<<<<<<<<<<<< * f.seek(offset) * assert f.readinto(buf) == len(lines[-1]) + 1 */ - __Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L17_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L17_error) + __Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L17_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 744, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 751, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 751, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":745 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":752 * # read the end line, with newline * buf = bytearray(len(lines[-1]) + 1) * f.seek(offset) # <<<<<<<<<<<<<< * assert f.readinto(buf) == len(lines[-1]) + 1 * assert buf.decode() == lines[-1] + '\n' */ - __Pyx_TraceLine(745,0,__PYX_ERR(0, 745, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L17_error) + __Pyx_TraceLine(752,0,__PYX_ERR(0, 752, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -24351,22 +24598,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_offset); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 752, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":746 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":753 * buf = bytearray(len(lines[-1]) + 1) * f.seek(offset) * assert f.readinto(buf) == len(lines[-1]) + 1 # <<<<<<<<<<<<<< * assert buf.decode() == lines[-1] + '\n' * */ - __Pyx_TraceLine(746,0,__PYX_ERR(0, 746, __pyx_L17_error)) + __Pyx_TraceLine(753,0,__PYX_ERR(0, 753, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -24380,38 +24627,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 746, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 753, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 746, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 753, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 746, __pyx_L17_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 753, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 746, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 753, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 746, __pyx_L17_error) + __PYX_ERR(0, 753, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":747 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":754 * f.seek(offset) * assert f.readinto(buf) == len(lines[-1]) + 1 * assert buf.decode() == lines[-1] + '\n' # <<<<<<<<<<<<<< * * # read the end line with a bigger buffer */ - __Pyx_TraceLine(747,0,__PYX_ERR(0, 747, __pyx_L17_error)) + __Pyx_TraceLine(754,0,__PYX_ERR(0, 754, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 754, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -24425,55 +24672,55 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 754, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 754, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__58); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L17_error) + __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__57); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 754, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L17_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 754, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 747, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 754, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 747, __pyx_L17_error) + __PYX_ERR(0, 754, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":750 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":757 * * # read the end line with a bigger buffer * buf = bytearray(len(lines[-1]) + 10) # <<<<<<<<<<<<<< * f.seek(offset) * assert f.readinto(buf) == len(lines[-1]) + 1 */ - __Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L17_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 750, __pyx_L17_error) + __Pyx_TraceLine(757,0,__PYX_ERR(0, 757, __pyx_L17_error)) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 757, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 750, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 757, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 750, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 757, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 750, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 757, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":751 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":758 * # read the end line with a bigger buffer * buf = bytearray(len(lines[-1]) + 10) * f.seek(offset) # <<<<<<<<<<<<<< * assert f.readinto(buf) == len(lines[-1]) + 1 * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() */ - __Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L17_error) + __Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 758, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -24487,22 +24734,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_offset); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 751, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 758, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":752 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":759 * buf = bytearray(len(lines[-1]) + 10) * f.seek(offset) * assert f.readinto(buf) == len(lines[-1]) + 1 # <<<<<<<<<<<<<< * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() * */ - __Pyx_TraceLine(752,0,__PYX_ERR(0, 752, __pyx_L17_error)) + __Pyx_TraceLine(759,0,__PYX_ERR(0, 759, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -24516,38 +24763,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 752, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 759, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 752, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 759, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 752, __pyx_L17_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 752, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 759, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 752, __pyx_L17_error) + __PYX_ERR(0, 759, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":753 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":760 * f.seek(offset) * assert f.readinto(buf) == len(lines[-1]) + 1 * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() # <<<<<<<<<<<<<< * * # start at EOF, and try to read something */ - __Pyx_TraceLine(753,0,__PYX_ERR(0, 753, __pyx_L17_error)) + __Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -24561,66 +24808,66 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 753, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 760, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__58); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 753, __pyx_L17_error) + __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__57); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 760, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_decode_bytes(__pyx_kp_b__61, 0, PY_SSIZE_T_MAX, NULL, NULL, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) + __pyx_t_5 = __Pyx_decode_bytes(__pyx_kp_b__60, 0, PY_SSIZE_T_MAX, NULL, NULL, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 753, __pyx_L17_error) + __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 753, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 760, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 753, __pyx_L17_error) + __PYX_ERR(0, 760, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":756 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 * * # start at EOF, and try to read something * filelen = sum([len(l) for l in lines]) + len(lines) # <<<<<<<<<<<<<< * f.seek(filelen) * buf = bytearray([99 for i in range(len(buf))]) */ - __Pyx_TraceLine(756,0,__PYX_ERR(0, 756, __pyx_L17_error)) - __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L17_error) + __Pyx_TraceLine(763,0,__PYX_ERR(0, 763, __pyx_L17_error)) + __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_lines)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_lines)) { __pyx_t_3 = __pyx_cur_scope->__pyx_v_lines; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; __pyx_t_17 = NULL; } else { - __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 763, __pyx_L17_error) } for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 763, __pyx_L17_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 763, __pyx_L17_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -24630,7 +24877,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 756, __pyx_L17_error) + else __PYX_ERR(0, 763, __pyx_L17_error) } break; } @@ -24638,38 +24885,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __Pyx_XDECREF_SET(__pyx_v_l, __pyx_t_1); __pyx_t_1 = 0; - __pyx_t_18 = PyObject_Length(__pyx_v_l); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 756, __pyx_L17_error) - __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_18 = PyObject_Length(__pyx_v_l); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 763, __pyx_L17_error) + __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 756, __pyx_L17_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_cur_scope->__pyx_v_lines; __Pyx_INCREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L17_error) + __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_filelen = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":757 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":764 * # start at EOF, and try to read something * filelen = sum([len(l) for l in lines]) + len(lines) * f.seek(filelen) # <<<<<<<<<<<<<< * buf = bytearray([99 for i in range(len(buf))]) * assert f.readinto(buf) == 0 */ - __Pyx_TraceLine(757,0,__PYX_ERR(0, 757, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 757, __pyx_L17_error) + __Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 764, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -24683,44 +24930,44 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_filelen) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_filelen); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 757, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 764, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":758 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":765 * filelen = sum([len(l) for l in lines]) + len(lines) * f.seek(filelen) * buf = bytearray([99 for i in range(len(buf))]) # <<<<<<<<<<<<<< * assert f.readinto(buf) == 0 * assert all([b == chr(99) for b in buf.decode()]) */ - __Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L17_error)) - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 758, __pyx_L17_error) + __Pyx_TraceLine(765,0,__PYX_ERR(0, 765, __pyx_L17_error)) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 765, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = PyObject_Length(__pyx_v_buf); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 758, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_v_buf); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 765, __pyx_L17_error) __pyx_t_18 = __pyx_t_15; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_i = __pyx_t_19; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_int_99))) __PYX_ERR(0, 758, __pyx_L17_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_int_99))) __PYX_ERR(0, 765, __pyx_L17_error) } - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 758, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 765, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":759 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":766 * f.seek(filelen) * buf = bytearray([99 for i in range(len(buf))]) * assert f.readinto(buf) == 0 # <<<<<<<<<<<<<< * assert all([b == chr(99) for b in buf.decode()]) * */ - __Pyx_TraceLine(759,0,__PYX_ERR(0, 759, __pyx_L17_error)) + __Pyx_TraceLine(766,0,__PYX_ERR(0, 766, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 766, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -24734,38 +24981,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_buf); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 766, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 766, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 759, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 766, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 759, __pyx_L17_error) + __PYX_ERR(0, 766, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":760 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":767 * buf = bytearray([99 for i in range(len(buf))]) * assert f.readinto(buf) == 0 * assert all([b == chr(99) for b in buf.decode()]) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L17_error)) + __Pyx_TraceLine(767,0,__PYX_ERR(0, 767, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 760, __pyx_L17_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_decode_bytearray(__pyx_v_buf, 0, PY_SSIZE_T_MAX, NULL, NULL, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) + __pyx_t_5 = __Pyx_decode_bytearray(__pyx_v_buf, 0, PY_SSIZE_T_MAX, NULL, NULL, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L17_error) + __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 760, __pyx_L17_error) + __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { { @@ -24774,7 +25021,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 760, __pyx_L17_error) + else __PYX_ERR(0, 767, __pyx_L17_error) } break; } @@ -24782,27 +25029,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read } __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_chr, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_chr, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyObject_RichCompare(__pyx_v_b, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 760, __pyx_L17_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_b, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 760, __pyx_L17_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 760, __pyx_L17_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 767, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 760, __pyx_L17_error) + __PYX_ERR(0, 767, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":722 * testfile = op.join(td, 'test.gz') * write_text_to_gzip_file(testfile, lines) * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -24822,20 +25069,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 715, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 722, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L19_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 715, __pyx_L19_except_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 722, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 715, __pyx_L19_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 722, __pyx_L19_except_error) __pyx_t_21 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_3); @@ -24843,7 +25090,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 715, __pyx_L19_except_error) + __PYX_ERR(0, 722, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -24867,9 +25114,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 715, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 722, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -24884,7 +25131,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __pyx_L32:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":712 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":719 * * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -24904,20 +25151,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 712, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 719, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L9_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 712, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 719, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 712, __pyx_L9_except_error) + if (__pyx_t_21 < 0) __PYX_ERR(0, 719, __pyx_L9_except_error) __pyx_t_16 = ((!(__pyx_t_21 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_2); @@ -24925,7 +25172,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 712, __pyx_L9_except_error) + __PYX_ERR(0, 719, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -24949,9 +25196,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 712, __pyx_L1_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -24966,7 +25213,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read __pyx_L36:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 * * * def test_readinto(drop): # <<<<<<<<<<<<<< @@ -25002,7 +25249,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 * * * def test_readline(drop): # <<<<<<<<<<<<<< @@ -25057,21 +25304,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__63) + __Pyx_TraceFrameInit(__pyx_codeobj__62) __Pyx_RefNannySetupContext("test_readline", 0); - __Pyx_TraceCall("test_readline", __pyx_f[0], 763, 0, __PYX_ERR(0, 763, __pyx_L1_error)); + __Pyx_TraceCall("test_readline", __pyx_f[0], 770, 0, __PYX_ERR(0, 770, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":764 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":771 * * def test_readline(drop): * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< * this is * some text */ - __Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 764, __pyx_L1_error) + __Pyx_TraceLine(771,0,__PYX_ERR(0, 771, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 764, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -25086,19 +25333,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_some_text_split_across) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_some_text_split_across); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 764, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":777 * several lines * how creative * """).strip().split('\n') # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(770,0,__PYX_ERR(0, 770, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error) + __Pyx_TraceLine(777,0,__PYX_ERR(0, 777, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -25113,10 +25360,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 770, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -25129,24 +25376,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __Pyx_DECREF_SET(__pyx_t_5, function); } } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__58) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__58); + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__57) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__57); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 770, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_lines = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":772 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":779 * """).strip().split('\n') * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) */ - __Pyx_TraceLine(772,0,__PYX_ERR(0, 772, __pyx_L1_error)) + __Pyx_TraceLine(779,0,__PYX_ERR(0, 779, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { @@ -25160,12 +25407,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 772, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 772, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 772, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 779, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -25179,7 +25426,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L3_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 779, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_5; @@ -25197,17 +25444,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __pyx_v_td = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":773 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":780 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * write_text_to_gzip_file(fname, lines) * */ - __Pyx_TraceLine(773,0,__PYX_ERR(0, 773, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 773, __pyx_L7_error) + __Pyx_TraceLine(780,0,__PYX_ERR(0, 780, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 780, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 773, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 780, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -25225,7 +25472,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 773, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 780, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -25233,13 +25480,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 773, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 780, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 773, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -25250,7 +25497,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 773, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 780, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -25258,15 +25505,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __pyx_v_fname = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":774 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":781 * with tempdir() as td: * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: */ - __Pyx_TraceLine(774,0,__PYX_ERR(0, 774, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 774, __pyx_L7_error) + __Pyx_TraceLine(781,0,__PYX_ERR(0, 781, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 781, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; __pyx_t_10 = 0; @@ -25283,7 +25530,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 774, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 781, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -25291,13 +25538,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 774, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 781, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 774, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -25308,43 +25555,43 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __Pyx_INCREF(__pyx_v_lines); __Pyx_GIVEREF(__pyx_v_lines); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 774, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 781, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":776 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":783 * write_text_to_gzip_file(fname, lines) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< * seekpos = 0 * for line in lines: */ - __Pyx_TraceLine(776,0,__PYX_ERR(0, 776, __pyx_L7_error)) + __Pyx_TraceLine(783,0,__PYX_ERR(0, 783, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 776, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 783, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L7_error) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 776, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 783, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 776, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 776, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 783, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 783, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 776, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 783, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L13_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -25358,7 +25605,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 776, __pyx_L13_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 783, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -25376,49 +25623,49 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":777 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":784 * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * seekpos = 0 # <<<<<<<<<<<<<< * for line in lines: * */ - __Pyx_TraceLine(777,0,__PYX_ERR(0, 777, __pyx_L17_error)) + __Pyx_TraceLine(784,0,__PYX_ERR(0, 784, __pyx_L17_error)) __Pyx_INCREF(__pyx_int_0); __pyx_v_seekpos = __pyx_int_0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":778 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":785 * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * seekpos = 0 * for line in lines: # <<<<<<<<<<<<<< * * assert f.readline() == (line + '\n').encode() */ - __Pyx_TraceLine(778,0,__PYX_ERR(0, 778, __pyx_L17_error)) + __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L17_error)) if (likely(PyList_CheckExact(__pyx_v_lines)) || PyTuple_CheckExact(__pyx_v_lines)) { __pyx_t_2 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_2); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { - __pyx_t_15 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_lines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 778, __pyx_L17_error) + __pyx_t_15 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_lines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 785, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 778, __pyx_L17_error) + __pyx_t_16 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 785, __pyx_L17_error) } for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 778, __pyx_L17_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 785, __pyx_L17_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L17_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 785, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 778, __pyx_L17_error) + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 785, __pyx_L17_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L17_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 785, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); #endif } @@ -25428,7 +25675,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 778, __pyx_L17_error) + else __PYX_ERR(0, 785, __pyx_L17_error) } break; } @@ -25437,17 +25684,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":780 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":787 * for line in lines: * * assert f.readline() == (line + '\n').encode() # <<<<<<<<<<<<<< * seekpos += len(line) + 1 * assert f.tell() == seekpos */ - __Pyx_TraceLine(780,0,__PYX_ERR(0, 780, __pyx_L17_error)) + __Pyx_TraceLine(787,0,__PYX_ERR(0, 787, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 780, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 787, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -25461,12 +25708,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 787, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_5 = PyNumber_Add(__pyx_v_line, __pyx_kp_s__58); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 780, __pyx_L17_error) + __pyx_t_5 = PyNumber_Add(__pyx_v_line, __pyx_kp_s__57); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L17_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -25481,49 +25728,49 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 780, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 787, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L17_error) + __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 780, __pyx_L17_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 787, __pyx_L17_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 780, __pyx_L17_error) + __PYX_ERR(0, 787, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":781 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":788 * * assert f.readline() == (line + '\n').encode() * seekpos += len(line) + 1 # <<<<<<<<<<<<<< * assert f.tell() == seekpos * */ - __Pyx_TraceLine(781,0,__PYX_ERR(0, 781, __pyx_L17_error)) - __pyx_t_18 = PyObject_Length(__pyx_v_line); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 781, __pyx_L17_error) - __pyx_t_4 = PyInt_FromSsize_t((__pyx_t_18 + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 781, __pyx_L17_error) + __Pyx_TraceLine(788,0,__PYX_ERR(0, 788, __pyx_L17_error)) + __pyx_t_18 = PyObject_Length(__pyx_v_line); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 788, __pyx_L17_error) + __pyx_t_4 = PyInt_FromSsize_t((__pyx_t_18 + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_seekpos, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L17_error) + __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_seekpos, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 788, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_seekpos, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":782 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":789 * assert f.readline() == (line + '\n').encode() * seekpos += len(line) + 1 * assert f.tell() == seekpos # <<<<<<<<<<<<<< * * # Should return empty string after EOF */ - __Pyx_TraceLine(782,0,__PYX_ERR(0, 782, __pyx_L17_error)) + __Pyx_TraceLine(789,0,__PYX_ERR(0, 789, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 782, __pyx_L17_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 789, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -25537,42 +25784,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 789, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_seekpos, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 782, __pyx_L17_error) + __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_seekpos, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 789, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 782, __pyx_L17_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 789, __pyx_L17_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 782, __pyx_L17_error) + __PYX_ERR(0, 789, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":778 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":785 * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * seekpos = 0 * for line in lines: # <<<<<<<<<<<<<< * * assert f.readline() == (line + '\n').encode() */ - __Pyx_TraceLine(778,0,__PYX_ERR(0, 778, __pyx_L17_error)) + __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L17_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":785 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":792 * * # Should return empty string after EOF * assert f.readline() == b'' # <<<<<<<<<<<<<< * * f.seek(0) */ - __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L17_error)) + __Pyx_TraceLine(792,0,__PYX_ERR(0, 792, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 785, __pyx_L17_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 792, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -25586,27 +25833,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 785, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 792, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_17 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 785, __pyx_L17_error) + __pyx_t_17 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 792, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 785, __pyx_L17_error) + __PYX_ERR(0, 792, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":787 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":794 * assert f.readline() == b'' * * f.seek(0) # <<<<<<<<<<<<<< * assert f.readline(0) == b'' * */ - __Pyx_TraceLine(787,0,__PYX_ERR(0, 787, __pyx_L17_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L17_error) + __Pyx_TraceLine(794,0,__PYX_ERR(0, 794, __pyx_L17_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 794, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -25620,22 +25867,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 787, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":788 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":795 * * f.seek(0) * assert f.readline(0) == b'' # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(788,0,__PYX_ERR(0, 788, __pyx_L17_error)) + __Pyx_TraceLine(795,0,__PYX_ERR(0, 795, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L17_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 795, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -25649,19 +25896,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 788, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 795, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_17 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 788, __pyx_L17_error) + __pyx_t_17 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 795, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 788, __pyx_L17_error) + __PYX_ERR(0, 795, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":776 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":783 * write_text_to_gzip_file(fname, lines) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -25681,20 +25928,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 776, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 783, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 776, __pyx_L19_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 783, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 776, __pyx_L19_except_error) + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 783, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_19); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 776, __pyx_L19_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 783, __pyx_L19_except_error) __pyx_t_20 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_20) { __Pyx_GIVEREF(__pyx_t_2); @@ -25702,7 +25949,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 776, __pyx_L19_except_error) + __PYX_ERR(0, 783, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; @@ -25726,9 +25973,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 776, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 783, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -25743,7 +25990,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __pyx_L28:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":772 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":779 * """).strip().split('\n') * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -25763,20 +26010,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 772, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 779, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_4); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 772, __pyx_L9_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 779, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 772, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 779, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_20 < 0) __PYX_ERR(0, 772, __pyx_L9_except_error) + if (__pyx_t_20 < 0) __PYX_ERR(0, 779, __pyx_L9_except_error) __pyx_t_17 = ((!(__pyx_t_20 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_1); @@ -25784,7 +26031,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 772, __pyx_L9_except_error) + __PYX_ERR(0, 779, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; @@ -25808,9 +26055,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 772, __pyx_L1_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -25825,7 +26072,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read __pyx_L32:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 * * * def test_readline(drop): # <<<<<<<<<<<<<< @@ -25857,7 +26104,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":791 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":798 * * * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< @@ -25908,19 +26155,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__64) + __Pyx_TraceFrameInit(__pyx_codeobj__63) __Pyx_RefNannySetupContext("test_readline_sizelimit", 0); - __Pyx_TraceCall("test_readline_sizelimit", __pyx_f[0], 791, 0, __PYX_ERR(0, 791, __pyx_L1_error)); + __Pyx_TraceCall("test_readline_sizelimit", __pyx_f[0], 798, 0, __PYX_ERR(0, 798, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":793 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":800 * def test_readline_sizelimit(drop): * * lines = ['line one', 'line two'] # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(793,0,__PYX_ERR(0, 793, __pyx_L1_error)) - __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 793, __pyx_L1_error) + __Pyx_TraceLine(800,0,__PYX_ERR(0, 800, __pyx_L1_error)) + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_kp_s_line_one); __Pyx_GIVEREF(__pyx_kp_s_line_one); @@ -25931,16 +26178,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_v_lines = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":795 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":802 * lines = ['line one', 'line two'] * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) */ - __Pyx_TraceLine(795,0,__PYX_ERR(0, 795, __pyx_L1_error)) + __Pyx_TraceLine(802,0,__PYX_ERR(0, 802, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 795, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -25954,12 +26201,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 795, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 795, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 795, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 802, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -25973,7 +26220,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 795, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -25991,17 +26238,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":796 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":803 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * write_text_to_gzip_file(fname, lines) * */ - __Pyx_TraceLine(796,0,__PYX_ERR(0, 796, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 796, __pyx_L7_error) + __Pyx_TraceLine(803,0,__PYX_ERR(0, 803, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 803, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 796, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 803, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -26019,7 +26266,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 796, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -26027,13 +26274,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 796, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 796, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -26044,7 +26291,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 796, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -26052,15 +26299,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_v_fname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":797 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":804 * with tempdir() as td: * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: */ - __Pyx_TraceLine(797,0,__PYX_ERR(0, 797, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 797, __pyx_L7_error) + __Pyx_TraceLine(804,0,__PYX_ERR(0, 804, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -26077,7 +26324,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -26085,13 +26332,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 797, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 804, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -26102,43 +26349,43 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __Pyx_INCREF(__pyx_v_lines); __Pyx_GIVEREF(__pyx_v_lines); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_lines); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 797, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":799 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":806 * write_text_to_gzip_file(fname, lines) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< * * # limit to one character before the end of the first line */ - __Pyx_TraceLine(799,0,__PYX_ERR(0, 799, __pyx_L7_error)) + __Pyx_TraceLine(806,0,__PYX_ERR(0, 806, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 799, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 806, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 799, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 799, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 799, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 806, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 806, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 799, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 806, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 799, __pyx_L13_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -26152,7 +26399,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 799, __pyx_L13_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_1; @@ -26170,21 +26417,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_v_f = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":802 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":809 * * # limit to one character before the end of the first line * l = f.readline(len(lines[0]) - 1) # <<<<<<<<<<<<<< * assert l == (lines[0][:-1]).encode() * */ - __Pyx_TraceLine(802,0,__PYX_ERR(0, 802, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L17_error) + __Pyx_TraceLine(809,0,__PYX_ERR(0, 809, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 809, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L17_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 802, __pyx_L17_error) + __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 809, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L17_error) + __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -26199,28 +26446,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 802, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 809, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_l = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":803 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":810 * # limit to one character before the end of the first line * l = f.readline(len(lines[0]) - 1) * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< * * # limit to the last character of the first line */ - __Pyx_TraceLine(803,0,__PYX_ERR(0, 803, __pyx_L17_error)) + __Pyx_TraceLine(810,0,__PYX_ERR(0, 810, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 810, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_5, 0, -1L, NULL, NULL, &__pyx_slice__65, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 803, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_5, 0, -1L, NULL, NULL, &__pyx_slice__64, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 810, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 810, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -26235,29 +26482,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 810, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_l, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L17_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_v_l, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 810, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 803, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 810, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_15)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 803, __pyx_L17_error) + __PYX_ERR(0, 810, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":806 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":813 * * # limit to the last character of the first line * f.seek(0) # <<<<<<<<<<<<<< * l = f.readline(len(lines[0]) - 1) * assert l == (lines[0][:-1]).encode() */ - __Pyx_TraceLine(806,0,__PYX_ERR(0, 806, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L17_error) + __Pyx_TraceLine(813,0,__PYX_ERR(0, 813, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 813, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -26271,26 +26518,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 806, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":807 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":814 * # limit to the last character of the first line * f.seek(0) * l = f.readline(len(lines[0]) - 1) # <<<<<<<<<<<<<< * assert l == (lines[0][:-1]).encode() * */ - __Pyx_TraceLine(807,0,__PYX_ERR(0, 807, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 807, __pyx_L17_error) + __Pyx_TraceLine(814,0,__PYX_ERR(0, 814, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 814, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L17_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 814, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 807, __pyx_L17_error) + __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 814, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L17_error) + __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 814, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -26305,28 +26552,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 807, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 814, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":808 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":815 * f.seek(0) * l = f.readline(len(lines[0]) - 1) * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< * * # limit to the newline at the end of the first line */ - __Pyx_TraceLine(808,0,__PYX_ERR(0, 808, __pyx_L17_error)) + __Pyx_TraceLine(815,0,__PYX_ERR(0, 815, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 808, __pyx_L17_error) + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 815, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, -1L, NULL, NULL, &__pyx_slice__65, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 808, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, -1L, NULL, NULL, &__pyx_slice__64, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 815, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 808, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 815, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -26341,29 +26588,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 808, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 815, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_v_l, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 808, __pyx_L17_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_l, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 815, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 808, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 815, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_15)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 808, __pyx_L17_error) + __PYX_ERR(0, 815, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":811 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":818 * * # limit to the newline at the end of the first line * f.seek(0) # <<<<<<<<<<<<<< * l = f.readline(len(lines[0]) + 1) * assert l == (lines[0] + '\n').encode() */ - __Pyx_TraceLine(811,0,__PYX_ERR(0, 811, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 811, __pyx_L17_error) + __Pyx_TraceLine(818,0,__PYX_ERR(0, 818, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 818, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -26377,26 +26624,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":812 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":819 * # limit to the newline at the end of the first line * f.seek(0) * l = f.readline(len(lines[0]) + 1) # <<<<<<<<<<<<<< * assert l == (lines[0] + '\n').encode() * */ - __Pyx_TraceLine(812,0,__PYX_ERR(0, 812, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 812, __pyx_L17_error) + __Pyx_TraceLine(819,0,__PYX_ERR(0, 819, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 819, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 812, __pyx_L17_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 819, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 812, __pyx_L17_error) + __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 819, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 812, __pyx_L17_error) + __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 819, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -26411,28 +26658,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 812, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 819, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":813 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":820 * f.seek(0) * l = f.readline(len(lines[0]) + 1) * assert l == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< * * # limit to the first character after the first line */ - __Pyx_TraceLine(813,0,__PYX_ERR(0, 813, __pyx_L17_error)) + __Pyx_TraceLine(820,0,__PYX_ERR(0, 820, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L17_error) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 820, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__58); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 813, __pyx_L17_error) + __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__57); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 820, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 820, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -26447,29 +26694,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 813, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 820, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_l, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L17_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_v_l, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 820, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 813, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 820, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_15)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 813, __pyx_L17_error) + __PYX_ERR(0, 820, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":816 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":823 * * # limit to the first character after the first line * f.seek(0) # <<<<<<<<<<<<<< * l = f.readline(len(lines[0]) + 2) * assert l == (lines[0] + '\n').encode() */ - __Pyx_TraceLine(816,0,__PYX_ERR(0, 816, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 816, __pyx_L17_error) + __Pyx_TraceLine(823,0,__PYX_ERR(0, 823, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 823, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -26483,26 +26730,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 816, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 823, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":817 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":824 * # limit to the first character after the first line * f.seek(0) * l = f.readline(len(lines[0]) + 2) # <<<<<<<<<<<<<< * assert l == (lines[0] + '\n').encode() * */ - __Pyx_TraceLine(817,0,__PYX_ERR(0, 817, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 817, __pyx_L17_error) + __Pyx_TraceLine(824,0,__PYX_ERR(0, 824, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 824, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 817, __pyx_L17_error) + __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 817, __pyx_L17_error) + __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 824, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 + 2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 817, __pyx_L17_error) + __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 + 2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -26517,28 +26764,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 824, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":818 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":825 * f.seek(0) * l = f.readline(len(lines[0]) + 2) * assert l == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(818,0,__PYX_ERR(0, 818, __pyx_L17_error)) + __Pyx_TraceLine(825,0,__PYX_ERR(0, 825, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L17_error) + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__58); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 818, __pyx_L17_error) + __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__57); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 825, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -26553,21 +26800,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 818, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 825, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_v_l, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L17_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_l, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 818, __pyx_L17_error) + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 825, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_15)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 818, __pyx_L17_error) + __PYX_ERR(0, 825, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":799 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":806 * write_text_to_gzip_file(fname, lines) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -26586,20 +26833,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 799, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 806, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 799, __pyx_L19_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 806, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 799, __pyx_L19_except_error) + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 806, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 799, __pyx_L19_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 806, __pyx_L19_except_error) __pyx_t_17 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_3); @@ -26607,7 +26854,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 799, __pyx_L19_except_error) + __PYX_ERR(0, 806, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -26631,9 +26878,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 799, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 806, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -26648,7 +26895,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":795 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":802 * lines = ['line one', 'line two'] * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -26667,20 +26914,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 795, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 802, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 795, __pyx_L9_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 795, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 802, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 795, __pyx_L9_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 802, __pyx_L9_except_error) __pyx_t_15 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_1); @@ -26688,7 +26935,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 795, __pyx_L9_except_error) + __PYX_ERR(0, 802, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -26712,9 +26959,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 795, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -26729,7 +26976,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read __pyx_L30:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":791 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":798 * * * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< @@ -26759,7 +27006,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":821 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":828 * * * def test_readlines(drop): # <<<<<<<<<<<<<< @@ -26816,21 +27063,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__66) + __Pyx_TraceFrameInit(__pyx_codeobj__65) __Pyx_RefNannySetupContext("test_readlines", 0); - __Pyx_TraceCall("test_readlines", __pyx_f[0], 821, 0, __PYX_ERR(0, 821, __pyx_L1_error)); + __Pyx_TraceCall("test_readlines", __pyx_f[0], 828, 0, __PYX_ERR(0, 828, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":822 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":829 * * def test_readlines(drop): * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< * this is * some more text */ - __Pyx_TraceLine(822,0,__PYX_ERR(0, 822, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 822, __pyx_L1_error) + __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 822, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -26845,19 +27092,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read } __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_some_more_text_split_ac) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_some_more_text_split_ac); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 822, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":829 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":836 * super imaginative * test data * """).strip().split('\n') # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) + __Pyx_TraceLine(836,0,__PYX_ERR(0, 836, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -26872,10 +27119,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 829, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -26888,24 +27135,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_DECREF_SET(__pyx_t_5, function); } } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__58) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__58); + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__57) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__57); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 829, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_lines = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":831 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":838 * """).strip().split('\n') * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) */ - __Pyx_TraceLine(831,0,__PYX_ERR(0, 831, __pyx_L1_error)) + __Pyx_TraceLine(838,0,__PYX_ERR(0, 838, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 831, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { @@ -26919,12 +27166,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 831, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 831, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 831, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 838, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -26938,7 +27185,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 831, __pyx_L3_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 838, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_5; @@ -26956,17 +27203,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __pyx_v_td = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":832 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":839 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * write_text_to_gzip_file(fname, lines) * */ - __Pyx_TraceLine(832,0,__PYX_ERR(0, 832, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 832, __pyx_L7_error) + __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 839, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 832, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -26984,7 +27231,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 832, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 839, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -26992,13 +27239,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 832, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 839, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 832, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 839, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -27009,7 +27256,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 832, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 839, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -27017,15 +27264,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __pyx_v_fname = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":833 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":840 * with tempdir() as td: * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: */ - __Pyx_TraceLine(833,0,__PYX_ERR(0, 833, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 833, __pyx_L7_error) + __Pyx_TraceLine(840,0,__PYX_ERR(0, 840, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 840, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; __pyx_t_10 = 0; @@ -27042,7 +27289,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 833, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 840, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -27050,13 +27297,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 833, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 840, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 833, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 840, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -27067,43 +27314,43 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_INCREF(__pyx_v_lines); __Pyx_GIVEREF(__pyx_v_lines); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 833, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 840, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":835 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":842 * write_text_to_gzip_file(fname, lines) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< * * gotlines = f.readlines() */ - __Pyx_TraceLine(835,0,__PYX_ERR(0, 835, __pyx_L7_error)) + __Pyx_TraceLine(842,0,__PYX_ERR(0, 842, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 842, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 842, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L7_error) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 842, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 835, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 835, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 842, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 842, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 835, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 842, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L13_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 842, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -27117,7 +27364,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 835, __pyx_L13_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -27135,15 +27382,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":837 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":844 * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * * gotlines = f.readlines() # <<<<<<<<<<<<<< * * assert len(lines) == len(gotlines) */ - __Pyx_TraceLine(837,0,__PYX_ERR(0, 837, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 837, __pyx_L17_error) + __Pyx_TraceLine(844,0,__PYX_ERR(0, 844, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 844, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -27157,40 +27404,40 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 837, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 844, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_gotlines = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":839 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":846 * gotlines = f.readlines() * * assert len(lines) == len(gotlines) # <<<<<<<<<<<<<< * * for expl, gotl in zip(lines, gotlines): */ - __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L17_error)) + __Pyx_TraceLine(846,0,__PYX_ERR(0, 846, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_15 = PyObject_Length(__pyx_v_lines); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 839, __pyx_L17_error) - __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 839, __pyx_L17_error) + __pyx_t_15 = PyObject_Length(__pyx_v_lines); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 846, __pyx_L17_error) + __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 846, __pyx_L17_error) if (unlikely(!((__pyx_t_15 == __pyx_t_16) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 839, __pyx_L17_error) + __PYX_ERR(0, 846, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":841 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":848 * assert len(lines) == len(gotlines) * * for expl, gotl in zip(lines, gotlines): # <<<<<<<<<<<<<< * assert (expl + '\n').encode() == gotl * */ - __Pyx_TraceLine(841,0,__PYX_ERR(0, 841, __pyx_L17_error)) - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 841, __pyx_L17_error) + __Pyx_TraceLine(848,0,__PYX_ERR(0, 848, __pyx_L17_error)) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 848, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_lines); __Pyx_GIVEREF(__pyx_v_lines); @@ -27198,16 +27445,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_INCREF(__pyx_v_gotlines); __Pyx_GIVEREF(__pyx_v_gotlines); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_gotlines); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 848, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { - __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 848, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_17 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_17 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 848, __pyx_L17_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { @@ -27215,17 +27462,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 848, __pyx_L17_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 848, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 848, __pyx_L17_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 848, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); #endif } @@ -27235,7 +27482,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 841, __pyx_L17_error) + else __PYX_ERR(0, 848, __pyx_L17_error) } break; } @@ -27247,7 +27494,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 841, __pyx_L17_error) + __PYX_ERR(0, 848, __pyx_L17_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -27260,15 +27507,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); #else - __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 848, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 848, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { Py_ssize_t index = -1; - __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 841, __pyx_L17_error) + __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 848, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_18 = Py_TYPE(__pyx_t_4)->tp_iternext; @@ -27276,7 +27523,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_5 = __pyx_t_18(__pyx_t_4); if (unlikely(!__pyx_t_5)) goto __pyx_L25_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_4), 2) < 0) __PYX_ERR(0, 841, __pyx_L17_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_4), 2) < 0) __PYX_ERR(0, 848, __pyx_L17_error) __pyx_t_18 = NULL; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L26_unpacking_done; @@ -27284,7 +27531,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_18 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 841, __pyx_L17_error) + __PYX_ERR(0, 848, __pyx_L17_error) __pyx_L26_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_expl, __pyx_t_1); @@ -27292,19 +27539,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_XDECREF_SET(__pyx_v_gotl, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":842 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":849 * * for expl, gotl in zip(lines, gotlines): * assert (expl + '\n').encode() == gotl # <<<<<<<<<<<<<< * * assert f.read() == b'' */ - __Pyx_TraceLine(842,0,__PYX_ERR(0, 842, __pyx_L17_error)) + __Pyx_TraceLine(849,0,__PYX_ERR(0, 849, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = PyNumber_Add(__pyx_v_expl, __pyx_kp_s__58); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 842, __pyx_L17_error) + __pyx_t_5 = PyNumber_Add(__pyx_v_expl, __pyx_kp_s__57); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 849, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -27319,42 +27566,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 842, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 849, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_gotl, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L17_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_gotl, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 842, __pyx_L17_error) + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 849, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_19)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 842, __pyx_L17_error) + __PYX_ERR(0, 849, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":841 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":848 * assert len(lines) == len(gotlines) * * for expl, gotl in zip(lines, gotlines): # <<<<<<<<<<<<<< * assert (expl + '\n').encode() == gotl * */ - __Pyx_TraceLine(841,0,__PYX_ERR(0, 841, __pyx_L17_error)) + __Pyx_TraceLine(848,0,__PYX_ERR(0, 848, __pyx_L17_error)) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":844 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":851 * assert (expl + '\n').encode() == gotl * * assert f.read() == b'' # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(844,0,__PYX_ERR(0, 844, __pyx_L17_error)) + __Pyx_TraceLine(851,0,__PYX_ERR(0, 851, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 844, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 851, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -27368,19 +27615,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 844, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 851, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 844, __pyx_L17_error) + __pyx_t_19 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 851, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_19)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 844, __pyx_L17_error) + __PYX_ERR(0, 851, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":835 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":842 * write_text_to_gzip_file(fname, lines) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -27400,20 +27647,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 835, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 842, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L19_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 842, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 835, __pyx_L19_except_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 842, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_19 < 0) __PYX_ERR(0, 835, __pyx_L19_except_error) + if (__pyx_t_19 < 0) __PYX_ERR(0, 842, __pyx_L19_except_error) __pyx_t_21 = ((!(__pyx_t_19 != 0)) != 0); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_2); @@ -27421,7 +27668,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 835, __pyx_L19_except_error) + __PYX_ERR(0, 842, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -27445,9 +27692,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 835, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 842, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -27462,7 +27709,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __pyx_L30:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":831 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":838 * """).strip().split('\n') * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -27482,20 +27729,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 831, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 838, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 831, __pyx_L9_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 838, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 831, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 838, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 831, __pyx_L9_except_error) + if (__pyx_t_21 < 0) __PYX_ERR(0, 838, __pyx_L9_except_error) __pyx_t_19 = ((!(__pyx_t_21 != 0)) != 0); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_3); @@ -27503,7 +27750,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 831, __pyx_L9_except_error) + __PYX_ERR(0, 838, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -27527,9 +27774,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 831, __pyx_L1_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -27544,7 +27791,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read __pyx_L34:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":821 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":828 * * * def test_readlines(drop): # <<<<<<<<<<<<<< @@ -27577,7 +27824,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":847 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 * * * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< @@ -27634,19 +27881,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__67) + __Pyx_TraceFrameInit(__pyx_codeobj__66) __Pyx_RefNannySetupContext("test_readlines_sizelimit", 0); - __Pyx_TraceCall("test_readlines_sizelimit", __pyx_f[0], 847, 0, __PYX_ERR(0, 847, __pyx_L1_error)); + __Pyx_TraceCall("test_readlines_sizelimit", __pyx_f[0], 854, 0, __PYX_ERR(0, 854, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":849 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":856 * def test_readlines_sizelimit(drop): * * lines = ['line one', 'line two'] # <<<<<<<<<<<<<< * data = '\n'.join(lines) + '\n' * */ - __Pyx_TraceLine(849,0,__PYX_ERR(0, 849, __pyx_L1_error)) - __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L1_error) + __Pyx_TraceLine(856,0,__PYX_ERR(0, 856, __pyx_L1_error)) + __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_kp_s_line_one); __Pyx_GIVEREF(__pyx_kp_s_line_one); @@ -27657,32 +27904,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __pyx_v_lines = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":850 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":857 * * lines = ['line one', 'line two'] * data = '\n'.join(lines) + '\n' # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(850,0,__PYX_ERR(0, 850, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyString_Join(__pyx_kp_s__58, __pyx_v_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 850, __pyx_L1_error) + __Pyx_TraceLine(857,0,__PYX_ERR(0, 857, __pyx_L1_error)) + __pyx_t_1 = __Pyx_PyString_Join(__pyx_kp_s__57, __pyx_v_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__58); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 850, __pyx_L1_error) + __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__57); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_data = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":852 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":859 * data = '\n'.join(lines) + '\n' * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) */ - __Pyx_TraceLine(852,0,__PYX_ERR(0, 852, __pyx_L1_error)) + __Pyx_TraceLine(859,0,__PYX_ERR(0, 859, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 852, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { @@ -27696,12 +27943,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 852, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 852, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 859, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -27715,7 +27962,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 852, __pyx_L3_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 859, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_1; @@ -27733,17 +27980,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":853 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":860 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * write_text_to_gzip_file(fname, lines) * */ - __Pyx_TraceLine(853,0,__PYX_ERR(0, 853, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 853, __pyx_L7_error) + __Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 860, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 853, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -27761,7 +28008,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 853, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -27769,13 +28016,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 853, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 853, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 860, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -27786,7 +28033,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 853, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -27794,15 +28041,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __pyx_v_fname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":861 * with tempdir() as td: * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< * * limits = range(len(data) + 2) */ - __Pyx_TraceLine(854,0,__PYX_ERR(0, 854, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 854, __pyx_L7_error) + __Pyx_TraceLine(861,0,__PYX_ERR(0, 861, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 861, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; __pyx_t_9 = 0; @@ -27819,7 +28066,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 854, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -27827,13 +28074,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 854, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 854, __pyx_L7_error) + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 861, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -27844,60 +28091,60 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __Pyx_INCREF(__pyx_v_lines); __Pyx_GIVEREF(__pyx_v_lines); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_v_lines); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 854, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":856 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":863 * write_text_to_gzip_file(fname, lines) * * limits = range(len(data) + 2) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: */ - __Pyx_TraceLine(856,0,__PYX_ERR(0, 856, __pyx_L7_error)) - __pyx_t_10 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 856, __pyx_L7_error) - __pyx_t_3 = PyInt_FromSsize_t((__pyx_t_10 + 2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 856, __pyx_L7_error) + __Pyx_TraceLine(863,0,__PYX_ERR(0, 863, __pyx_L7_error)) + __pyx_t_10 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 863, __pyx_L7_error) + __pyx_t_3 = PyInt_FromSsize_t((__pyx_t_10 + 2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 863, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 856, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 863, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_limits = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":858 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":865 * limits = range(len(data) + 2) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< * * for lim in limits: */ - __Pyx_TraceLine(858,0,__PYX_ERR(0, 858, __pyx_L7_error)) + __Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 865, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 858, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 865, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 865, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 858, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 858, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 858, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 865, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 865, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 858, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 865, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 858, __pyx_L13_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 865, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -27911,7 +28158,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 858, __pyx_L13_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_2; @@ -27929,38 +28176,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":860 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":867 * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * * for lim in limits: # <<<<<<<<<<<<<< * f.seek(0) * gotlines = f.readlines(lim) */ - __Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L17_error)) + __Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L17_error)) if (likely(PyList_CheckExact(__pyx_v_limits)) || PyTuple_CheckExact(__pyx_v_limits)) { __pyx_t_1 = __pyx_v_limits; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __pyx_t_15 = NULL; } else { - __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_limits); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L17_error) + __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_limits); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 867, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 860, __pyx_L17_error) + __pyx_t_15 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 867, __pyx_L17_error) } for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 860, __pyx_L17_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 867, __pyx_L17_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 860, __pyx_L17_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 867, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 860, __pyx_L17_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 867, __pyx_L17_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 860, __pyx_L17_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 867, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); #endif } @@ -27970,7 +28217,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 860, __pyx_L17_error) + else __PYX_ERR(0, 867, __pyx_L17_error) } break; } @@ -27979,15 +28226,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __Pyx_XDECREF_SET(__pyx_v_lim, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":861 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":868 * * for lim in limits: * f.seek(0) # <<<<<<<<<<<<<< * gotlines = f.readlines(lim) * */ - __Pyx_TraceLine(861,0,__PYX_ERR(0, 861, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 861, __pyx_L17_error) + __Pyx_TraceLine(868,0,__PYX_ERR(0, 868, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -28001,20 +28248,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 868, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":862 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":869 * for lim in limits: * f.seek(0) * gotlines = f.readlines(lim) # <<<<<<<<<<<<<< * * # Expect the first line */ - __Pyx_TraceLine(862,0,__PYX_ERR(0, 862, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 862, __pyx_L17_error) + __Pyx_TraceLine(869,0,__PYX_ERR(0, 869, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 869, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -28028,68 +28275,68 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_lim) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_lim); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 862, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 869, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_gotlines, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":865 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":872 * * # Expect the first line * if lim < len(lines[0]) + 1: # <<<<<<<<<<<<<< * assert len(gotlines) == 1 * assert gotlines[0] == (lines[0] + '\n').encode() */ - __Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L17_error)) - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 865, __pyx_L17_error) + __Pyx_TraceLine(872,0,__PYX_ERR(0, 872, __pyx_L17_error)) + __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 872, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_16 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 865, __pyx_L17_error) + __pyx_t_16 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 872, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_16 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 865, __pyx_L17_error) + __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_16 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 872, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyObject_RichCompare(__pyx_v_lim, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L17_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_lim, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 865, __pyx_L17_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 872, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_17) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":866 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":873 * # Expect the first line * if lim < len(lines[0]) + 1: * assert len(gotlines) == 1 # <<<<<<<<<<<<<< * assert gotlines[0] == (lines[0] + '\n').encode() * */ - __Pyx_TraceLine(866,0,__PYX_ERR(0, 866, __pyx_L17_error)) + __Pyx_TraceLine(873,0,__PYX_ERR(0, 873, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 866, __pyx_L17_error) + __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 873, __pyx_L17_error) if (unlikely(!((__pyx_t_16 == 1) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 866, __pyx_L17_error) + __PYX_ERR(0, 873, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":867 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":874 * if lim < len(lines[0]) + 1: * assert len(gotlines) == 1 * assert gotlines[0] == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< * * # Expect both lines */ - __Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L17_error)) + __Pyx_TraceLine(874,0,__PYX_ERR(0, 874, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_gotlines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 867, __pyx_L17_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_gotlines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 874, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 867, __pyx_L17_error) + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 874, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_18 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__58); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 867, __pyx_L17_error) + __pyx_t_18 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__57); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 874, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 867, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 874, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; @@ -28104,22 +28351,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read } __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 867, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 874, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 867, __pyx_L17_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 874, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 867, __pyx_L17_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 874, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 867, __pyx_L17_error) + __PYX_ERR(0, 874, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":865 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":872 * * # Expect the first line * if lim < len(lines[0]) + 1: # <<<<<<<<<<<<<< @@ -28129,43 +28376,43 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read goto __pyx_L25; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":871 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":878 * # Expect both lines * else: * assert len(gotlines) == 2 # <<<<<<<<<<<<<< * assert gotlines[0] == (lines[0] + '\n').encode() * assert gotlines[1] == (lines[1] + '\n').encode() */ - __Pyx_TraceLine(871,0,__PYX_ERR(0, 871, __pyx_L17_error)) + __Pyx_TraceLine(878,0,__PYX_ERR(0, 878, __pyx_L17_error)) /*else*/ { #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 871, __pyx_L17_error) + __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 878, __pyx_L17_error) if (unlikely(!((__pyx_t_16 == 2) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 871, __pyx_L17_error) + __PYX_ERR(0, 878, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":872 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":879 * else: * assert len(gotlines) == 2 * assert gotlines[0] == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< * assert gotlines[1] == (lines[1] + '\n').encode() * */ - __Pyx_TraceLine(872,0,__PYX_ERR(0, 872, __pyx_L17_error)) + __Pyx_TraceLine(879,0,__PYX_ERR(0, 879, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_gotlines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 872, __pyx_L17_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_gotlines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 879, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L17_error) + __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_18 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__58); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 872, __pyx_L17_error) + __pyx_t_18 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__57); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 879, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L17_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; @@ -28180,39 +28427,39 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read } __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 872, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 879, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L17_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 872, __pyx_L17_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 879, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 872, __pyx_L17_error) + __PYX_ERR(0, 879, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":873 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":880 * assert len(gotlines) == 2 * assert gotlines[0] == (lines[0] + '\n').encode() * assert gotlines[1] == (lines[1] + '\n').encode() # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(873,0,__PYX_ERR(0, 873, __pyx_L17_error)) + __Pyx_TraceLine(880,0,__PYX_ERR(0, 880, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_gotlines, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 873, __pyx_L17_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_gotlines, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 873, __pyx_L17_error) + __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_18 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__58); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 873, __pyx_L17_error) + __pyx_t_18 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__57); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 880, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 873, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; @@ -28227,35 +28474,35 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read } __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 873, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 880, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 873, __pyx_L17_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L17_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 873, __pyx_L17_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 880, __pyx_L17_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 873, __pyx_L17_error) + __PYX_ERR(0, 880, __pyx_L17_error) } } #endif } __pyx_L25:; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":860 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":867 * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * * for lim in limits: # <<<<<<<<<<<<<< * f.seek(0) * gotlines = f.readlines(lim) */ - __Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L17_error)) + __Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L17_error)) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":858 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":865 * limits = range(len(data) + 2) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -28275,20 +28522,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 858, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 865, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 858, __pyx_L19_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 858, __pyx_L19_except_error) + if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 865, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_19); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 858, __pyx_L19_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 865, __pyx_L19_except_error) __pyx_t_20 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_20) { __Pyx_GIVEREF(__pyx_t_1); @@ -28296,7 +28543,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 858, __pyx_L19_except_error) + __PYX_ERR(0, 865, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -28320,9 +28567,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 858, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 865, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -28337,7 +28584,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __pyx_L29:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":852 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":859 * data = '\n'.join(lines) + '\n' * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -28357,20 +28604,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 852, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 859, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 852, __pyx_L9_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 859, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 852, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 859, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_20 < 0) __PYX_ERR(0, 852, __pyx_L9_except_error) + if (__pyx_t_20 < 0) __PYX_ERR(0, 859, __pyx_L9_except_error) __pyx_t_17 = ((!(__pyx_t_20 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_5); @@ -28378,7 +28625,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_1); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 852, __pyx_L9_except_error) + __PYX_ERR(0, 859, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -28402,9 +28649,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 852, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -28419,7 +28666,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read __pyx_L33:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":847 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 * * * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< @@ -28453,7 +28700,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_read return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":876 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":883 * * * def test_iter(drop): # <<<<<<<<<<<<<< @@ -28511,21 +28758,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__68) + __Pyx_TraceFrameInit(__pyx_codeobj__67) __Pyx_RefNannySetupContext("test_iter", 0); - __Pyx_TraceCall("test_iter", __pyx_f[0], 876, 0, __PYX_ERR(0, 876, __pyx_L1_error)); + __Pyx_TraceCall("test_iter", __pyx_f[0], 883, 0, __PYX_ERR(0, 883, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":878 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":885 * def test_iter(drop): * * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< * this is * even more text */ - __Pyx_TraceLine(878,0,__PYX_ERR(0, 878, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 878, __pyx_L1_error) + __Pyx_TraceLine(885,0,__PYX_ERR(0, 885, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 878, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -28540,19 +28787,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter } __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_even_more_text_that_is) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_even_more_text_that_is); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 878, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":887 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":894 * this test data is * unparalleled * """).strip().split('\n') # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(887,0,__PYX_ERR(0, 887, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 887, __pyx_L1_error) + __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L1_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -28567,10 +28814,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 887, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 887, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -28583,24 +28830,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_DECREF_SET(__pyx_t_5, function); } } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__58) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__58); + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__57) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__57); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 887, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_lines = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":889 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":896 * """).strip().split('\n') * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) */ - __Pyx_TraceLine(889,0,__PYX_ERR(0, 889, __pyx_L1_error)) + __Pyx_TraceLine(896,0,__PYX_ERR(0, 896, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 889, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { @@ -28614,12 +28861,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 889, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 889, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 889, __pyx_L3_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 896, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -28633,7 +28880,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 889, __pyx_L3_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 896, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_5; @@ -28651,17 +28898,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __pyx_v_td = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":890 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":897 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * write_text_to_gzip_file(fname, lines) * */ - __Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 890, __pyx_L7_error) + __Pyx_TraceLine(897,0,__PYX_ERR(0, 897, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 890, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 897, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -28679,7 +28926,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -28687,13 +28934,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 890, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -28704,7 +28951,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -28712,15 +28959,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __pyx_v_fname = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":891 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":898 * with tempdir() as td: * fname = op.join(td, 'test.gz') * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: */ - __Pyx_TraceLine(891,0,__PYX_ERR(0, 891, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 891, __pyx_L7_error) + __Pyx_TraceLine(898,0,__PYX_ERR(0, 898, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 898, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; __pyx_t_10 = 0; @@ -28737,7 +28984,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -28745,13 +28992,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 891, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -28762,43 +29009,43 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_INCREF(__pyx_v_lines); __Pyx_GIVEREF(__pyx_v_lines); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":893 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":900 * write_text_to_gzip_file(fname, lines) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< * for i, gotline in enumerate(f): * assert (lines[i] + '\n').encode() == gotline */ - __Pyx_TraceLine(893,0,__PYX_ERR(0, 893, __pyx_L7_error)) + __Pyx_TraceLine(900,0,__PYX_ERR(0, 900, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 893, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 893, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 900, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 893, __pyx_L7_error) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 893, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 893, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 893, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 900, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 900, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 893, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 900, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 893, __pyx_L13_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -28812,7 +29059,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 893, __pyx_L13_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; @@ -28830,40 +29077,40 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":894 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * for i, gotline in enumerate(f): # <<<<<<<<<<<<<< * assert (lines[i] + '\n').encode() == gotline * */ - __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L17_error)) + __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L17_error)) __Pyx_INCREF(__pyx_int_0); __pyx_t_2 = __pyx_int_0; if (likely(PyList_CheckExact(__pyx_v_f)) || PyTuple_CheckExact(__pyx_v_f)) { __pyx_t_3 = __pyx_v_f; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { - __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 894, __pyx_L17_error) + __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 901, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_16 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 894, __pyx_L17_error) + __pyx_t_16 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 901, __pyx_L17_error) } for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 894, __pyx_L17_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 901, __pyx_L17_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L17_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 894, __pyx_L17_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 901, __pyx_L17_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L17_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -28873,7 +29120,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 894, __pyx_L17_error) + else __PYX_ERR(0, 901, __pyx_L17_error) } break; } @@ -28883,28 +29130,28 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __pyx_t_1 = 0; __Pyx_INCREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); - __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":895 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":902 * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * for i, gotline in enumerate(f): * assert (lines[i] + '\n').encode() == gotline # <<<<<<<<<<<<<< * * with pytest.raises(StopIteration): */ - __Pyx_TraceLine(895,0,__PYX_ERR(0, 895, __pyx_L17_error)) + __Pyx_TraceLine(902,0,__PYX_ERR(0, 902, __pyx_L17_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_lines, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 895, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_lines, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 902, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__58); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 895, __pyx_L17_error) + __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__57); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 902, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 895, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 902, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -28919,44 +29166,44 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter } __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 895, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 902, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_v_gotline, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 895, __pyx_L17_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_v_gotline, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 902, __pyx_L17_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 895, __pyx_L17_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 902, __pyx_L17_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 895, __pyx_L17_error) + __PYX_ERR(0, 902, __pyx_L17_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":894 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: * for i, gotline in enumerate(f): # <<<<<<<<<<<<<< * assert (lines[i] + '\n').encode() == gotline * */ - __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L17_error)) + __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L17_error)) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":897 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":904 * assert (lines[i] + '\n').encode() == gotline * * with pytest.raises(StopIteration): # <<<<<<<<<<<<<< * next(f) * */ - __Pyx_TraceLine(897,0,__PYX_ERR(0, 897, __pyx_L17_error)) + __Pyx_TraceLine(904,0,__PYX_ERR(0, 904, __pyx_L17_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L17_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 897, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 904, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -28971,12 +29218,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_builtin_StopIteration) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_StopIteration); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_18 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 897, __pyx_L17_error) + __pyx_t_18 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 904, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_18); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L25_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -28990,7 +29237,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 897, __pyx_L25_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 904, __pyx_L25_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -29005,19 +29252,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_XGOTREF(__pyx_t_21); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":898 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":905 * * with pytest.raises(StopIteration): * next(f) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(898,0,__PYX_ERR(0, 898, __pyx_L29_error)) - __pyx_t_2 = __Pyx_PyIter_Next(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L29_error) + __Pyx_TraceLine(905,0,__PYX_ERR(0, 905, __pyx_L29_error)) + __pyx_t_2 = __Pyx_PyIter_Next(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 905, __pyx_L29_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":897 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":904 * assert (lines[i] + '\n').encode() == gotline * * with pytest.raises(StopIteration): # <<<<<<<<<<<<<< @@ -29037,20 +29284,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 897, __pyx_L31_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 904, __pyx_L31_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L31_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 904, __pyx_L31_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 897, __pyx_L31_except_error) + if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 904, __pyx_L31_except_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_22); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 897, __pyx_L31_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 904, __pyx_L31_except_error) __pyx_t_23 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_2); @@ -29058,7 +29305,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 897, __pyx_L31_except_error) + __PYX_ERR(0, 904, __pyx_L31_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -29082,9 +29329,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter /*finally:*/ { /*normal exit:*/{ if (__pyx_t_18) { - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_tuple__25, NULL); + __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 897, __pyx_L17_error) + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 904, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } @@ -29099,7 +29346,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __pyx_L38:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":893 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":900 * write_text_to_gzip_file(fname, lines) * * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< @@ -29119,20 +29366,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 893, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 900, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 893, __pyx_L19_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 893, __pyx_L19_except_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 900, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_18); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__pyx_t_23 < 0) __PYX_ERR(0, 893, __pyx_L19_except_error) + if (__pyx_t_23 < 0) __PYX_ERR(0, 900, __pyx_L19_except_error) __pyx_t_17 = ((!(__pyx_t_23 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_3); @@ -29140,7 +29387,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 893, __pyx_L19_except_error) + __PYX_ERR(0, 900, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -29164,9 +29411,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 893, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 900, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -29181,7 +29428,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __pyx_L42:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":889 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":896 * """).strip().split('\n') * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -29201,20 +29448,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 889, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 896, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 889, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 896, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 889, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 896, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 889, __pyx_L9_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 896, __pyx_L9_except_error) __pyx_t_23 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_2); @@ -29222,7 +29469,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 889, __pyx_L9_except_error) + __PYX_ERR(0, 896, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -29246,9 +29493,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter /*finally:*/ { /*normal exit:*/{ if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__25, NULL); + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 889, __pyx_L1_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -29263,7 +29510,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter __pyx_L46:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":876 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":883 * * * def test_iter(drop): # <<<<<<<<<<<<<< @@ -29295,7 +29542,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 * * * def test_get_index_seek_points(): # <<<<<<<<<<<<<< @@ -29352,20 +29599,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__69) + __Pyx_TraceFrameInit(__pyx_codeobj__68) __Pyx_RefNannySetupContext("test_get_index_seek_points", 0); - __Pyx_TraceCall("test_get_index_seek_points", __pyx_f[0], 901, 0, __PYX_ERR(0, 901, __pyx_L1_error)); + __Pyx_TraceCall("test_get_index_seek_points", __pyx_f[0], 908, 0, __PYX_ERR(0, 908, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":903 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":910 * def test_get_index_seek_points(): * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * spacing = 1048576 */ - __Pyx_TraceLine(903,0,__PYX_ERR(0, 903, __pyx_L1_error)) + __Pyx_TraceLine(910,0,__PYX_ERR(0, 910, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 903, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -29379,12 +29626,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 903, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 903, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 903, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 910, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -29398,7 +29645,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 903, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -29416,17 +29663,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":904 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":911 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * spacing = 1048576 * */ - __Pyx_TraceLine(904,0,__PYX_ERR(0, 904, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 904, __pyx_L7_error) + __Pyx_TraceLine(911,0,__PYX_ERR(0, 911, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 911, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 911, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -29444,7 +29691,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -29452,13 +29699,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 904, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 911, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -29469,7 +29716,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -29477,45 +29724,45 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __pyx_v_fname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":905 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":912 * with tempdir() as td: * fname = op.join(td, 'test.gz') * spacing = 1048576 # <<<<<<<<<<<<<< * * # make a test file */ - __Pyx_TraceLine(905,0,__PYX_ERR(0, 905, __pyx_L7_error)) + __Pyx_TraceLine(912,0,__PYX_ERR(0, 912, __pyx_L7_error)) __Pyx_INCREF(__pyx_int_1048576); __pyx_v_spacing = __pyx_int_1048576; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":915 * * # make a test file * data = np.arange(spacing, dtype=np.uint64) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(908,0,__PYX_ERR(0, 908, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_TraceLine(915,0,__PYX_ERR(0, 915, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 915, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 908, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 915, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 908, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 915, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_spacing); __Pyx_GIVEREF(__pyx_v_spacing); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_spacing); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 908, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 915, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 908, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 915, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 908, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 915, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 908, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 915, __pyx_L7_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 908, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 915, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -29523,18 +29770,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __pyx_v_data = __pyx_t_10; __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":909 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":916 * # make a test file * data = np.arange(spacing, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * */ - __Pyx_TraceLine(909,0,__PYX_ERR(0, 909, __pyx_L7_error)) + __Pyx_TraceLine(916,0,__PYX_ERR(0, 916, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_gzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 909, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_gzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 916, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_open); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 909, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_open); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -29552,7 +29799,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 909, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 916, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); } else @@ -29560,13 +29807,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 909, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 916, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 909, __pyx_L7_error) + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 916, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -29577,14 +29824,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 909, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 916, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 909, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 916, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 909, __pyx_L13_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 916, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -29598,7 +29845,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 909, __pyx_L13_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_3; @@ -29616,17 +29863,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __pyx_v_f = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":910 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":917 * data = np.arange(spacing, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * * # check points before and after index creation */ - __Pyx_TraceLine(910,0,__PYX_ERR(0, 910, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L17_error) + __Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 917, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 910, __pyx_L17_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -29640,7 +29887,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 910, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 917, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -29656,12 +29903,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 917, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":909 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":916 * # make a test file * data = np.arange(spacing, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< @@ -29681,20 +29928,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_3) < 0) __PYX_ERR(0, 909, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_3) < 0) __PYX_ERR(0, 916, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 909, __pyx_L19_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 916, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 909, __pyx_L19_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 916, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 909, __pyx_L19_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 916, __pyx_L19_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_2); @@ -29702,7 +29949,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_10, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_10 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 909, __pyx_L19_except_error) + __PYX_ERR(0, 916, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -29726,9 +29973,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 909, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 916, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -29743,36 +29990,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":913 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":920 * * # check points before and after index creation * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: # <<<<<<<<<<<<<< * assert not list(f.seek_points()) * f.build_full_index() */ - __Pyx_TraceLine(913,0,__PYX_ERR(0, 913, __pyx_L7_error)) + __Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 913, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 913, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 920, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 913, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 920, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_spacing, __pyx_v_spacing) < 0) __PYX_ERR(0, 913, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 913, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_spacing, __pyx_v_spacing) < 0) __PYX_ERR(0, 920, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 913, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 920, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 913, __pyx_L27_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -29786,7 +30033,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ } __pyx_t_2 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L27_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 920, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -29804,17 +30051,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":914 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":921 * # check points before and after index creation * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: * assert not list(f.seek_points()) # <<<<<<<<<<<<<< * f.build_full_index() * */ - __Pyx_TraceLine(914,0,__PYX_ERR(0, 914, __pyx_L31_error)) + __Pyx_TraceLine(921,0,__PYX_ERR(0, 921, __pyx_L31_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L31_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 921, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -29828,30 +30075,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 914, __pyx_L31_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 921, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L31_error) + __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 921, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_17 = (PyList_GET_SIZE(__pyx_t_5) != 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!((!__pyx_t_17) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 914, __pyx_L31_error) + __PYX_ERR(0, 921, __pyx_L31_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":915 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":922 * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: * assert not list(f.seek_points()) * f.build_full_index() # <<<<<<<<<<<<<< * * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) */ - __Pyx_TraceLine(915,0,__PYX_ERR(0, 915, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 915, __pyx_L31_error) + __Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 922, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -29865,42 +30112,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 915, __pyx_L31_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 922, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":917 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":924 * f.build_full_index() * * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) # <<<<<<<<<<<<<< * seek_points = list(f.seek_points()) * */ - __Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L31_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_nbytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L31_error) + __Pyx_TraceLine(924,0,__PYX_ERR(0, 924, __pyx_L31_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_nbytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 924, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_5, __pyx_v_spacing); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 917, __pyx_L31_error) + __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_5, __pyx_v_spacing); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 924, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L31_error) + __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 924, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_5, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 917, __pyx_L31_error) + __pyx_t_3 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_5, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 924, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_expected_number_of_seek_points = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":918 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":925 * * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) * seek_points = list(f.seek_points()) # <<<<<<<<<<<<<< * * assert len(seek_points) == expected_number_of_seek_points */ - __Pyx_TraceLine(918,0,__PYX_ERR(0, 918, __pyx_L31_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 918, __pyx_L31_error) + __Pyx_TraceLine(925,0,__PYX_ERR(0, 925, __pyx_L31_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 925, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -29914,96 +30161,96 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 918, __pyx_L31_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 925, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 918, __pyx_L31_error) + __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 925, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_seek_points = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":920 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 * seek_points = list(f.seek_points()) * * assert len(seek_points) == expected_number_of_seek_points # <<<<<<<<<<<<<< * * # check monotonic growth */ - __Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L31_error)) + __Pyx_TraceLine(927,0,__PYX_ERR(0, 927, __pyx_L31_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_18 = PyList_GET_SIZE(__pyx_v_seek_points); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 920, __pyx_L31_error) - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L31_error) + __pyx_t_18 = PyList_GET_SIZE(__pyx_v_seek_points); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 927, __pyx_L31_error) + __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 927, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_expected_number_of_seek_points, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L31_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_expected_number_of_seek_points, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 927, __pyx_L31_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 920, __pyx_L31_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 927, __pyx_L31_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 920, __pyx_L31_error) + __PYX_ERR(0, 927, __pyx_L31_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":923 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":930 * * # check monotonic growth * uncmp_offsets = [point[0] for point in seek_points] # <<<<<<<<<<<<<< * assert sorted(uncmp_offsets) == uncmp_offsets * */ - __Pyx_TraceLine(923,0,__PYX_ERR(0, 923, __pyx_L31_error)) - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 923, __pyx_L31_error) + __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L31_error)) + __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __pyx_v_seek_points; __Pyx_INCREF(__pyx_t_5); __pyx_t_18 = 0; for (;;) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_18); __Pyx_INCREF(__pyx_t_2); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 923, __pyx_L31_error) + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_18); __Pyx_INCREF(__pyx_t_2); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 930, __pyx_L31_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 923, __pyx_L31_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_point, __pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_point, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 923, __pyx_L31_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_point, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 923, __pyx_L31_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 930, __pyx_L31_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_uncmp_offsets = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":924 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":931 * # check monotonic growth * uncmp_offsets = [point[0] for point in seek_points] * assert sorted(uncmp_offsets) == uncmp_offsets # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(924,0,__PYX_ERR(0, 924, __pyx_L31_error)) + __Pyx_TraceLine(931,0,__PYX_ERR(0, 931, __pyx_L31_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = PySequence_List(__pyx_v_uncmp_offsets); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 924, __pyx_L31_error) + __pyx_t_5 = PySequence_List(__pyx_v_uncmp_offsets); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 931, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_19 = PyList_Sort(__pyx_t_3); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 924, __pyx_L31_error) - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_v_uncmp_offsets, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 924, __pyx_L31_error) + __pyx_t_19 = PyList_Sort(__pyx_t_3); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 931, __pyx_L31_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_v_uncmp_offsets, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 931, __pyx_L31_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 924, __pyx_L31_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 931, __pyx_L31_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 924, __pyx_L31_error) + __PYX_ERR(0, 931, __pyx_L31_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":913 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":920 * * # check points before and after index creation * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: # <<<<<<<<<<<<<< @@ -30023,20 +30270,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 913, __pyx_L33_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 920, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 913, __pyx_L33_except_error) + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 920, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 913, __pyx_L33_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 920, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 913, __pyx_L33_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 920, __pyx_L33_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_5); @@ -30044,7 +30291,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_2); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 913, __pyx_L33_except_error) + __PYX_ERR(0, 920, __pyx_L33_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -30068,9 +30315,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 913, __pyx_L7_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 920, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -30085,7 +30332,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __pyx_L42:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":903 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":910 * def test_get_index_seek_points(): * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -30105,20 +30352,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 903, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 910, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 903, __pyx_L9_except_error) + __pyx_t_10 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 903, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 910, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 903, __pyx_L9_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 910, __pyx_L9_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_2); @@ -30126,7 +30373,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 903, __pyx_L9_except_error) + __PYX_ERR(0, 910, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -30150,9 +30397,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 903, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -30167,7 +30414,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ __pyx_L46:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 * * * def test_get_index_seek_points(): # <<<<<<<<<<<<<< @@ -30202,7 +30449,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_ return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 * * * def test_import_export_index(): # <<<<<<<<<<<<<< @@ -30255,20 +30502,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__70) + __Pyx_TraceFrameInit(__pyx_codeobj__69) __Pyx_RefNannySetupContext("test_import_export_index", 0); - __Pyx_TraceCall("test_import_export_index", __pyx_f[0], 927, 0, __PYX_ERR(0, 927, __pyx_L1_error)); + __Pyx_TraceCall("test_import_export_index", __pyx_f[0], 934, 0, __PYX_ERR(0, 934, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":929 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":936 * def test_import_export_index(): * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * idxfname = op.join(td, 'test.gzidx') */ - __Pyx_TraceLine(929,0,__PYX_ERR(0, 929, __pyx_L1_error)) + __Pyx_TraceLine(936,0,__PYX_ERR(0, 936, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -30282,12 +30529,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 929, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 929, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 929, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 936, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -30301,7 +30548,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 936, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -30319,17 +30566,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":930 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":937 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * idxfname = op.join(td, 'test.gzidx') * */ - __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 930, __pyx_L7_error) + __Pyx_TraceLine(937,0,__PYX_ERR(0, 937, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 937, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -30347,7 +30594,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 937, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -30355,13 +30602,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 937, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 930, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 937, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -30372,7 +30619,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 937, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -30380,17 +30627,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_v_fname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":931 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":938 * with tempdir() as td: * fname = op.join(td, 'test.gz') * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< * * # make a test file */ - __Pyx_TraceLine(931,0,__PYX_ERR(0, 931, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 931, __pyx_L7_error) + __Pyx_TraceLine(938,0,__PYX_ERR(0, 938, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 938, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 931, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 938, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -30408,7 +30655,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 931, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 938, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -30416,13 +30663,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 931, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 938, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 931, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 938, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -30433,7 +30680,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_INCREF(__pyx_kp_s_test_gzidx); __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 931, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 938, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -30441,47 +30688,47 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_v_idxfname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":941 * * # make a test file * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(934,0,__PYX_ERR(0, 934, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_TraceLine(941,0,__PYX_ERR(0, 941, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 934, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 941, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 934, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 934, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 934, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 941, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 934, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 941, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__71, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 934, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__70, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 941, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_data = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":935 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":942 * # make a test file * data = np.arange(524288, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * */ - __Pyx_TraceLine(935,0,__PYX_ERR(0, 935, __pyx_L7_error)) + __Pyx_TraceLine(942,0,__PYX_ERR(0, 942, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 935, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 935, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 942, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -30499,7 +30746,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 935, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 942, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -30507,13 +30754,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 935, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 942, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 935, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -30524,14 +30771,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 935, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 942, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 935, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 942, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 935, __pyx_L13_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -30545,7 +30792,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 935, __pyx_L13_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 942, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_5; @@ -30563,17 +30810,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":936 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":943 * data = np.arange(524288, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * * # generate an index file */ - __Pyx_TraceLine(936,0,__PYX_ERR(0, 936, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 936, __pyx_L17_error) + __Pyx_TraceLine(943,0,__PYX_ERR(0, 943, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 943, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 936, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 943, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -30587,7 +30834,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 936, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 943, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -30603,12 +30850,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 936, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 943, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":935 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":942 * # make a test file * data = np.arange(524288, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< @@ -30628,20 +30875,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 935, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 942, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 935, __pyx_L19_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 935, __pyx_L19_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 942, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 935, __pyx_L19_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 942, __pyx_L19_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_1); @@ -30649,7 +30896,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 935, __pyx_L19_except_error) + __PYX_ERR(0, 942, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -30673,9 +30920,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 935, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 942, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -30690,36 +30937,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":939 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":946 * * # generate an index file * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< * f.build_full_index() * points = list(f.seek_points()) */ - __Pyx_TraceLine(939,0,__PYX_ERR(0, 939, __pyx_L7_error)) + __Pyx_TraceLine(946,0,__PYX_ERR(0, 946, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 939, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 946, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 939, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 939, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 946, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 939, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 939, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 939, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 946, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 946, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 939, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 946, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 939, __pyx_L27_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 946, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -30733,7 +30980,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 939, __pyx_L27_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_1; @@ -30751,15 +30998,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":940 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":947 * # generate an index file * with igzip._IndexedGzipFile(fname, spacing=131072) as f: * f.build_full_index() # <<<<<<<<<<<<<< * points = list(f.seek_points()) * f.export_index(idxfname) */ - __Pyx_TraceLine(940,0,__PYX_ERR(0, 940, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 940, __pyx_L31_error) + __Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 947, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -30773,20 +31020,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 940, __pyx_L31_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":941 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":948 * with igzip._IndexedGzipFile(fname, spacing=131072) as f: * f.build_full_index() * points = list(f.seek_points()) # <<<<<<<<<<<<<< * f.export_index(idxfname) * */ - __Pyx_TraceLine(941,0,__PYX_ERR(0, 941, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L31_error) + __Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -30800,24 +31047,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 941, __pyx_L31_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 948, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L31_error) + __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_points = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":942 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":949 * f.build_full_index() * points = list(f.seek_points()) * f.export_index(idxfname) # <<<<<<<<<<<<<< * * # Check that index file works via __init__ */ - __Pyx_TraceLine(942,0,__PYX_ERR(0, 942, __pyx_L31_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 942, __pyx_L31_error) + __Pyx_TraceLine(949,0,__PYX_ERR(0, 949, __pyx_L31_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 949, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -30831,12 +31078,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_idxfname); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L31_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 949, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":939 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":946 * * # generate an index file * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< @@ -30856,20 +31103,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 939, __pyx_L33_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 946, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 939, __pyx_L33_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 939, __pyx_L33_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 946, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 939, __pyx_L33_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 946, __pyx_L33_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_3); @@ -30877,7 +31124,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 939, __pyx_L33_except_error) + __PYX_ERR(0, 946, __pyx_L33_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -30901,9 +31148,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 939, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 946, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -30918,36 +31165,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_L40:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":945 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":952 * * # Check that index file works via __init__ * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: # <<<<<<<<<<<<<< * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) */ - __Pyx_TraceLine(945,0,__PYX_ERR(0, 945, __pyx_L7_error)) + __Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 945, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 952, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_index_file, __pyx_v_idxfname) < 0) __PYX_ERR(0, 945, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 945, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_index_file, __pyx_v_idxfname) < 0) __PYX_ERR(0, 952, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 952, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 945, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 952, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L41_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -30961,7 +31208,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L41_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_3; @@ -30979,15 +31226,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":946 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":953 * # Check that index file works via __init__ * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: * f.seek(65535 * 8) # <<<<<<<<<<<<<< * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 */ - __Pyx_TraceLine(946,0,__PYX_ERR(0, 946, __pyx_L45_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L45_error) + __Pyx_TraceLine(953,0,__PYX_ERR(0, 953, __pyx_L45_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 953, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -31001,25 +31248,25 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_524280); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L45_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 953, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":947 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":954 * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< * assert val[0] == 65535 * assert points == list(f.seek_points()) */ - __Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L45_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_TraceLine(954,0,__PYX_ERR(0, 954, __pyx_L45_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 947, __pyx_L45_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 947, __pyx_L45_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -31033,24 +31280,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L45_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 947, __pyx_L45_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L45_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L45_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_uint64); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 947, __pyx_L45_error) + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_uint64); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_14) < 0) __PYX_ERR(0, 947, __pyx_L45_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_14) < 0) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 947, __pyx_L45_error) + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 954, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -31058,42 +31305,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_v_val = __pyx_t_14; __pyx_t_14 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":948 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":955 * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 # <<<<<<<<<<<<<< * assert points == list(f.seek_points()) * */ - __Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L45_error)) + __Pyx_TraceLine(955,0,__PYX_ERR(0, 955, __pyx_L45_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 948, __pyx_L45_error) + __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 955, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_14, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 948, __pyx_L45_error) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_14, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 948, __pyx_L45_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 955, __pyx_L45_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 948, __pyx_L45_error) + __PYX_ERR(0, 955, __pyx_L45_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":949 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":956 * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< * * # Check that index file works via import_index */ - __Pyx_TraceLine(949,0,__PYX_ERR(0, 949, __pyx_L45_error)) + __Pyx_TraceLine(956,0,__PYX_ERR(0, 956, __pyx_L45_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 949, __pyx_L45_error) } - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 949, __pyx_L45_error) + if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 956, __pyx_L45_error) } + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 956, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { @@ -31107,24 +31354,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L45_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 956, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 949, __pyx_L45_error) + __pyx_t_14 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 956, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_RichCompare(__pyx_v_points, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L45_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_points, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 956, __pyx_L45_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 949, __pyx_L45_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 956, __pyx_L45_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 949, __pyx_L45_error) + __PYX_ERR(0, 956, __pyx_L45_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":945 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":952 * * # Check that index file works via __init__ * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: # <<<<<<<<<<<<<< @@ -31144,20 +31391,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_14, &__pyx_t_3) < 0) __PYX_ERR(0, 945, __pyx_L47_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_14, &__pyx_t_3) < 0) __PYX_ERR(0, 952, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_14); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_14, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 945, __pyx_L47_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_14, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 952, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 945, __pyx_L47_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 952, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 945, __pyx_L47_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 952, __pyx_L47_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_1); @@ -31165,7 +31412,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_14, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 945, __pyx_L47_except_error) + __PYX_ERR(0, 952, __pyx_L47_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; @@ -31189,9 +31436,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 945, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 952, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -31206,18 +31453,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_L54:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":952 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":959 * * # Check that index file works via import_index * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< * f.import_index(idxfname) * f.seek(65535 * 8) */ - __Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L7_error)) + __Pyx_TraceLine(959,0,__PYX_ERR(0, 959, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_igzip); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 952, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_igzip); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 959, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 959, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; @@ -31232,12 +31479,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_14, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_fname); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 952, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 959, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 952, __pyx_L55_error) + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 959, __pyx_L55_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { @@ -31251,7 +31498,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_14); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L55_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 959, __pyx_L55_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __pyx_t_1; @@ -31269,15 +31516,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_14); __pyx_t_14 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":953 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 * # Check that index file works via import_index * with igzip._IndexedGzipFile(fname) as f: * f.import_index(idxfname) # <<<<<<<<<<<<<< * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) */ - __Pyx_TraceLine(953,0,__PYX_ERR(0, 953, __pyx_L59_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 953, __pyx_L59_error) + __Pyx_TraceLine(960,0,__PYX_ERR(0, 960, __pyx_L59_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 960, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -31291,20 +31538,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 953, __pyx_L59_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 960, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":954 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":961 * with igzip._IndexedGzipFile(fname) as f: * f.import_index(idxfname) * f.seek(65535 * 8) # <<<<<<<<<<<<<< * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 */ - __Pyx_TraceLine(954,0,__PYX_ERR(0, 954, __pyx_L59_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 954, __pyx_L59_error) + __Pyx_TraceLine(961,0,__PYX_ERR(0, 961, __pyx_L59_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 961, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -31318,25 +31565,25 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_524280); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 954, __pyx_L59_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 961, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":955 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":962 * f.import_index(idxfname) * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< * assert val[0] == 65535 * assert points == list(f.seek_points()) */ - __Pyx_TraceLine(955,0,__PYX_ERR(0, 955, __pyx_L59_error)) - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_TraceLine(962,0,__PYX_ERR(0, 962, __pyx_L59_error)) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 955, __pyx_L59_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L59_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -31350,24 +31597,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_14 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 955, __pyx_L59_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L59_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 955, __pyx_L59_error) + __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_14); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 955, __pyx_L59_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 955, __pyx_L59_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 955, __pyx_L59_error) + if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 955, __pyx_L59_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 962, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -31375,42 +31622,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":956 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":963 * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 # <<<<<<<<<<<<<< * assert points == list(f.seek_points()) * */ - __Pyx_TraceLine(956,0,__PYX_ERR(0, 956, __pyx_L59_error)) + __Pyx_TraceLine(963,0,__PYX_ERR(0, 963, __pyx_L59_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 956, __pyx_L59_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 963, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 956, __pyx_L59_error) + __pyx_t_14 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 963, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 956, __pyx_L59_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 963, __pyx_L59_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 956, __pyx_L59_error) + __PYX_ERR(0, 963, __pyx_L59_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":957 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":964 * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L59_error)) + __Pyx_TraceLine(964,0,__PYX_ERR(0, 964, __pyx_L59_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 957, __pyx_L59_error) } - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 957, __pyx_L59_error) + if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 964, __pyx_L59_error) } + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 964, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -31424,24 +31671,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo } __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 957, __pyx_L59_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 964, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PySequence_List(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 957, __pyx_L59_error) + __pyx_t_5 = PySequence_List(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 964, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyObject_RichCompare(__pyx_v_points, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 957, __pyx_L59_error) + __pyx_t_14 = PyObject_RichCompare(__pyx_v_points, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 964, __pyx_L59_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 957, __pyx_L59_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 964, __pyx_L59_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 957, __pyx_L59_error) + __PYX_ERR(0, 964, __pyx_L59_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":952 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":959 * * # Check that index file works via import_index * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< @@ -31461,20 +31708,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_14, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 952, __pyx_L61_except_error) + if (__Pyx_GetException(&__pyx_t_14, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 959, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_14, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L61_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_14, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 952, __pyx_L61_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 959, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 952, __pyx_L61_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 959, __pyx_L61_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_14); @@ -31482,7 +31729,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_14, __pyx_t_5, __pyx_t_1); __pyx_t_14 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 952, __pyx_L61_except_error) + __PYX_ERR(0, 959, __pyx_L61_except_error) } __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -31506,9 +31753,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 952, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 959, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -31523,7 +31770,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_L68:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":929 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":936 * def test_import_export_index(): * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -31543,20 +31790,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_14) < 0) __PYX_ERR(0, 929, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_14) < 0) __PYX_ERR(0, 936, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 929, __pyx_L9_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 936, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 929, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 936, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 929, __pyx_L9_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 936, __pyx_L9_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_1); @@ -31564,7 +31811,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __Pyx_XGIVEREF(__pyx_t_14); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_14); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_14 = 0; - __PYX_ERR(0, 929, __pyx_L9_except_error) + __PYX_ERR(0, 936, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -31588,9 +31835,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 929, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -31605,7 +31852,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo __pyx_L72:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 * * * def test_import_export_index(): # <<<<<<<<<<<<<< @@ -31638,7 +31885,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_impo return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 * * * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< @@ -31700,20 +31947,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__72) + __Pyx_TraceFrameInit(__pyx_codeobj__71) __Pyx_RefNannySetupContext("test_import_export_index_open_file", 0); - __Pyx_TraceCall("test_import_export_index_open_file", __pyx_f[0], 960, 0, __PYX_ERR(0, 960, __pyx_L1_error)); + __Pyx_TraceCall("test_import_export_index_open_file", __pyx_f[0], 967, 0, __PYX_ERR(0, 967, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":962 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":969 * def test_import_export_index_open_file(): * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * idxfname = op.join(td, 'test.gzidx') */ - __Pyx_TraceLine(962,0,__PYX_ERR(0, 962, __pyx_L1_error)) + __Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 962, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -31727,12 +31974,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 962, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 962, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 969, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -31746,7 +31993,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 962, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 969, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -31764,17 +32011,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":963 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":970 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * idxfname = op.join(td, 'test.gzidx') * */ - __Pyx_TraceLine(963,0,__PYX_ERR(0, 963, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 963, __pyx_L7_error) + __Pyx_TraceLine(970,0,__PYX_ERR(0, 970, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 970, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 963, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 970, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -31792,7 +32039,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -31800,13 +32047,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 963, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 970, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -31817,7 +32064,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 963, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -31825,17 +32072,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_v_fname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":964 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":971 * with tempdir() as td: * fname = op.join(td, 'test.gz') * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< * * # make a test file */ - __Pyx_TraceLine(964,0,__PYX_ERR(0, 964, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 964, __pyx_L7_error) + __Pyx_TraceLine(971,0,__PYX_ERR(0, 971, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 971, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 964, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 971, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -31853,7 +32100,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -31861,13 +32108,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 964, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 971, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -31878,7 +32125,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_INCREF(__pyx_kp_s_test_gzidx); __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -31886,47 +32133,47 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_v_idxfname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":974 * * # make a test file * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_TraceLine(974,0,__PYX_ERR(0, 974, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 967, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 974, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 967, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 974, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 967, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 974, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 967, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 974, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__71, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 967, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__70, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 974, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_data = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":968 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":975 * # make a test file * data = np.arange(524288, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * */ - __Pyx_TraceLine(968,0,__PYX_ERR(0, 968, __pyx_L7_error)) + __Pyx_TraceLine(975,0,__PYX_ERR(0, 975, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 968, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 975, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 968, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 975, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -31944,7 +32191,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 975, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -31952,13 +32199,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 975, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 968, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 975, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -31969,14 +32216,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 975, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 968, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 975, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 968, __pyx_L13_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 975, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -31990,7 +32237,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 968, __pyx_L13_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 975, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_5; @@ -32008,17 +32255,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":969 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":976 * data = np.arange(524288, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * * # generate an index file from open file handle */ - __Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 969, __pyx_L17_error) + __Pyx_TraceLine(976,0,__PYX_ERR(0, 976, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 976, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 969, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 976, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -32032,7 +32279,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 969, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 976, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -32048,12 +32295,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 976, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":968 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":975 * # make a test file * data = np.arange(524288, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< @@ -32073,20 +32320,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 968, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 975, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 968, __pyx_L19_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 975, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 968, __pyx_L19_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 975, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 968, __pyx_L19_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 975, __pyx_L19_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_1); @@ -32094,7 +32341,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 968, __pyx_L19_except_error) + __PYX_ERR(0, 975, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -32118,9 +32365,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 968, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 975, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -32135,36 +32382,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":972 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":979 * * # generate an index file from open file handle * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< * f.build_full_index() * points = list(f.seek_points()) */ - __Pyx_TraceLine(972,0,__PYX_ERR(0, 972, __pyx_L7_error)) + __Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 972, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 972, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 972, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 972, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 972, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 972, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 979, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 972, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 979, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 972, __pyx_L27_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -32178,7 +32425,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 972, __pyx_L27_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_1; @@ -32196,15 +32443,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":973 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":980 * # generate an index file from open file handle * with igzip._IndexedGzipFile(fname, spacing=131072) as f: * f.build_full_index() # <<<<<<<<<<<<<< * points = list(f.seek_points()) * */ - __Pyx_TraceLine(973,0,__PYX_ERR(0, 973, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 973, __pyx_L31_error) + __Pyx_TraceLine(980,0,__PYX_ERR(0, 980, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 980, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -32218,20 +32465,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 973, __pyx_L31_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 980, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":974 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":981 * with igzip._IndexedGzipFile(fname, spacing=131072) as f: * f.build_full_index() * points = list(f.seek_points()) # <<<<<<<<<<<<<< * * # Should raise if wrong permissions */ - __Pyx_TraceLine(974,0,__PYX_ERR(0, 974, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L31_error) + __Pyx_TraceLine(981,0,__PYX_ERR(0, 981, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 981, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -32245,27 +32492,27 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 974, __pyx_L31_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 981, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L31_error) + __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 981, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_points = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":977 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":984 * * # Should raise if wrong permissions * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * touch(idxfname) * with open(idxfname, 'rb') as idxf: */ - __Pyx_TraceLine(977,0,__PYX_ERR(0, 977, __pyx_L31_error)) + __Pyx_TraceLine(984,0,__PYX_ERR(0, 984, __pyx_L31_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L31_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 984, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 977, __pyx_L31_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 984, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -32280,12 +32527,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 977, __pyx_L31_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 984, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 977, __pyx_L31_error) + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 984, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L37_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 984, __pyx_L37_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -32299,7 +32546,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 977, __pyx_L37_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 984, __pyx_L37_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -32314,15 +32561,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGOTREF(__pyx_t_20); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":978 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":985 * # Should raise if wrong permissions * with pytest.raises(ValueError): * touch(idxfname) # <<<<<<<<<<<<<< * with open(idxfname, 'rb') as idxf: * f.export_index(fileobj=idxf) */ - __Pyx_TraceLine(978,0,__PYX_ERR(0, 978, __pyx_L41_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_touch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 978, __pyx_L41_error) + __Pyx_TraceLine(985,0,__PYX_ERR(0, 985, __pyx_L41_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_touch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 985, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { @@ -32336,21 +32583,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_idxfname); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 978, __pyx_L41_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 985, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":979 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":986 * with pytest.raises(ValueError): * touch(idxfname) * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< * f.export_index(fileobj=idxf) * */ - __Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L41_error)) + __Pyx_TraceLine(986,0,__PYX_ERR(0, 986, __pyx_L41_error)) /*with:*/ { - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L41_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_idxfname); __Pyx_GIVEREF(__pyx_v_idxfname); @@ -32358,12 +32605,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L41_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_21 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 979, __pyx_L41_error) + __pyx_t_21 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 986, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L47_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -32377,7 +32624,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L47_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L47_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_3; @@ -32395,26 +32642,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_v_idxf = __pyx_t_5; __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":980 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":987 * touch(idxfname) * with open(idxfname, 'rb') as idxf: * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< * * with open(idxfname, 'wb') as idxf: */ - __Pyx_TraceLine(980,0,__PYX_ERR(0, 980, __pyx_L51_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 980, __pyx_L51_error) + __Pyx_TraceLine(987,0,__PYX_ERR(0, 987, __pyx_L51_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 987, __pyx_L51_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 980, __pyx_L51_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 987, __pyx_L51_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 980, __pyx_L51_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 980, __pyx_L51_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 987, __pyx_L51_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 987, __pyx_L51_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":979 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":986 * with pytest.raises(ValueError): * touch(idxfname) * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< @@ -32434,20 +32681,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 979, __pyx_L53_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 986, __pyx_L53_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L53_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L53_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 979, __pyx_L53_except_error) + if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 986, __pyx_L53_except_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 979, __pyx_L53_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 986, __pyx_L53_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_3); @@ -32455,7 +32702,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 979, __pyx_L53_except_error) + __PYX_ERR(0, 986, __pyx_L53_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -32479,9 +32726,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_21) { - __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_tuple__25, NULL); + __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 979, __pyx_L41_error) + if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 986, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } @@ -32496,7 +32743,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L60:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":977 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":984 * * # Should raise if wrong permissions * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -32516,20 +32763,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 977, __pyx_L43_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 984, __pyx_L43_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 977, __pyx_L43_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 984, __pyx_L43_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 977, __pyx_L43_except_error) + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 984, __pyx_L43_except_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_21); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 977, __pyx_L43_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 984, __pyx_L43_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_5); @@ -32537,7 +32784,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 977, __pyx_L43_except_error) + __PYX_ERR(0, 984, __pyx_L43_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -32561,9 +32808,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_15) { - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__25, NULL); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 977, __pyx_L31_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } @@ -32578,16 +32825,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L64:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":982 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":989 * f.export_index(fileobj=idxf) * * with open(idxfname, 'wb') as idxf: # <<<<<<<<<<<<<< * f.export_index(fileobj=idxf) * */ - __Pyx_TraceLine(982,0,__PYX_ERR(0, 982, __pyx_L31_error)) + __Pyx_TraceLine(989,0,__PYX_ERR(0, 989, __pyx_L31_error)) /*with:*/ { - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 982, __pyx_L31_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 989, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_idxfname); __Pyx_GIVEREF(__pyx_v_idxfname); @@ -32595,12 +32842,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_wb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L31_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 989, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 982, __pyx_L31_error) + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 989, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 982, __pyx_L65_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 989, __pyx_L65_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -32614,7 +32861,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 982, __pyx_L65_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 989, __pyx_L65_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_3; @@ -32632,26 +32879,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":983 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":990 * * with open(idxfname, 'wb') as idxf: * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< * * # Check that we can read it back */ - __Pyx_TraceLine(983,0,__PYX_ERR(0, 983, __pyx_L69_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 983, __pyx_L69_error) + __Pyx_TraceLine(990,0,__PYX_ERR(0, 990, __pyx_L69_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 990, __pyx_L69_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 983, __pyx_L69_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 990, __pyx_L69_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 983, __pyx_L69_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 983, __pyx_L69_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 990, __pyx_L69_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 990, __pyx_L69_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":982 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":989 * f.export_index(fileobj=idxf) * * with open(idxfname, 'wb') as idxf: # <<<<<<<<<<<<<< @@ -32671,20 +32918,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 982, __pyx_L71_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 989, __pyx_L71_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 982, __pyx_L71_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 989, __pyx_L71_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 982, __pyx_L71_except_error) + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 989, __pyx_L71_except_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_21); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 982, __pyx_L71_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 989, __pyx_L71_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_3); @@ -32692,7 +32939,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 982, __pyx_L71_except_error) + __PYX_ERR(0, 989, __pyx_L71_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -32716,9 +32963,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_15) { - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__25, NULL); + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 982, __pyx_L31_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 989, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } @@ -32733,7 +32980,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L78:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":972 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":979 * * # generate an index file from open file handle * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< @@ -32753,20 +33000,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 972, __pyx_L33_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 979, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 972, __pyx_L33_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 972, __pyx_L33_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 979, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 972, __pyx_L33_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 979, __pyx_L33_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_5); @@ -32774,7 +33021,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 972, __pyx_L33_except_error) + __PYX_ERR(0, 979, __pyx_L33_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -32798,9 +33045,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 972, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 979, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -32815,18 +33062,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L82:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":986 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":993 * * # Check that we can read it back * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< * * # Should raise if wrong permissions */ - __Pyx_TraceLine(986,0,__PYX_ERR(0, 986, __pyx_L7_error)) + __Pyx_TraceLine(993,0,__PYX_ERR(0, 993, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 993, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 993, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -32841,12 +33088,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_fname); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L7_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 993, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 986, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 993, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L83_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 993, __pyx_L83_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -32860,7 +33107,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L83_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 993, __pyx_L83_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_5; @@ -32878,18 +33125,18 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":991 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":998 * # (append, so existing contents are * # not overwritten) * with pytest.raises(ValueError): # <<<<<<<<<<<<<< * with open(idxfname, 'ab') as idxf: * f.import_index(fileobj=idxf) */ - __Pyx_TraceLine(991,0,__PYX_ERR(0, 991, __pyx_L87_error)) + __Pyx_TraceLine(998,0,__PYX_ERR(0, 998, __pyx_L87_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 991, __pyx_L87_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 991, __pyx_L87_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 998, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -32904,12 +33151,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_ValueError); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 991, __pyx_L87_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 991, __pyx_L87_error) + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 998, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 991, __pyx_L93_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L93_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -32923,7 +33170,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 991, __pyx_L93_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 998, __pyx_L93_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -32938,16 +33185,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGOTREF(__pyx_t_20); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":992 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":999 * # not overwritten) * with pytest.raises(ValueError): * with open(idxfname, 'ab') as idxf: # <<<<<<<<<<<<<< * f.import_index(fileobj=idxf) * */ - __Pyx_TraceLine(992,0,__PYX_ERR(0, 992, __pyx_L97_error)) + __Pyx_TraceLine(999,0,__PYX_ERR(0, 999, __pyx_L97_error)) /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 992, __pyx_L97_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L97_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_idxfname); __Pyx_GIVEREF(__pyx_v_idxfname); @@ -32955,12 +33202,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_INCREF(__pyx_n_s_ab); __Pyx_GIVEREF(__pyx_n_s_ab); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_ab); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 992, __pyx_L97_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 999, __pyx_L97_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 992, __pyx_L97_error) + __pyx_t_21 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 999, __pyx_L97_error) __Pyx_GOTREF(__pyx_t_21); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 992, __pyx_L103_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L103_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -32974,7 +33221,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 992, __pyx_L103_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L103_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_1; @@ -32992,26 +33239,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":993 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1000 * with pytest.raises(ValueError): * with open(idxfname, 'ab') as idxf: * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< * * with open(idxfname, 'rb') as idxf: */ - __Pyx_TraceLine(993,0,__PYX_ERR(0, 993, __pyx_L107_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 993, __pyx_L107_error) + __Pyx_TraceLine(1000,0,__PYX_ERR(0, 1000, __pyx_L107_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L107_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 993, __pyx_L107_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1000, __pyx_L107_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 993, __pyx_L107_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 993, __pyx_L107_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1000, __pyx_L107_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L107_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":992 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":999 * # not overwritten) * with pytest.raises(ValueError): * with open(idxfname, 'ab') as idxf: # <<<<<<<<<<<<<< @@ -33031,20 +33278,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 992, __pyx_L109_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 999, __pyx_L109_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 992, __pyx_L109_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 999, __pyx_L109_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 992, __pyx_L109_except_error) + if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 999, __pyx_L109_except_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 992, __pyx_L109_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 999, __pyx_L109_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); @@ -33052,7 +33299,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 992, __pyx_L109_except_error) + __PYX_ERR(0, 999, __pyx_L109_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -33076,9 +33323,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_21) { - __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_tuple__25, NULL); + __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 992, __pyx_L97_error) + if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 999, __pyx_L97_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } @@ -33093,7 +33340,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L116:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":991 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":998 * # (append, so existing contents are * # not overwritten) * with pytest.raises(ValueError): # <<<<<<<<<<<<<< @@ -33113,20 +33360,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 991, __pyx_L99_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 998, __pyx_L99_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 991, __pyx_L99_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 998, __pyx_L99_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 991, __pyx_L99_except_error) + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 998, __pyx_L99_except_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_21); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 991, __pyx_L99_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 998, __pyx_L99_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_3); @@ -33134,7 +33381,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 991, __pyx_L99_except_error) + __PYX_ERR(0, 998, __pyx_L99_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -33158,9 +33405,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_15) { - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__25, NULL); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 991, __pyx_L87_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 998, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } @@ -33175,16 +33422,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L120:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":995 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1002 * f.import_index(fileobj=idxf) * * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< * f.import_index(fileobj=idxf) * f.seek(65535 * 8) */ - __Pyx_TraceLine(995,0,__PYX_ERR(0, 995, __pyx_L87_error)) + __Pyx_TraceLine(1002,0,__PYX_ERR(0, 1002, __pyx_L87_error)) /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 995, __pyx_L87_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1002, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_idxfname); __Pyx_GIVEREF(__pyx_v_idxfname); @@ -33192,12 +33439,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 995, __pyx_L87_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1002, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 995, __pyx_L87_error) + __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1002, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 995, __pyx_L121_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1002, __pyx_L121_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -33211,7 +33458,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 995, __pyx_L121_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1002, __pyx_L121_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_1; @@ -33229,26 +33476,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":996 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1003 * * with open(idxfname, 'rb') as idxf: * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) */ - __Pyx_TraceLine(996,0,__PYX_ERR(0, 996, __pyx_L125_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 996, __pyx_L125_error) + __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L125_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1003, __pyx_L125_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 996, __pyx_L125_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1003, __pyx_L125_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 996, __pyx_L125_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L125_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1003, __pyx_L125_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1003, __pyx_L125_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":995 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1002 * f.import_index(fileobj=idxf) * * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< @@ -33268,20 +33515,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 995, __pyx_L127_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 1002, __pyx_L127_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 995, __pyx_L127_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1002, __pyx_L127_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 995, __pyx_L127_except_error) + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1002, __pyx_L127_except_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_21); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 995, __pyx_L127_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1002, __pyx_L127_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); @@ -33289,7 +33536,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 995, __pyx_L127_except_error) + __PYX_ERR(0, 1002, __pyx_L127_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -33313,9 +33560,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_15) { - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__25, NULL); + __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 995, __pyx_L87_error) + if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1002, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } @@ -33330,15 +33577,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L134:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":997 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1004 * with open(idxfname, 'rb') as idxf: * f.import_index(fileobj=idxf) * f.seek(65535 * 8) # <<<<<<<<<<<<<< * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 */ - __Pyx_TraceLine(997,0,__PYX_ERR(0, 997, __pyx_L87_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 997, __pyx_L87_error) + __Pyx_TraceLine(1004,0,__PYX_ERR(0, 1004, __pyx_L87_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1004, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -33352,25 +33599,25 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_524280); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 997, __pyx_L87_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":998 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1005 * f.import_index(fileobj=idxf) * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< * assert val[0] == 65535 * assert points == list(f.seek_points()) */ - __Pyx_TraceLine(998,0,__PYX_ERR(0, 998, __pyx_L87_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_TraceLine(1005,0,__PYX_ERR(0, 1005, __pyx_L87_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 998, __pyx_L87_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L87_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -33384,24 +33631,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L87_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L87_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L87_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 998, __pyx_L87_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 998, __pyx_L87_error) + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_14) < 0) __PYX_ERR(0, 998, __pyx_L87_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_14) < 0) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 998, __pyx_L87_error) + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1005, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -33409,42 +33656,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_v_val = __pyx_t_14; __pyx_t_14 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":999 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1006 * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 # <<<<<<<<<<<<<< * assert points == list(f.seek_points()) * */ - __Pyx_TraceLine(999,0,__PYX_ERR(0, 999, __pyx_L87_error)) + __Pyx_TraceLine(1006,0,__PYX_ERR(0, 1006, __pyx_L87_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 999, __pyx_L87_error) + __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1006, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_14, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L87_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_14, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1006, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 999, __pyx_L87_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1006, __pyx_L87_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 999, __pyx_L87_error) + __PYX_ERR(0, 1006, __pyx_L87_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1000 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1007 * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< * * # Test exporting to / importing from a file-like object */ - __Pyx_TraceLine(1000,0,__PYX_ERR(0, 1000, __pyx_L87_error)) + __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L87_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 1000, __pyx_L87_error) } - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1000, __pyx_L87_error) + if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 1007, __pyx_L87_error) } + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1007, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { @@ -33458,24 +33705,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_14); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L87_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1007, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1000, __pyx_L87_error) + __pyx_t_14 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1007, __pyx_L87_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_v_points, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L87_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_points, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1007, __pyx_L87_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1000, __pyx_L87_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1007, __pyx_L87_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1000, __pyx_L87_error) + __PYX_ERR(0, 1007, __pyx_L87_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":986 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":993 * * # Check that we can read it back * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< @@ -33495,20 +33742,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_14, &__pyx_t_1) < 0) __PYX_ERR(0, 986, __pyx_L89_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_14, &__pyx_t_1) < 0) __PYX_ERR(0, 993, __pyx_L89_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_14); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L89_except_error) + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 993, __pyx_L89_except_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 986, __pyx_L89_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 993, __pyx_L89_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 986, __pyx_L89_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 993, __pyx_L89_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_3); @@ -33516,7 +33763,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_14, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_14 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 986, __pyx_L89_except_error) + __PYX_ERR(0, 993, __pyx_L89_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; @@ -33540,9 +33787,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 986, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 993, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -33557,15 +33804,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L138:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1003 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1010 * * # Test exporting to / importing from a file-like object * idxf = BytesIO() # <<<<<<<<<<<<<< * with igzip._IndexedGzipFile(fname, spacing=131072) as f: * f.build_full_index() */ - __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1003, __pyx_L7_error) + __Pyx_TraceLine(1010,0,__PYX_ERR(0, 1010, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1010, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { @@ -33579,42 +33826,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1003, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1010, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1004 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1011 * # Test exporting to / importing from a file-like object * idxf = BytesIO() * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< * f.build_full_index() * f.export_index(fileobj=idxf) */ - __Pyx_TraceLine(1004,0,__PYX_ERR(0, 1004, __pyx_L7_error)) + __Pyx_TraceLine(1011,0,__PYX_ERR(0, 1011, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1011, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1004, __pyx_L7_error) + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1011, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1011, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1011, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 1004, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1004, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 1011, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1011, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1004, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1011, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L139_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1011, __pyx_L139_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -33628,7 +33875,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L139_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1011, __pyx_L139_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_3; @@ -33646,15 +33893,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1005 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1012 * idxf = BytesIO() * with igzip._IndexedGzipFile(fname, spacing=131072) as f: * f.build_full_index() # <<<<<<<<<<<<<< * f.export_index(fileobj=idxf) * points = list(f.seek_points()) */ - __Pyx_TraceLine(1005,0,__PYX_ERR(0, 1005, __pyx_L143_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1005, __pyx_L143_error) + __Pyx_TraceLine(1012,0,__PYX_ERR(0, 1012, __pyx_L143_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1012, __pyx_L143_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -33668,39 +33915,39 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L143_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1012, __pyx_L143_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1006 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1013 * with igzip._IndexedGzipFile(fname, spacing=131072) as f: * f.build_full_index() * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< * points = list(f.seek_points()) * idxf.seek(0) */ - __Pyx_TraceLine(1006,0,__PYX_ERR(0, 1006, __pyx_L143_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1006, __pyx_L143_error) + __Pyx_TraceLine(1013,0,__PYX_ERR(0, 1013, __pyx_L143_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1013, __pyx_L143_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1006, __pyx_L143_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1013, __pyx_L143_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1006, __pyx_L143_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1006, __pyx_L143_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1013, __pyx_L143_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1013, __pyx_L143_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1007 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1014 * f.build_full_index() * f.export_index(fileobj=idxf) * points = list(f.seek_points()) # <<<<<<<<<<<<<< * idxf.seek(0) * with igzip._IndexedGzipFile(fname) as f: */ - __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L143_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1007, __pyx_L143_error) + __Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L143_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L143_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -33714,16 +33961,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1007, __pyx_L143_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1014, __pyx_L143_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1007, __pyx_L143_error) + __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L143_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_points, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1004 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1011 * # Test exporting to / importing from a file-like object * idxf = BytesIO() * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< @@ -33743,20 +33990,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 1004, __pyx_L145_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 1011, __pyx_L145_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1004, __pyx_L145_except_error) + __pyx_t_14 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1011, __pyx_L145_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_14, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1004, __pyx_L145_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1011, __pyx_L145_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1004, __pyx_L145_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1011, __pyx_L145_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_5); @@ -33764,7 +34011,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_1); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1004, __pyx_L145_except_error) + __PYX_ERR(0, 1011, __pyx_L145_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -33788,9 +34035,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1004, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1011, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -33805,15 +34052,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L152:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1008 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1015 * f.export_index(fileobj=idxf) * points = list(f.seek_points()) * idxf.seek(0) # <<<<<<<<<<<<<< * with igzip._IndexedGzipFile(fname) as f: * f.import_index(fileobj=idxf) */ - __Pyx_TraceLine(1008,0,__PYX_ERR(0, 1008, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_idxf, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1008, __pyx_L7_error) + __Pyx_TraceLine(1015,0,__PYX_ERR(0, 1015, __pyx_L7_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_idxf, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1015, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -33827,23 +34074,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1008, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1015, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1009 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1016 * points = list(f.seek_points()) * idxf.seek(0) * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< * f.import_index(fileobj=idxf) * f.seek(65535 * 8) */ - __Pyx_TraceLine(1009,0,__PYX_ERR(0, 1009, __pyx_L7_error)) + __Pyx_TraceLine(1016,0,__PYX_ERR(0, 1016, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1016, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1009, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1016, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -33858,12 +34105,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_fname); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1009, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1016, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1009, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1016, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L153_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1016, __pyx_L153_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -33877,7 +34124,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1009, __pyx_L153_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1016, __pyx_L153_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_5; @@ -33895,34 +34142,34 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1010 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 * idxf.seek(0) * with igzip._IndexedGzipFile(fname) as f: * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) */ - __Pyx_TraceLine(1010,0,__PYX_ERR(0, 1010, __pyx_L157_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1010, __pyx_L157_error) + __Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L157_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1017, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1010, __pyx_L157_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1017, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1010, __pyx_L157_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1010, __pyx_L157_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1017, __pyx_L157_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1017, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1011 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1018 * with igzip._IndexedGzipFile(fname) as f: * f.import_index(fileobj=idxf) * f.seek(65535 * 8) # <<<<<<<<<<<<<< * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 */ - __Pyx_TraceLine(1011,0,__PYX_ERR(0, 1011, __pyx_L157_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1011, __pyx_L157_error) + __Pyx_TraceLine(1018,0,__PYX_ERR(0, 1018, __pyx_L157_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1018, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -33936,25 +34183,25 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_524280); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1011, __pyx_L157_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1018, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1012 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1019 * f.import_index(fileobj=idxf) * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< * assert val[0] == 65535 * assert points == list(f.seek_points()) */ - __Pyx_TraceLine(1012,0,__PYX_ERR(0, 1012, __pyx_L157_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L157_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1012, __pyx_L157_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1012, __pyx_L157_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -33968,24 +34215,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1012, __pyx_L157_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1012, __pyx_L157_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1012, __pyx_L157_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1012, __pyx_L157_error) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1012, __pyx_L157_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1012, __pyx_L157_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1012, __pyx_L157_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1019, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -33993,42 +34240,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1013 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1020 * f.seek(65535 * 8) * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 # <<<<<<<<<<<<<< * assert points == list(f.seek_points()) * */ - __Pyx_TraceLine(1013,0,__PYX_ERR(0, 1013, __pyx_L157_error)) + __Pyx_TraceLine(1020,0,__PYX_ERR(0, 1020, __pyx_L157_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1013, __pyx_L157_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1020, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1013, __pyx_L157_error) + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1020, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1013, __pyx_L157_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1020, __pyx_L157_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1013, __pyx_L157_error) + __PYX_ERR(0, 1020, __pyx_L157_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1014 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1021 * val = np.frombuffer(f.read(8), dtype=np.uint64) * assert val[0] == 65535 * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L157_error)) + __Pyx_TraceLine(1021,0,__PYX_ERR(0, 1021, __pyx_L157_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 1014, __pyx_L157_error) } - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1014, __pyx_L157_error) + if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 1021, __pyx_L157_error) } + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1021, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -34042,24 +34289,24 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L157_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1021, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1014, __pyx_L157_error) + __pyx_t_2 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1021, __pyx_L157_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_points, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L157_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_v_points, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1021, __pyx_L157_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1014, __pyx_L157_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1021, __pyx_L157_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1014, __pyx_L157_error) + __PYX_ERR(0, 1021, __pyx_L157_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1009 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1016 * points = list(f.seek_points()) * idxf.seek(0) * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< @@ -34079,20 +34326,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 1009, __pyx_L159_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 1016, __pyx_L159_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1009, __pyx_L159_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1016, __pyx_L159_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1009, __pyx_L159_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1016, __pyx_L159_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1009, __pyx_L159_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1016, __pyx_L159_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_5); @@ -34100,7 +34347,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1009, __pyx_L159_except_error) + __PYX_ERR(0, 1016, __pyx_L159_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -34124,9 +34371,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1009, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1016, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -34141,7 +34388,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L166:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":962 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":969 * def test_import_export_index_open_file(): * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -34161,20 +34408,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 962, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 969, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 962, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 969, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 962, __pyx_L9_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 969, __pyx_L9_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_3); @@ -34182,7 +34429,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 962, __pyx_L9_except_error) + __PYX_ERR(0, 969, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -34206,9 +34453,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 962, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -34223,7 +34470,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo __pyx_L170:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 * * * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< @@ -34257,7 +34504,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_impo return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 * * * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< @@ -34283,6 +34530,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil PyObject *__pyx_v_td = NULL; PyObject *__pyx_v_fname = NULL; PyObject *__pyx_v_idxfname = NULL; + PyObject *__pyx_v_tmp_filename = NULL; PyObject *__pyx_v_data = NULL; PyObject *__pyx_v_f = NULL; PyObject *__pyx_v_b = NULL; @@ -34305,26 +34553,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; + int __pyx_t_15; int __pyx_t_16; - int __pyx_t_17; + PyObject *__pyx_t_17 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__73) + __Pyx_TraceFrameInit(__pyx_codeobj__72) __Pyx_RefNannySetupContext("test_build_index_from_unseekable", 0); - __Pyx_TraceCall("test_build_index_from_unseekable", __pyx_f[0], 1017, 0, __PYX_ERR(0, 1017, __pyx_L1_error)); + __Pyx_TraceCall("test_build_index_from_unseekable", __pyx_f[0], 1024, 0, __PYX_ERR(0, 1024, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1018 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1025 * * def test_build_index_from_unseekable(): * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * idxfname = op.join(td, 'test.gzidx') */ - __Pyx_TraceLine(1018,0,__PYX_ERR(0, 1018, __pyx_L1_error)) + __Pyx_TraceLine(1025,0,__PYX_ERR(0, 1025, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -34338,12 +34586,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1018, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1018, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1018, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1025, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -34357,7 +34605,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1025, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -34375,17 +34623,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1019 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1026 * def test_build_index_from_unseekable(): * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * idxfname = op.join(td, 'test.gzidx') * */ - __Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1019, __pyx_L7_error) + __Pyx_TraceLine(1026,0,__PYX_ERR(0, 1026, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1026, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1019, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1026, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -34403,7 +34651,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1026, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -34411,13 +34659,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1026, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1026, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -34428,7 +34676,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1026, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -34436,17 +34684,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __pyx_v_fname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1020 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1027 * with tempdir() as td: * fname = op.join(td, 'test.gz') * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< * - * # make a test file + * tmp_filename = op.join(td, 'test.txt') */ - __Pyx_TraceLine(1020,0,__PYX_ERR(0, 1020, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1020, __pyx_L7_error) + __Pyx_TraceLine(1027,0,__PYX_ERR(0, 1027, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1027, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1020, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1027, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -34464,7 +34712,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -34472,13 +34720,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1020, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1027, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -34489,7 +34737,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __Pyx_INCREF(__pyx_kp_s_test_gzidx); __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -34497,116 +34745,138 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __pyx_v_idxfname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1023 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1029 + * idxfname = op.join(td, 'test.gzidx') + * + * tmp_filename = op.join(td, 'test.txt') # <<<<<<<<<<<<<< + * + * # make a test file + */ + __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_op); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = NULL; + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; + } + } + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_td, __pyx_kp_s_test_txt}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_td, __pyx_kp_s_test_txt}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_5) { + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; + } + __Pyx_INCREF(__pyx_v_td); + __Pyx_GIVEREF(__pyx_v_td); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_td); + __Pyx_INCREF(__pyx_kp_s_test_txt); + __Pyx_GIVEREF(__pyx_kp_s_test_txt); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_kp_s_test_txt); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1029, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_tmp_filename = __pyx_t_3; + __pyx_t_3 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1032 * * # make a test file * data = np.arange(5242, dtype=np.uint64) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tostring()) + * with open(tmp_filename, 'w') as f: + * f.write(repr(data)) */ - __Pyx_TraceLine(1023,0,__PYX_ERR(0, 1023, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_TraceLine(1032,0,__PYX_ERR(0, 1032, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1032, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1023, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1032, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1023, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1032, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1023, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1023, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1032, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1023, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1032, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__74, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1023, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1032, __pyx_L7_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__73, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1032, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_data = __pyx_t_2; - __pyx_t_2 = 0; + __pyx_v_data = __pyx_t_5; + __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1033 * # make a test file * data = np.arange(5242, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) + * with open(tmp_filename, 'w') as f: # <<<<<<<<<<<<<< + * f.write(repr(data)) * */ - __Pyx_TraceLine(1024,0,__PYX_ERR(0, 1024, __pyx_L7_error)) + __Pyx_TraceLine(1033,0,__PYX_ERR(0, 1033, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1024, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1024, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1033, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1024, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } + __Pyx_INCREF(__pyx_v_tmp_filename); + __Pyx_GIVEREF(__pyx_v_tmp_filename); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_tmp_filename); + __Pyx_INCREF(__pyx_n_s_w); + __Pyx_GIVEREF(__pyx_n_s_w); + PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_w); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1033, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1024, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1033, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L13_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1033, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; + __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1024, __pyx_L13_error) + __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1033, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_5; __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /*try:*/ { { __Pyx_PyThreadState_declare @@ -34619,56 +34889,41 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1025 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1034 * data = np.arange(5242, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tostring()) # <<<<<<<<<<<<<< + * with open(tmp_filename, 'w') as f: + * f.write(repr(data)) # <<<<<<<<<<<<<< * - * # Test creating the index when file is unseekable, + * with gzip.open(fname, 'wb') as f: */ - __Pyx_TraceLine(1025,0,__PYX_ERR(0, 1025, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1025, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1025, __pyx_L17_error) + __Pyx_TraceLine(1034,0,__PYX_ERR(0, 1034, __pyx_L17_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1034, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = NULL; + __pyx_t_5 = PyObject_Repr(__pyx_v_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1034, __pyx_L17_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_14)) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_14); + __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } - __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1025, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1025, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1034, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1033 * # make a test file * data = np.arange(5242, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) + * with open(tmp_filename, 'w') as f: # <<<<<<<<<<<<<< + * f.write(repr(data)) * */ } @@ -34678,37 +34933,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil goto __pyx_L22_try_end; __pyx_L17_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1024, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1033, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1024, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1033, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1024, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1024, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1033, __pyx_L19_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1033, __pyx_L19_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_3); __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1024, __pyx_L19_except_error) + __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_5); + __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; + __PYX_ERR(0, 1033, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L18_exception_handled; } @@ -34729,9 +34983,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1024, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1033, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -34746,48 +35000,87 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1029 - * # Test creating the index when file is unseekable, - * # then using the index when file is seekable. - * with open(fname, 'rb') as f: # <<<<<<<<<<<<<< - * b = f.read() - * fileobj = BytesIO(b) + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1036 + * f.write(repr(data)) + * + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * */ - __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L7_error)) + __Pyx_TraceLine(1036,0,__PYX_ERR(0, 1036, __pyx_L7_error)) /*with:*/ { - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1029, __pyx_L27_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1036, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_9 = 0; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); + __pyx_t_9 = 1; } } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_5); + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1036, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1036, __pyx_L7_error) + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_GOTREF(__pyx_t_5); + } else + #endif + { + __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + if (__pyx_t_3) { + __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL; + } + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_wb); + __Pyx_GIVEREF(__pyx_n_s_wb); + PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_n_s_wb); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1036, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1036, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1036, __pyx_L27_error) + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; + __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /*try:*/ { { __Pyx_PyThreadState_declare @@ -34797,71 +35090,60 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_11); /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_2); + __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1030 - * # then using the index when file is seekable. - * with open(fname, 'rb') as f: - * b = f.read() # <<<<<<<<<<<<<< - * fileobj = BytesIO(b) + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1037 * + * with gzip.open(fname, 'wb') as f: + * f.write(data.tostring()) # <<<<<<<<<<<<<< + * + * # Test creating the index when file is unseekable, */ - __Pyx_TraceLine(1030,0,__PYX_ERR(0, 1030, __pyx_L31_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1030, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); + __Pyx_TraceLine(1037,0,__PYX_ERR(0, 1037, __pyx_L31_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1037, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1037, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_17 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_17)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); + __Pyx_DECREF_SET(__pyx_t_3, function); } } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1030, __pyx_L31_error) + __pyx_t_1 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1037, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_b = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1031 - * with open(fname, 'rb') as f: - * b = f.read() - * fileobj = BytesIO(b) # <<<<<<<<<<<<<< - * - * fileobj = GzipStream(data) - */ - __Pyx_TraceLine(1031,0,__PYX_ERR(0, 1031, __pyx_L31_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1031, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_b) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_b); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1031, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1037, __pyx_L31_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fileobj = __pyx_t_1; - __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1029 - * # Test creating the index when file is unseekable, - * # then using the index when file is seekable. - * with open(fname, 'rb') as f: # <<<<<<<<<<<<<< - * b = f.read() - * fileobj = BytesIO(b) + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1036 + * f.write(repr(data)) + * + * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< + * f.write(data.tostring()) + * */ } __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; @@ -34870,38 +35152,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil goto __pyx_L36_try_end; __pyx_L31_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1029, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_1); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1036, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1029, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1029, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1029, __pyx_L33_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1036, __pyx_L33_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1036, __pyx_L33_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1029, __pyx_L33_except_error) + __Pyx_GIVEREF(__pyx_t_5); + __Pyx_XGIVEREF(__pyx_t_1); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1036, __pyx_L33_except_error) } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L32_exception_handled; } __pyx_L33_except_error:; @@ -34921,9 +35203,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1029, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1036, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -34938,83 +35220,48 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __pyx_L40:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1033 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1041 + * # Test creating the index when file is unseekable, + * # then using the index when file is seekable. + * with open(fname, 'rb') as f: # <<<<<<<<<<<<<< + * b = f.read() * fileobj = BytesIO(b) - * - * fileobj = GzipStream(data) # <<<<<<<<<<<<<< - * - * """def new_seek(*args, **kwargs): */ - __Pyx_TraceLine(1033,0,__PYX_ERR(0, 1033, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GzipStream); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1033, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_data); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1033, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_fileobj, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1048 - * - * # generate an index file - * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * f.export_index(idxfname) - */ - __Pyx_TraceLine(1048,0,__PYX_ERR(0, 1048, __pyx_L7_error)) + __Pyx_TraceLine(1041,0,__PYX_ERR(0, 1041, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1048, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1048, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1048, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fileobj); - __Pyx_GIVEREF(__pyx_v_fileobj); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fileobj); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1041, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 1048, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1048, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_INCREF(__pyx_v_fname); + __Pyx_GIVEREF(__pyx_v_fname); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1041, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1048, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1041, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1048, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1041, __pyx_L41_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); + __Pyx_DECREF_SET(__pyx_t_2, function); } } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L41_error) + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1041, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_1; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /*try:*/ { { __Pyx_PyThreadState_declare @@ -35024,100 +35271,71 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __Pyx_XGOTREF(__pyx_t_12); __Pyx_XGOTREF(__pyx_t_13); /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1049 - * # generate an index file - * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: - * f.build_full_index() # <<<<<<<<<<<<<< - * f.export_index(idxfname) - * points = list(f.seek_points()) - */ - __Pyx_TraceLine(1049,0,__PYX_ERR(0, 1049, __pyx_L45_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1049, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1049, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_2); + __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1050 - * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: - * f.build_full_index() - * f.export_index(idxfname) # <<<<<<<<<<<<<< - * points = list(f.seek_points()) + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1042 + * # then using the index when file is seekable. + * with open(fname, 'rb') as f: + * b = f.read() # <<<<<<<<<<<<<< + * fileobj = BytesIO(b) * */ - __Pyx_TraceLine(1050,0,__PYX_ERR(0, 1050, __pyx_L45_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1050, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_3); + __Pyx_TraceLine(1042,0,__PYX_ERR(0, 1042, __pyx_L45_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1042, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1050, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1042, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_v_b = __pyx_t_2; + __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1051 - * f.build_full_index() - * f.export_index(idxfname) - * points = list(f.seek_points()) # <<<<<<<<<<<<<< + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1043 + * with open(fname, 'rb') as f: + * b = f.read() + * fileobj = BytesIO(b) # <<<<<<<<<<<<<< * - * return + * fileobj = GzipStream(open(tmp_filename, 'rb')) */ - __Pyx_TraceLine(1051,0,__PYX_ERR(0, 1051, __pyx_L45_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_3); + __Pyx_TraceLine(1043,0,__PYX_ERR(0, 1043, __pyx_L45_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1043, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); + __Pyx_DECREF_SET(__pyx_t_5, function); } } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); + __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_b) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_b); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1051, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_3); + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1043, __pyx_L45_error) + __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_points = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; + __pyx_v_fileobj = __pyx_t_2; + __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1048 - * - * # generate an index file - * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * f.export_index(idxfname) + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1041 + * # Test creating the index when file is unseekable, + * # then using the index when file is seekable. + * with open(fname, 'rb') as f: # <<<<<<<<<<<<<< + * b = f.read() + * fileobj = BytesIO(b) */ } __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; @@ -35126,36 +35344,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil goto __pyx_L50_try_end; __pyx_L45_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1048, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_3); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1041, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1048, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1041, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1048, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1048, __pyx_L47_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1041, __pyx_L47_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_15 < 0) __PYX_ERR(0, 1041, __pyx_L47_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); + if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1048, __pyx_L47_except_error) + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_1); + __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; + __PYX_ERR(0, 1041, __pyx_L47_except_error) } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L46_exception_handled; @@ -35177,9 +35395,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1048, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1041, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -35194,19 +35412,287 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __pyx_L54:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1053 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1045 + * fileobj = BytesIO(b) + * + * fileobj = GzipStream(open(tmp_filename, 'rb')) # <<<<<<<<<<<<<< + * + * """def new_seek(*args, **kwargs): + */ + __Pyx_TraceLine(1045,0,__PYX_ERR(0, 1045, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_GzipStream); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1045, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1045, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(__pyx_v_tmp_filename); + __Pyx_GIVEREF(__pyx_v_tmp_filename); + PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_tmp_filename); + __Pyx_INCREF(__pyx_n_s_rb); + __Pyx_GIVEREF(__pyx_n_s_rb); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_rb); + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1045, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { + __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); + if (likely(__pyx_t_2)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); + __Pyx_INCREF(__pyx_t_2); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_5, function); + } + } + __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1045, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_XDECREF_SET(__pyx_v_fileobj, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1059 + * + * # generate an index file + * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * f.export_index(idxfname) + */ + __Pyx_TraceLine(1059,0,__PYX_ERR(0, 1059, __pyx_L7_error)) + /*with:*/ { + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1059, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(__pyx_v_fileobj); + __Pyx_GIVEREF(__pyx_v_fileobj); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fileobj); + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1059, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_3); + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 1059, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1059, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1059, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_10); + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_1, function); + } + } + __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1059, __pyx_L55_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __pyx_t_3; + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + /*try:*/ { + { + __Pyx_PyThreadState_declare + __Pyx_PyThreadState_assign + __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); + __Pyx_XGOTREF(__pyx_t_13); + __Pyx_XGOTREF(__pyx_t_12); + __Pyx_XGOTREF(__pyx_t_11); + /*try:*/ { + __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); + __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1060 + * # generate an index file + * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: + * f.build_full_index() # <<<<<<<<<<<<<< + * f.export_index(idxfname) + * points = list(f.seek_points()) + */ + __Pyx_TraceLine(1060,0,__PYX_ERR(0, 1060, __pyx_L59_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1060, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1061 + * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: + * f.build_full_index() + * f.export_index(idxfname) # <<<<<<<<<<<<<< + * points = list(f.seek_points()) + * + */ + __Pyx_TraceLine(1061,0,__PYX_ERR(0, 1061, __pyx_L59_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1061, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_idxfname); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1061, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1062 + * f.build_full_index() + * f.export_index(idxfname) + * points = list(f.seek_points()) # <<<<<<<<<<<<<< + * + * return + */ + __Pyx_TraceLine(1062,0,__PYX_ERR(0, 1062, __pyx_L59_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1062, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { + __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); + if (likely(__pyx_t_3)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); + __Pyx_INCREF(__pyx_t_3); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_2, function); + } + } + __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1062, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1062, __pyx_L59_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_points = ((PyObject*)__pyx_t_2); + __pyx_t_2 = 0; + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1059 + * + * # generate an index file + * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: # <<<<<<<<<<<<<< + * f.build_full_index() + * f.export_index(idxfname) + */ + } + __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; + __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; + __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; + goto __pyx_L64_try_end; + __pyx_L59_error:; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + /*except:*/ { + __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1059, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1059, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1059, __pyx_L61_except_error) + __Pyx_GOTREF(__pyx_t_14); + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); + __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + if (__pyx_t_16 < 0) __PYX_ERR(0, 1059, __pyx_L61_except_error) + __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); + if (__pyx_t_15) { + __Pyx_GIVEREF(__pyx_t_2); + __Pyx_GIVEREF(__pyx_t_1); + __Pyx_XGIVEREF(__pyx_t_3); + __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); + __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; + __PYX_ERR(0, 1059, __pyx_L61_except_error) + } + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + goto __pyx_L60_exception_handled; + } + __pyx_L61_except_error:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + goto __pyx_L7_error; + __pyx_L60_exception_handled:; + __Pyx_XGIVEREF(__pyx_t_13); + __Pyx_XGIVEREF(__pyx_t_12); + __Pyx_XGIVEREF(__pyx_t_11); + __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); + __pyx_L64_try_end:; + } + } + /*finally:*/ { + /*normal exit:*/{ + if (__pyx_t_10) { + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1059, __pyx_L7_error) + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + } + goto __pyx_L58; + } + __pyx_L58:; + } + goto __pyx_L68; + __pyx_L55_error:; + __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; + goto __pyx_L7_error; + __pyx_L68:; + } + + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1064 * points = list(f.seek_points()) * * return # <<<<<<<<<<<<<< * fileobj.seek = old_seek * fileobj.tell = old_tell */ - __Pyx_TraceLine(1053,0,__PYX_ERR(0, 1053, __pyx_L7_error)) + __Pyx_TraceLine(1064,0,__PYX_ERR(0, 1064, __pyx_L7_error)) __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L11_try_return; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1018 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1025 * * def test_build_index_from_unseekable(): * with tempdir() as td: # <<<<<<<<<<<<<< @@ -35216,38 +35702,38 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil } __pyx_L7_error:; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 1018, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1025, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); + __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1025, __pyx_L9_except_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1018, __pyx_L9_except_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1025, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1018, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); + if (__pyx_t_15 < 0) __PYX_ERR(0, 1025, __pyx_L9_except_error) + __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { + __Pyx_GIVEREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1018, __pyx_L9_except_error) + __Pyx_XGIVEREF(__pyx_t_2); + __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); + __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; + __PYX_ERR(0, 1025, __pyx_L9_except_error) } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L8_exception_handled; } __pyx_L9_except_error:; @@ -35272,9 +35758,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1018, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -35284,9 +35770,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __pyx_t_8 = __pyx_r; __pyx_r = 0; if (__pyx_t_4) { - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1018, __pyx_L1_error) + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } @@ -35296,14 +35782,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil } __pyx_L6:; } - goto __pyx_L58; + goto __pyx_L72; __pyx_L3_error:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L1_error; - __pyx_L58:; + __pyx_L72:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 * * * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< @@ -35319,13 +35805,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_17); __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_td); __Pyx_XDECREF(__pyx_v_fname); __Pyx_XDECREF(__pyx_v_idxfname); + __Pyx_XDECREF(__pyx_v_tmp_filename); __Pyx_XDECREF(__pyx_v_data); __Pyx_XDECREF(__pyx_v_f); __Pyx_XDECREF(__pyx_v_b); @@ -35337,7 +35824,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_buil return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1066 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1077 * * * def test_wrapper_class(): # <<<<<<<<<<<<<< @@ -35388,20 +35875,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__75) + __Pyx_TraceFrameInit(__pyx_codeobj__74) __Pyx_RefNannySetupContext("test_wrapper_class", 0); - __Pyx_TraceCall("test_wrapper_class", __pyx_f[0], 1066, 0, __PYX_ERR(0, 1066, __pyx_L1_error)); + __Pyx_TraceCall("test_wrapper_class", __pyx_f[0], 1077, 0, __PYX_ERR(0, 1077, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1068 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1079 * def test_wrapper_class(): * * with tempdir() as td: # <<<<<<<<<<<<<< * fname = op.join(td, 'test.gz') * idxfname = op.join(td, 'test.gzidx') */ - __Pyx_TraceLine(1068,0,__PYX_ERR(0, 1068, __pyx_L1_error)) + __Pyx_TraceLine(1079,0,__PYX_ERR(0, 1079, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1068, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -35415,12 +35902,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1068, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1068, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1068, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1079, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -35434,7 +35921,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1068, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1079, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -35452,17 +35939,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __pyx_v_td = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1069 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1080 * * with tempdir() as td: * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< * idxfname = op.join(td, 'test.gzidx') * */ - __Pyx_TraceLine(1069,0,__PYX_ERR(0, 1069, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1069, __pyx_L7_error) + __Pyx_TraceLine(1080,0,__PYX_ERR(0, 1080, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1080, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1069, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1080, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -35480,7 +35967,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1069, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1080, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -35488,13 +35975,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1069, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1080, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1069, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1080, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -35505,7 +35992,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_INCREF(__pyx_kp_s_test_gz); __Pyx_GIVEREF(__pyx_kp_s_test_gz); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1069, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1080, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -35513,17 +36000,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __pyx_v_fname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1070 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1081 * with tempdir() as td: * fname = op.join(td, 'test.gz') * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< * * data = np.arange(65536, dtype=np.uint64) */ - __Pyx_TraceLine(1070,0,__PYX_ERR(0, 1070, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1070, __pyx_L7_error) + __Pyx_TraceLine(1081,0,__PYX_ERR(0, 1081, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1081, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1070, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1081, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -35541,7 +36028,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -35549,13 +36036,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1070, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1081, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -35566,7 +36053,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_INCREF(__pyx_kp_s_test_gzidx); __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1070, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } @@ -35574,47 +36061,47 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __pyx_v_idxfname = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1072 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1083 * idxfname = op.join(td, 'test.gzidx') * * data = np.arange(65536, dtype=np.uint64) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tostring()) */ - __Pyx_TraceLine(1072,0,__PYX_ERR(0, 1072, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_TraceLine(1083,0,__PYX_ERR(0, 1083, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1083, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1072, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1083, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1072, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1083, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1072, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1083, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1072, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1083, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1072, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1083, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__76, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1072, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__75, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1083, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_data = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1073 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1084 * * data = np.arange(65536, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tostring()) * */ - __Pyx_TraceLine(1073,0,__PYX_ERR(0, 1073, __pyx_L7_error)) + __Pyx_TraceLine(1084,0,__PYX_ERR(0, 1084, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1073, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1084, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1073, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1084, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -35632,7 +36119,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1073, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -35640,13 +36127,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1073, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1073, __pyx_L7_error) + __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -35657,14 +36144,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1073, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1073, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1084, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1073, __pyx_L13_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -35678,7 +36165,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1073, __pyx_L13_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1084, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_5; @@ -35696,17 +36183,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1074 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1085 * data = np.arange(65536, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: * f.write(data.tostring()) # <<<<<<<<<<<<<< * * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: */ - __Pyx_TraceLine(1074,0,__PYX_ERR(0, 1074, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L17_error) + __Pyx_TraceLine(1085,0,__PYX_ERR(0, 1085, __pyx_L17_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1085, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1074, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1085, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -35720,7 +36207,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1074, __pyx_L17_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1085, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -35736,12 +36223,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1074, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1085, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1073 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1084 * * data = np.arange(65536, dtype=np.uint64) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< @@ -35761,20 +36248,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1073, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1084, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1073, __pyx_L19_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1084, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1073, __pyx_L19_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1084, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1073, __pyx_L19_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1084, __pyx_L19_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_1); @@ -35782,7 +36269,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1073, __pyx_L19_except_error) + __PYX_ERR(0, 1084, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -35806,9 +36293,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1073, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1084, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -35823,36 +36310,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1076 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 * f.write(data.tostring()) * * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: # <<<<<<<<<<<<<< * * assert f.fileno() == f.fileobj().fileno() */ - __Pyx_TraceLine(1076,0,__PYX_ERR(0, 1076, __pyx_L7_error)) + __Pyx_TraceLine(1087,0,__PYX_ERR(0, 1087, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1076, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1087, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1076, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1087, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1076, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1087, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1076, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1076, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1087, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1087, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1076, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1087, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1076, __pyx_L27_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1087, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -35866,7 +36353,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __pyx_L27_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L27_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_1; @@ -35884,17 +36371,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1078 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1089 * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: * * assert f.fileno() == f.fileobj().fileno() # <<<<<<<<<<<<<< * assert not f.drop_handles * */ - __Pyx_TraceLine(1078,0,__PYX_ERR(0, 1078, __pyx_L31_error)) + __Pyx_TraceLine(1089,0,__PYX_ERR(0, 1089, __pyx_L31_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L31_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -35908,10 +36395,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1078, __pyx_L31_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1089, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L31_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -35925,10 +36412,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1078, __pyx_L31_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1089, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L31_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -35943,51 +36430,51 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L31_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L31_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L31_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1078, __pyx_L31_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1089, __pyx_L31_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1078, __pyx_L31_error) + __PYX_ERR(0, 1089, __pyx_L31_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1079 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1090 * * assert f.fileno() == f.fileobj().fileno() * assert not f.drop_handles # <<<<<<<<<<<<<< * * f.build_full_index() */ - __Pyx_TraceLine(1079,0,__PYX_ERR(0, 1079, __pyx_L31_error)) + __Pyx_TraceLine(1090,0,__PYX_ERR(0, 1090, __pyx_L31_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1079, __pyx_L31_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1090, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1079, __pyx_L31_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1090, __pyx_L31_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!((!__pyx_t_17) != 0))) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1079, __pyx_L31_error) + __PYX_ERR(0, 1090, __pyx_L31_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1081 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1092 * assert not f.drop_handles * * f.build_full_index() # <<<<<<<<<<<<<< * f.export_index(idxfname) * */ - __Pyx_TraceLine(1081,0,__PYX_ERR(0, 1081, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L31_error) + __Pyx_TraceLine(1092,0,__PYX_ERR(0, 1092, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1092, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -36001,20 +36488,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1081, __pyx_L31_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1092, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1082 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1093 * * f.build_full_index() * f.export_index(idxfname) # <<<<<<<<<<<<<< * * f.import_index(idxfname) */ - __Pyx_TraceLine(1082,0,__PYX_ERR(0, 1082, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1082, __pyx_L31_error) + __Pyx_TraceLine(1093,0,__PYX_ERR(0, 1093, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1093, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -36028,20 +36515,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1082, __pyx_L31_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1093, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1084 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1095 * f.export_index(idxfname) * * f.import_index(idxfname) # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(1084,0,__PYX_ERR(0, 1084, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1084, __pyx_L31_error) + __Pyx_TraceLine(1095,0,__PYX_ERR(0, 1095, __pyx_L31_error)) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1095, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -36055,12 +36542,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L31_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1095, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1076 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 * f.write(data.tostring()) * * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: # <<<<<<<<<<<<<< @@ -36080,20 +36567,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1076, __pyx_L33_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1087, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1076, __pyx_L33_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1076, __pyx_L33_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1087, __pyx_L33_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1076, __pyx_L33_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1087, __pyx_L33_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_2); @@ -36101,7 +36588,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1076, __pyx_L33_except_error) + __PYX_ERR(0, 1087, __pyx_L33_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -36125,9 +36612,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1076, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1087, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -36142,7 +36629,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __pyx_L40:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1068 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1079 * def test_wrapper_class(): * * with tempdir() as td: # <<<<<<<<<<<<<< @@ -36162,20 +36649,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 1068, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 1079, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1068, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1079, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1068, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1079, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1068, __pyx_L9_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1079, __pyx_L9_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_5); @@ -36183,7 +36670,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_2); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1068, __pyx_L9_except_error) + __PYX_ERR(0, 1079, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -36207,9 +36694,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1068, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -36224,7 +36711,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap __pyx_L44:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1066 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1077 * * * def test_wrapper_class(): # <<<<<<<<<<<<<< @@ -36255,7 +36742,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrap return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 * * * def gcd(num): # <<<<<<<<<<<<<< @@ -36295,37 +36782,37 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHO int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__77) + __Pyx_TraceFrameInit(__pyx_codeobj__76) __Pyx_RefNannySetupContext("gcd", 0); - __Pyx_TraceCall("gcd", __pyx_f[0], 1087, 0, __PYX_ERR(0, 1087, __pyx_L1_error)); + __Pyx_TraceCall("gcd", __pyx_f[0], 1098, 0, __PYX_ERR(0, 1098, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1088 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1099 * * def gcd(num): * if num <= 3: # <<<<<<<<<<<<<< * return 1 * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) */ - __Pyx_TraceLine(1088,0,__PYX_ERR(0, 1088, __pyx_L1_error)) - __pyx_t_1 = PyObject_RichCompare(__pyx_v_num, __pyx_int_3, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1088, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1088, __pyx_L1_error) + __Pyx_TraceLine(1099,0,__PYX_ERR(0, 1099, __pyx_L1_error)) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_num, __pyx_int_3, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1099, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1089 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1100 * def gcd(num): * if num <= 3: * return 1 # <<<<<<<<<<<<<< * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) * candidates.extend((2, 1)) */ - __Pyx_TraceLine(1089,0,__PYX_ERR(0, 1089, __pyx_L1_error)) + __Pyx_TraceLine(1100,0,__PYX_ERR(0, 1100, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_1); __pyx_r = __pyx_int_1; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1088 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1099 * * def gcd(num): * if num <= 3: # <<<<<<<<<<<<<< @@ -36334,22 +36821,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHO */ } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1090 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1101 * if num <= 3: * return 1 * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) # <<<<<<<<<<<<<< * candidates.extend((2, 1)) * for divisor in candidates: */ - __Pyx_TraceLine(1090,0,__PYX_ERR(0, 1090, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_TraceLine(1101,0,__PYX_ERR(0, 1101, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ceil); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1090, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ceil); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1090, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1090, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -36364,7 +36851,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHO } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_num) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_num); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1090, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; @@ -36380,13 +36867,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHO __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1090, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1090, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1090, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); @@ -36397,79 +36884,79 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHO __Pyx_GIVEREF(__pyx_int_neg_2); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_neg_2); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1090, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1090, __pyx_L1_error) + __pyx_t_1 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_candidates = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1091 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1102 * return 1 * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) * candidates.extend((2, 1)) # <<<<<<<<<<<<<< * for divisor in candidates: * if num % divisor == 0: */ - __Pyx_TraceLine(1091,0,__PYX_ERR(0, 1091, __pyx_L1_error)) - __pyx_t_7 = __Pyx_ListComp_Append(__pyx_v_candidates, __pyx_int_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 1091, __pyx_L1_error) - __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_candidates, __pyx_int_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1091, __pyx_L1_error) + __Pyx_TraceLine(1102,0,__PYX_ERR(0, 1102, __pyx_L1_error)) + __pyx_t_7 = __Pyx_ListComp_Append(__pyx_v_candidates, __pyx_int_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 1102, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_candidates, __pyx_int_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1102, __pyx_L1_error) (void)((__pyx_t_7 | __pyx_t_8)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1092 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1103 * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) * candidates.extend((2, 1)) * for divisor in candidates: # <<<<<<<<<<<<<< * if num % divisor == 0: * return divisor */ - __Pyx_TraceLine(1092,0,__PYX_ERR(0, 1092, __pyx_L1_error)) + __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L1_error)) __pyx_t_1 = __pyx_v_candidates; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1092, __pyx_L1_error) + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1103, __pyx_L1_error) #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1092, __pyx_L1_error) + __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_divisor, __pyx_t_4); __pyx_t_4 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1093 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1104 * candidates.extend((2, 1)) * for divisor in candidates: * if num % divisor == 0: # <<<<<<<<<<<<<< * return divisor * return 1 */ - __Pyx_TraceLine(1093,0,__PYX_ERR(0, 1093, __pyx_L1_error)) - __pyx_t_4 = PyNumber_Remainder(__pyx_v_num, __pyx_v_divisor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1093, __pyx_L1_error) + __Pyx_TraceLine(1104,0,__PYX_ERR(0, 1104, __pyx_L1_error)) + __pyx_t_4 = PyNumber_Remainder(__pyx_v_num, __pyx_v_divisor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1093, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1093, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1094 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1105 * for divisor in candidates: * if num % divisor == 0: * return divisor # <<<<<<<<<<<<<< * return 1 * */ - __Pyx_TraceLine(1094,0,__PYX_ERR(0, 1094, __pyx_L1_error)) + __Pyx_TraceLine(1105,0,__PYX_ERR(0, 1105, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_divisor); __pyx_r = __pyx_v_divisor; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1093 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1104 * candidates.extend((2, 1)) * for divisor in candidates: * if num % divisor == 0: # <<<<<<<<<<<<<< @@ -36478,31 +36965,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHO */ } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1092 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1103 * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) * candidates.extend((2, 1)) * for divisor in candidates: # <<<<<<<<<<<<<< * if num % divisor == 0: * return divisor */ - __Pyx_TraceLine(1092,0,__PYX_ERR(0, 1092, __pyx_L1_error)) + __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L1_error)) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1095 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1106 * if num % divisor == 0: * return divisor * return 1 # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(1095,0,__PYX_ERR(0, 1095, __pyx_L1_error)) + __Pyx_TraceLine(1106,0,__PYX_ERR(0, 1106, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_int_1); __pyx_r = __pyx_int_1; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 * * * def gcd(num): # <<<<<<<<<<<<<< @@ -36528,7 +37015,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHO return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 * * * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< @@ -36580,31 +37067,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__78) + __Pyx_TraceFrameInit(__pyx_codeobj__77) __Pyx_RefNannySetupContext("test_size_multiple_of_readbuf", 0); - __Pyx_TraceCall("test_size_multiple_of_readbuf", __pyx_f[0], 1098, 0, __PYX_ERR(0, 1098, __pyx_L1_error)); + __Pyx_TraceCall("test_size_multiple_of_readbuf", __pyx_f[0], 1109, 0, __PYX_ERR(0, 1109, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1100 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1111 * def test_size_multiple_of_readbuf(): * * fname = 'test.gz' # <<<<<<<<<<<<<< * * with tempdir(): */ - __Pyx_TraceLine(1100,0,__PYX_ERR(0, 1100, __pyx_L1_error)) + __Pyx_TraceLine(1111,0,__PYX_ERR(0, 1111, __pyx_L1_error)) __Pyx_INCREF(__pyx_kp_s_test_gz); __pyx_v_fname = __pyx_kp_s_test_gz; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1102 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1113 * fname = 'test.gz' * * with tempdir(): # <<<<<<<<<<<<<< * * while True: */ - __Pyx_TraceLine(1102,0,__PYX_ERR(0, 1102, __pyx_L1_error)) + __Pyx_TraceLine(1113,0,__PYX_ERR(0, 1113, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -36618,12 +37105,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1102, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1102, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1102, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1113, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -36637,7 +37124,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -36652,60 +37139,60 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1104 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1115 * with tempdir(): * * while True: # <<<<<<<<<<<<<< * * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) */ - __Pyx_TraceLine(1104,0,__PYX_ERR(0, 1104, __pyx_L7_error)) + __Pyx_TraceLine(1115,0,__PYX_ERR(0, 1115, __pyx_L7_error)) while (1) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1106 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1117 * while True: * * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(1106,0,__PYX_ERR(0, 1106, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_TraceLine(1117,0,__PYX_ERR(0, 1117, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1117, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1106, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1117, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1106, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1117, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1106, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1117, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1106, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1117, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1106, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1106, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1117, __pyx_L7_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__79, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1106, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__78, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1107 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1118 * * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * del f */ - __Pyx_TraceLine(1107,0,__PYX_ERR(0, 1107, __pyx_L7_error)) + __Pyx_TraceLine(1118,0,__PYX_ERR(0, 1118, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1107, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -36723,7 +37210,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); } else @@ -36731,13 +37218,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1107, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1118, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -36748,14 +37235,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1107, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1118, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1107, __pyx_L15_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1118, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -36769,7 +37256,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1107, __pyx_L15_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L15_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_1; @@ -36787,17 +37274,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1108 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1119 * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * del f * f = None */ - __Pyx_TraceLine(1108,0,__PYX_ERR(0, 1108, __pyx_L21_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1108, __pyx_L21_error) + __Pyx_TraceLine(1119,0,__PYX_ERR(0, 1119, __pyx_L21_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1119, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1108, __pyx_L21_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1119, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -36811,7 +37298,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1108, __pyx_L21_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1119, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -36827,12 +37314,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1108, __pyx_L21_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1119, __pyx_L21_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1107 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1118 * * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< @@ -36852,20 +37339,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1107, __pyx_L23_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1118, __pyx_L23_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L23_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L23_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1107, __pyx_L23_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1118, __pyx_L23_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1107, __pyx_L23_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1118, __pyx_L23_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_3); @@ -36873,7 +37360,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1107, __pyx_L23_except_error) + __PYX_ERR(0, 1118, __pyx_L23_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -36897,9 +37384,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1107, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1118, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -36914,40 +37401,40 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_L32:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1120 * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) * del f # <<<<<<<<<<<<<< * f = None * */ - __Pyx_TraceLine(1109,0,__PYX_ERR(0, 1109, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1109, __pyx_L7_error) } + __Pyx_TraceLine(1120,0,__PYX_ERR(0, 1120, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1120, __pyx_L7_error) } __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1110 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1121 * f.write(data.tobytes()) * del f * f = None # <<<<<<<<<<<<<< * * # we need a file size that is divisible */ - __Pyx_TraceLine(1110,0,__PYX_ERR(0, 1110, __pyx_L7_error)) + __Pyx_TraceLine(1121,0,__PYX_ERR(0, 1121, __pyx_L7_error)) __Pyx_INCREF(Py_None); __pyx_v_f = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1114 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1125 * # we need a file size that is divisible * # by the minimum readbuf size * fsize = op.getsize(fname) # <<<<<<<<<<<<<< * if gcd(fsize) >= 128: * break */ - __Pyx_TraceLine(1114,0,__PYX_ERR(0, 1114, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_op); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1114, __pyx_L7_error) + __Pyx_TraceLine(1125,0,__PYX_ERR(0, 1125, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_op); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1125, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getsize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1114, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getsize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1125, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -36962,21 +37449,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fname); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_fsize, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1115 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1126 * # by the minimum readbuf size * fsize = op.getsize(fname) * if gcd(fsize) >= 128: # <<<<<<<<<<<<<< * break * */ - __Pyx_TraceLine(1115,0,__PYX_ERR(0, 1115, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gcd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1115, __pyx_L7_error) + __Pyx_TraceLine(1126,0,__PYX_ERR(0, 1126, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gcd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1126, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { @@ -36990,26 +37477,26 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fsize); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1115, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1126, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_int_128, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1115, __pyx_L7_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_int_128, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1126, __pyx_L7_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1115, __pyx_L7_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1126, __pyx_L7_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_17) { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1116 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1127 * fsize = op.getsize(fname) * if gcd(fsize) >= 128: * break # <<<<<<<<<<<<<< * * # readbuf size == file size */ - __Pyx_TraceLine(1116,0,__PYX_ERR(0, 1116, __pyx_L7_error)) + __Pyx_TraceLine(1127,0,__PYX_ERR(0, 1127, __pyx_L7_error)) goto __pyx_L14_break; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1115 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1126 * # by the minimum readbuf size * fsize = op.getsize(fname) * if gcd(fsize) >= 128: # <<<<<<<<<<<<<< @@ -37020,48 +37507,48 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_L14_break:; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1119 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1130 * * # readbuf size == file size * bufsz = fsize # <<<<<<<<<<<<<< * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: */ - __Pyx_TraceLine(1119,0,__PYX_ERR(0, 1119, __pyx_L7_error)) - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1119, __pyx_L7_error) } + __Pyx_TraceLine(1130,0,__PYX_ERR(0, 1130, __pyx_L7_error)) + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1130, __pyx_L7_error) } __Pyx_INCREF(__pyx_v_fsize); __pyx_v_bufsz = __pyx_v_fsize; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1121 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1132 * bufsz = fsize * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< * assert f.seek(fsize) == fsize * del f */ - __Pyx_TraceLine(1121,0,__PYX_ERR(0, 1121, __pyx_L7_error)) + __Pyx_TraceLine(1132,0,__PYX_ERR(0, 1132, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1121, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1132, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1121, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1132, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1121, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1132, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1121, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1132, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1121, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1121, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1132, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1132, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1121, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1132, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1121, __pyx_L34_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1132, __pyx_L34_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -37075,7 +37562,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1121, __pyx_L34_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1132, __pyx_L34_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_5; @@ -37093,19 +37580,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1122 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1133 * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: * assert f.seek(fsize) == fsize # <<<<<<<<<<<<<< * del f * f = None */ - __Pyx_TraceLine(1122,0,__PYX_ERR(0, 1122, __pyx_L38_error)) + __Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L38_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1122, __pyx_L38_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_2); - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1122, __pyx_L38_error) } + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1133, __pyx_L38_error) } __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); @@ -37118,22 +37605,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_fsize); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1122, __pyx_L38_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1133, __pyx_L38_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1122, __pyx_L38_error) } - __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_v_fsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1122, __pyx_L38_error) + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1133, __pyx_L38_error) } + __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_v_fsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L38_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1122, __pyx_L38_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1133, __pyx_L38_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1122, __pyx_L38_error) + __PYX_ERR(0, 1133, __pyx_L38_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1121 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1132 * bufsz = fsize * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< @@ -37153,20 +37640,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1121, __pyx_L40_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1132, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1121, __pyx_L40_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1132, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1121, __pyx_L40_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1132, __pyx_L40_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1121, __pyx_L40_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1132, __pyx_L40_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_2); @@ -37174,7 +37661,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1121, __pyx_L40_except_error) + __PYX_ERR(0, 1132, __pyx_L40_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -37198,9 +37685,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1121, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1132, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -37215,59 +37702,59 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_L47:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1123 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1134 * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: * assert f.seek(fsize) == fsize * del f # <<<<<<<<<<<<<< * f = None * */ - __Pyx_TraceLine(1123,0,__PYX_ERR(0, 1123, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1123, __pyx_L7_error) } + __Pyx_TraceLine(1134,0,__PYX_ERR(0, 1134, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1134, __pyx_L7_error) } __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1124 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1135 * assert f.seek(fsize) == fsize * del f * f = None # <<<<<<<<<<<<<< * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: */ - __Pyx_TraceLine(1124,0,__PYX_ERR(0, 1124, __pyx_L7_error)) + __Pyx_TraceLine(1135,0,__PYX_ERR(0, 1135, __pyx_L7_error)) __Pyx_INCREF(Py_None); __pyx_v_f = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1126 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1137 * f = None * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) * assert np.all(read == data) */ - __Pyx_TraceLine(1126,0,__PYX_ERR(0, 1126, __pyx_L7_error)) + __Pyx_TraceLine(1137,0,__PYX_ERR(0, 1137, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1126, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1126, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1137, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1126, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1126, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1126, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1137, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1137, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1126, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1137, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1126, __pyx_L48_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L48_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -37281,7 +37768,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L48_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L48_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_2; @@ -37299,30 +37786,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1127 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1138 * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) # <<<<<<<<<<<<<< * assert np.all(read == data) * del f */ - __Pyx_TraceLine(1127,0,__PYX_ERR(0, 1127, __pyx_L52_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1127, __pyx_L52_error) + __Pyx_TraceLine(1138,0,__PYX_ERR(0, 1138, __pyx_L52_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1127, __pyx_L52_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1127, __pyx_L52_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_shape, __pyx_int_100000) < 0) __PYX_ERR(0, 1127, __pyx_L52_error) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1127, __pyx_L52_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_shape, __pyx_int_100000) < 0) __PYX_ERR(0, 1138, __pyx_L52_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1127, __pyx_L52_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 1127, __pyx_L52_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1127, __pyx_L52_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -37336,35 +37823,35 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1127, __pyx_L52_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_t_3) < 0) __PYX_ERR(0, 1127, __pyx_L52_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_t_3) < 0) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1127, __pyx_L52_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1138, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_read = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1128 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1139 * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) * assert np.all(read == data) # <<<<<<<<<<<<<< * del f * f = None */ - __Pyx_TraceLine(1128,0,__PYX_ERR(0, 1128, __pyx_L52_error)) + __Pyx_TraceLine(1139,0,__PYX_ERR(0, 1139, __pyx_L52_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1128, __pyx_L52_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1139, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1128, __pyx_L52_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1139, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 1128, __pyx_L52_error) } - __pyx_t_5 = PyObject_RichCompare(__pyx_v_read, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1128, __pyx_L52_error) + if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 1139, __pyx_L52_error) } + __pyx_t_5 = PyObject_RichCompare(__pyx_v_read, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1139, __pyx_L52_error) __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); @@ -37378,19 +37865,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1128, __pyx_L52_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1139, __pyx_L52_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1128, __pyx_L52_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1139, __pyx_L52_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1128, __pyx_L52_error) + __PYX_ERR(0, 1139, __pyx_L52_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1126 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1137 * f = None * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< @@ -37410,20 +37897,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1126, __pyx_L54_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1137, __pyx_L54_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1126, __pyx_L54_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L54_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1126, __pyx_L54_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1137, __pyx_L54_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1126, __pyx_L54_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1137, __pyx_L54_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_3); @@ -37431,7 +37918,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1126, __pyx_L54_except_error) + __PYX_ERR(0, 1137, __pyx_L54_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -37455,9 +37942,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1126, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1137, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -37472,39 +37959,39 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_L61:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1129 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1140 * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) * assert np.all(read == data) * del f # <<<<<<<<<<<<<< * f = None * */ - __Pyx_TraceLine(1129,0,__PYX_ERR(0, 1129, __pyx_L7_error)) + __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1130 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1141 * assert np.all(read == data) * del f * f = None # <<<<<<<<<<<<<< * * # Use a buf size that is a divisor of the file size */ - __Pyx_TraceLine(1130,0,__PYX_ERR(0, 1130, __pyx_L7_error)) + __Pyx_TraceLine(1141,0,__PYX_ERR(0, 1141, __pyx_L7_error)) __Pyx_INCREF(Py_None); __pyx_v_f = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1133 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1144 * * # Use a buf size that is a divisor of the file size * bufsz = gcd(fsize) # <<<<<<<<<<<<<< * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: */ - __Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gcd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1133, __pyx_L7_error) + __Pyx_TraceLine(1144,0,__PYX_ERR(0, 1144, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gcd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1144, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1133, __pyx_L7_error) } + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1144, __pyx_L7_error) } __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); @@ -37517,42 +38004,42 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_fsize); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1133, __pyx_L7_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1144, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_bufsz, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1135 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1146 * bufsz = gcd(fsize) * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< * assert f.seek(fsize) == fsize * del f */ - __Pyx_TraceLine(1135,0,__PYX_ERR(0, 1135, __pyx_L7_error)) + __Pyx_TraceLine(1146,0,__PYX_ERR(0, 1146, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1135, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1135, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1146, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1135, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1135, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1146, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1135, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1135, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1146, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1146, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1135, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1146, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1135, __pyx_L62_error) + __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L62_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -37566,7 +38053,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1135, __pyx_L62_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1146, __pyx_L62_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_3; @@ -37584,19 +38071,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1136 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: * assert f.seek(fsize) == fsize # <<<<<<<<<<<<<< * del f * f = None */ - __Pyx_TraceLine(1136,0,__PYX_ERR(0, 1136, __pyx_L66_error)) + __Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L66_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1136, __pyx_L66_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1147, __pyx_L66_error) __Pyx_GOTREF(__pyx_t_2); - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1136, __pyx_L66_error) } + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1147, __pyx_L66_error) } __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); @@ -37609,22 +38096,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_fsize); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1136, __pyx_L66_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1147, __pyx_L66_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1136, __pyx_L66_error) } - __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_v_fsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1136, __pyx_L66_error) + if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1147, __pyx_L66_error) } + __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_v_fsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1147, __pyx_L66_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1136, __pyx_L66_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1147, __pyx_L66_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1136, __pyx_L66_error) + __PYX_ERR(0, 1147, __pyx_L66_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1135 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1146 * bufsz = gcd(fsize) * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< @@ -37644,20 +38131,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 1135, __pyx_L68_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 1146, __pyx_L68_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1135, __pyx_L68_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1146, __pyx_L68_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1135, __pyx_L68_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1146, __pyx_L68_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1135, __pyx_L68_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1146, __pyx_L68_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_2); @@ -37665,7 +38152,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1135, __pyx_L68_except_error) + __PYX_ERR(0, 1146, __pyx_L68_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -37689,9 +38176,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1135, __pyx_L7_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1146, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } @@ -37706,58 +38193,58 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_L75:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1137 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1148 * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: * assert f.seek(fsize) == fsize * del f # <<<<<<<<<<<<<< * f = None * */ - __Pyx_TraceLine(1137,0,__PYX_ERR(0, 1137, __pyx_L7_error)) + __Pyx_TraceLine(1148,0,__PYX_ERR(0, 1148, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1138 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1149 * assert f.seek(fsize) == fsize * del f * f = None # <<<<<<<<<<<<<< * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: */ - __Pyx_TraceLine(1138,0,__PYX_ERR(0, 1138, __pyx_L7_error)) + __Pyx_TraceLine(1149,0,__PYX_ERR(0, 1149, __pyx_L7_error)) __Pyx_INCREF(Py_None); __pyx_v_f = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1140 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1151 * f = None * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) * assert np.all(read == data) */ - __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L7_error)) + __Pyx_TraceLine(1151,0,__PYX_ERR(0, 1151, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1151, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1140, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1151, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1151, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1140, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1140, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1151, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1151, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1140, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1151, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L76_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1151, __pyx_L76_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -37771,7 +38258,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L76_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L76_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -37789,30 +38276,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1141 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1152 * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) # <<<<<<<<<<<<<< * assert np.all(read == data) * del f */ - __Pyx_TraceLine(1141,0,__PYX_ERR(0, 1141, __pyx_L80_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1141, __pyx_L80_error) + __Pyx_TraceLine(1152,0,__PYX_ERR(0, 1152, __pyx_L80_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1141, __pyx_L80_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1141, __pyx_L80_error) + __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_int_100000) < 0) __PYX_ERR(0, 1141, __pyx_L80_error) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1141, __pyx_L80_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_int_100000) < 0) __PYX_ERR(0, 1152, __pyx_L80_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1141, __pyx_L80_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1141, __pyx_L80_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1141, __pyx_L80_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -37826,35 +38313,35 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size } __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1141, __pyx_L80_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_buffer, __pyx_t_5) < 0) __PYX_ERR(0, 1141, __pyx_L80_error) + if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_buffer, __pyx_t_5) < 0) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1141, __pyx_L80_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1152, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_read, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1142 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1153 * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) * assert np.all(read == data) # <<<<<<<<<<<<<< * del f * f = None */ - __Pyx_TraceLine(1142,0,__PYX_ERR(0, 1142, __pyx_L80_error)) + __Pyx_TraceLine(1153,0,__PYX_ERR(0, 1153, __pyx_L80_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1142, __pyx_L80_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1153, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1142, __pyx_L80_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1153, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 1142, __pyx_L80_error) } - __pyx_t_3 = PyObject_RichCompare(__pyx_v_read, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1142, __pyx_L80_error) + if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 1153, __pyx_L80_error) } + __pyx_t_3 = PyObject_RichCompare(__pyx_v_read, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1153, __pyx_L80_error) __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); @@ -37868,19 +38355,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1142, __pyx_L80_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1153, __pyx_L80_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1142, __pyx_L80_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1153, __pyx_L80_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1142, __pyx_L80_error) + __PYX_ERR(0, 1153, __pyx_L80_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1140 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1151 * f = None * * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< @@ -37900,20 +38387,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1140, __pyx_L82_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1151, __pyx_L82_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L82_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L82_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1140, __pyx_L82_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1151, __pyx_L82_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1140, __pyx_L82_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1151, __pyx_L82_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_5); @@ -37921,7 +38408,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XGIVEREF(__pyx_t_3); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1140, __pyx_L82_except_error) + __PYX_ERR(0, 1151, __pyx_L82_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -37945,9 +38432,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1140, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1151, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -37962,29 +38449,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_L89:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1143 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1154 * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) * assert np.all(read == data) * del f # <<<<<<<<<<<<<< * f = None * */ - __Pyx_TraceLine(1143,0,__PYX_ERR(0, 1143, __pyx_L7_error)) + __Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1144 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1155 * assert np.all(read == data) * del f * f = None # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(1144,0,__PYX_ERR(0, 1144, __pyx_L7_error)) + __Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L7_error)) __Pyx_INCREF(Py_None); __pyx_v_f = Py_None; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1102 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1113 * fname = 'test.gz' * * with tempdir(): # <<<<<<<<<<<<<< @@ -38004,20 +38491,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1102, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1113, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L9_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1102, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1113, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1102, __pyx_L9_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1113, __pyx_L9_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_3); @@ -38025,7 +38512,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1102, __pyx_L9_except_error) + __PYX_ERR(0, 1113, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -38049,9 +38536,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1102, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -38066,7 +38553,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size __pyx_L93:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 * * * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< @@ -38098,7 +38585,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 * * * def test_picklable(): # <<<<<<<<<<<<<< @@ -38151,31 +38638,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__80) + __Pyx_TraceFrameInit(__pyx_codeobj__79) __Pyx_RefNannySetupContext("test_picklable", 0); - __Pyx_TraceCall("test_picklable", __pyx_f[0], 1147, 0, __PYX_ERR(0, 1147, __pyx_L1_error)); + __Pyx_TraceCall("test_picklable", __pyx_f[0], 1158, 0, __PYX_ERR(0, 1158, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1152 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1163 * # which means that an IndexedGzipFile object * # should be picklable/serialisable * fname = 'test.gz' # <<<<<<<<<<<<<< * * with tempdir(): */ - __Pyx_TraceLine(1152,0,__PYX_ERR(0, 1152, __pyx_L1_error)) + __Pyx_TraceLine(1163,0,__PYX_ERR(0, 1163, __pyx_L1_error)) __Pyx_INCREF(__pyx_kp_s_test_gz); __pyx_v_fname = __pyx_kp_s_test_gz; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1154 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1165 * fname = 'test.gz' * * with tempdir(): # <<<<<<<<<<<<<< * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) * with open(fname+'.bin', 'wb') as f: */ - __Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L1_error)) + __Pyx_TraceLine(1165,0,__PYX_ERR(0, 1165, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -38189,12 +38676,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1154, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1154, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1165, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -38208,7 +38695,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -38223,50 +38710,50 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1155 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1166 * * with tempdir(): * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< * with open(fname+'.bin', 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_TraceLine(1166,0,__PYX_ERR(0, 1166, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1166, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1155, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1166, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1155, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1155, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1166, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1155, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1166, __pyx_L7_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__82, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1155, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__81, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1166, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_data = __pyx_t_5; __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1156 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1167 * with tempdir(): * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * compress(fname+'.bin', fname) */ - __Pyx_TraceLine(1156,0,__PYX_ERR(0, 1156, __pyx_L7_error)) + __Pyx_TraceLine(1167,0,__PYX_ERR(0, 1167, __pyx_L7_error)) /*with:*/ { - __pyx_t_5 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L7_error) + __pyx_t_5 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1167, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1156, __pyx_L7_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1167, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); @@ -38274,12 +38761,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_wb); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1167, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1156, __pyx_L7_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1167, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1156, __pyx_L13_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1167, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -38293,7 +38780,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1156, __pyx_L13_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1167, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_2; @@ -38311,17 +38798,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1157 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1168 * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) * with open(fname+'.bin', 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * compress(fname+'.bin', fname) * del f */ - __Pyx_TraceLine(1157,0,__PYX_ERR(0, 1157, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1157, __pyx_L17_error) + __Pyx_TraceLine(1168,0,__PYX_ERR(0, 1168, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1168, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1157, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1168, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -38335,7 +38822,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1157, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1168, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -38351,12 +38838,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1157, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1168, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1156 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1167 * with tempdir(): * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< @@ -38376,20 +38863,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1156, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1167, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1156, __pyx_L19_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1167, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1156, __pyx_L19_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1167, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1156, __pyx_L19_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 1167, __pyx_L19_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); @@ -38397,7 +38884,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1156, __pyx_L19_except_error) + __PYX_ERR(0, 1167, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -38421,9 +38908,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1156, __pyx_L7_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1167, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -38438,17 +38925,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1169 * with open(fname+'.bin', 'wb') as f: * f.write(data.tobytes()) * compress(fname+'.bin', fname) # <<<<<<<<<<<<<< * del f * */ - __Pyx_TraceLine(1158,0,__PYX_ERR(0, 1158, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_compress); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1158, __pyx_L7_error) + __Pyx_TraceLine(1169,0,__PYX_ERR(0, 1169, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_compress); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1169, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1158, __pyx_L7_error) + __pyx_t_1 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1169, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; __pyx_t_17 = 0; @@ -38465,7 +38952,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1169, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -38474,14 +38961,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1169, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { - __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1158, __pyx_L7_error) + __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1169, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -38492,36 +38979,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_v_fname); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1169, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1159 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1170 * f.write(data.tobytes()) * compress(fname+'.bin', fname) * del f # <<<<<<<<<<<<<< * * gzf = igzip.IndexedGzipFile(fname) */ - __Pyx_TraceLine(1159,0,__PYX_ERR(0, 1159, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1159, __pyx_L7_error) } + __Pyx_TraceLine(1170,0,__PYX_ERR(0, 1170, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1170, __pyx_L7_error) } __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1161 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1172 * del f * * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< * first50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) */ - __Pyx_TraceLine(1161,0,__PYX_ERR(0, 1161, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1161, __pyx_L7_error) + __Pyx_TraceLine(1172,0,__PYX_ERR(0, 1172, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1172, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1161, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1172, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -38536,21 +39023,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_fname); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1161, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1172, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_gzf = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1162 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1173 * * gzf = igzip.IndexedGzipFile(fname) * first50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< * gzf.seek(gzf.tell()) * pickled = pickle.dumps(gzf) */ - __Pyx_TraceLine(1162,0,__PYX_ERR(0, 1162, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1162, __pyx_L7_error) + __Pyx_TraceLine(1173,0,__PYX_ERR(0, 1173, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1173, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -38564,23 +39051,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1162, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_first50MB = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1163 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1174 * gzf = igzip.IndexedGzipFile(fname) * first50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< * pickled = pickle.dumps(gzf) * second50MB = gzf.read(1048576 * 50) */ - __Pyx_TraceLine(1163,0,__PYX_ERR(0, 1163, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1163, __pyx_L7_error) + __Pyx_TraceLine(1174,0,__PYX_ERR(0, 1174, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1174, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1163, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1174, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -38594,7 +39081,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1163, __pyx_L7_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1174, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -38610,22 +39097,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1163, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1174, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1164 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1175 * first50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) * pickled = pickle.dumps(gzf) # <<<<<<<<<<<<<< * second50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) */ - __Pyx_TraceLine(1164,0,__PYX_ERR(0, 1164, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1164, __pyx_L7_error) + __Pyx_TraceLine(1175,0,__PYX_ERR(0, 1175, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1175, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_dumps); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1164, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_dumps); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1175, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = NULL; @@ -38640,21 +39127,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_gzf); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1164, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1175, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_pickled = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1165 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1176 * gzf.seek(gzf.tell()) * pickled = pickle.dumps(gzf) * second50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< * gzf.seek(gzf.tell()) * */ - __Pyx_TraceLine(1165,0,__PYX_ERR(0, 1165, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1165, __pyx_L7_error) + __Pyx_TraceLine(1176,0,__PYX_ERR(0, 1176, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1176, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -38668,23 +39155,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1176, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_second50MB = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1166 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1177 * pickled = pickle.dumps(gzf) * second50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< * * gzf.close() */ - __Pyx_TraceLine(1166,0,__PYX_ERR(0, 1166, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1166, __pyx_L7_error) + __Pyx_TraceLine(1177,0,__PYX_ERR(0, 1177, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1177, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1177, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -38698,7 +39185,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1166, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1177, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -38714,20 +39201,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1166, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1177, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1168 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1179 * gzf.seek(gzf.tell()) * * gzf.close() # <<<<<<<<<<<<<< * del gzf * */ - __Pyx_TraceLine(1168,0,__PYX_ERR(0, 1168, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1168, __pyx_L7_error) + __Pyx_TraceLine(1179,0,__PYX_ERR(0, 1179, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1179, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -38741,33 +39228,33 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1168, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1179, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1169 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1180 * * gzf.close() * del gzf # <<<<<<<<<<<<<< * * gzf = pickle.loads(pickled) */ - __Pyx_TraceLine(1169,0,__PYX_ERR(0, 1169, __pyx_L7_error)) + __Pyx_TraceLine(1180,0,__PYX_ERR(0, 1180, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1171 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1182 * del gzf * * gzf = pickle.loads(pickled) # <<<<<<<<<<<<<< * assert gzf.tell() == 1048576 * 50 * assert gzf.read(1048576 * 50) == second50MB */ - __Pyx_TraceLine(1171,0,__PYX_ERR(0, 1171, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1171, __pyx_L7_error) + __Pyx_TraceLine(1182,0,__PYX_ERR(0, 1182, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1182, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_loads); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1171, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_loads); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1182, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -38782,23 +39269,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_pickled) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_pickled); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1171, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1182, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_gzf = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1172 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1183 * * gzf = pickle.loads(pickled) * assert gzf.tell() == 1048576 * 50 # <<<<<<<<<<<<<< * assert gzf.read(1048576 * 50) == second50MB * gzf.seek(0) */ - __Pyx_TraceLine(1172,0,__PYX_ERR(0, 1172, __pyx_L7_error)) + __Pyx_TraceLine(1183,0,__PYX_ERR(0, 1183, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1172, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1183, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -38812,32 +39299,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1172, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1183, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_52428800, 0x3200000, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1172, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_52428800, 0x3200000, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1183, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1172, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1183, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1172, __pyx_L7_error) + __PYX_ERR(0, 1183, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1173 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1184 * gzf = pickle.loads(pickled) * assert gzf.tell() == 1048576 * 50 * assert gzf.read(1048576 * 50) == second50MB # <<<<<<<<<<<<<< * gzf.seek(0) * assert gzf.read(1048576 * 50) == first50MB */ - __Pyx_TraceLine(1173,0,__PYX_ERR(0, 1173, __pyx_L7_error)) + __Pyx_TraceLine(1184,0,__PYX_ERR(0, 1184, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1184, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -38851,29 +39338,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1173, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1184, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_13, __pyx_v_second50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L7_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_t_13, __pyx_v_second50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1184, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1173, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1184, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1173, __pyx_L7_error) + __PYX_ERR(0, 1184, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1174 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1185 * assert gzf.tell() == 1048576 * 50 * assert gzf.read(1048576 * 50) == second50MB * gzf.seek(0) # <<<<<<<<<<<<<< * assert gzf.read(1048576 * 50) == first50MB * gzf.close() */ - __Pyx_TraceLine(1174,0,__PYX_ERR(0, 1174, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1174, __pyx_L7_error) + __Pyx_TraceLine(1185,0,__PYX_ERR(0, 1185, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1185, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -38887,22 +39374,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_0); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1174, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1185, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1175 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1186 * assert gzf.read(1048576 * 50) == second50MB * gzf.seek(0) * assert gzf.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< * gzf.close() * del gzf */ - __Pyx_TraceLine(1175,0,__PYX_ERR(0, 1175, __pyx_L7_error)) + __Pyx_TraceLine(1186,0,__PYX_ERR(0, 1186, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1175, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1186, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -38916,29 +39403,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1175, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1175, __pyx_L7_error) + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1186, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1175, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1186, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1175, __pyx_L7_error) + __PYX_ERR(0, 1186, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1176 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1187 * gzf.seek(0) * assert gzf.read(1048576 * 50) == first50MB * gzf.close() # <<<<<<<<<<<<<< * del gzf * */ - __Pyx_TraceLine(1176,0,__PYX_ERR(0, 1176, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1176, __pyx_L7_error) + __Pyx_TraceLine(1187,0,__PYX_ERR(0, 1187, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1187, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -38952,23 +39439,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1176, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1187, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1177 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1188 * assert gzf.read(1048576 * 50) == first50MB * gzf.close() * del gzf # <<<<<<<<<<<<<< * * # if drop_handles=False, no pickle */ - __Pyx_TraceLine(1177,0,__PYX_ERR(0, 1177, __pyx_L7_error)) + __Pyx_TraceLine(1188,0,__PYX_ERR(0, 1188, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1154 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1165 * fname = 'test.gz' * * with tempdir(): # <<<<<<<<<<<<<< @@ -38988,20 +39475,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1154, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1165, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1154, __pyx_L9_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1165, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1154, __pyx_L9_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1165, __pyx_L9_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_13); @@ -39009,7 +39496,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_2, __pyx_t_5); __pyx_t_13 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1154, __pyx_L9_except_error) + __PYX_ERR(0, 1165, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -39033,9 +39520,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1154, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -39050,16 +39537,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_L30:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1180 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1191 * * # if drop_handles=False, no pickle * with tempdir(): # <<<<<<<<<<<<<< * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: */ - __Pyx_TraceLine(1180,0,__PYX_ERR(0, 1180, __pyx_L1_error)) + __Pyx_TraceLine(1191,0,__PYX_ERR(0, 1191, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1180, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -39073,12 +39560,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1180, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1180, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1180, __pyx_L31_error) + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1191, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -39092,7 +39579,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1180, __pyx_L31_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1191, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -39107,50 +39594,50 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XGOTREF(__pyx_t_6); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1181 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1192 * # if drop_handles=False, no pickle * with tempdir(): * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(1181,0,__PYX_ERR(0, 1181, __pyx_L35_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_TraceLine(1192,0,__PYX_ERR(0, 1192, __pyx_L35_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1192, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1181, __pyx_L35_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1181, __pyx_L35_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1192, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1181, __pyx_L35_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1181, __pyx_L35_error) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1192, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_uint32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1181, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_uint32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 1181, __pyx_L35_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 1192, __pyx_L35_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__83, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1181, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__82, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1182 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1193 * with tempdir(): * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * del f */ - __Pyx_TraceLine(1182,0,__PYX_ERR(0, 1182, __pyx_L35_error)) + __Pyx_TraceLine(1193,0,__PYX_ERR(0, 1193, __pyx_L35_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1182, __pyx_L35_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1182, __pyx_L35_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1193, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -39168,7 +39655,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1182, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L35_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -39176,13 +39663,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1182, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L35_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1182, __pyx_L35_error) + __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1193, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -39193,14 +39680,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_n_s_wb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1182, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1182, __pyx_L35_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1193, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1182, __pyx_L41_error) + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1193, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -39214,7 +39701,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1182, __pyx_L41_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1193, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __pyx_t_5; @@ -39232,17 +39719,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_13); __pyx_t_13 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1183 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * del f * */ - __Pyx_TraceLine(1183,0,__PYX_ERR(0, 1183, __pyx_L45_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1183, __pyx_L45_error) + __Pyx_TraceLine(1194,0,__PYX_ERR(0, 1194, __pyx_L45_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1194, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1183, __pyx_L45_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1194, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -39256,7 +39743,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1183, __pyx_L45_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1194, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -39272,12 +39759,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1183, __pyx_L45_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1194, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1182 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1193 * with tempdir(): * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< @@ -39297,20 +39784,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1182, __pyx_L47_except_error) + if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1193, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1182, __pyx_L47_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1182, __pyx_L47_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1193, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1182, __pyx_L47_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 1193, __pyx_L47_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_13); @@ -39318,7 +39805,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_1, __pyx_t_5); __pyx_t_13 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1182, __pyx_L47_except_error) + __PYX_ERR(0, 1193, __pyx_L47_except_error) } __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -39342,9 +39829,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1182, __pyx_L35_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1193, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -39359,40 +39846,40 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_L54:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1184 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1195 * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) * del f # <<<<<<<<<<<<<< * * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) */ - __Pyx_TraceLine(1184,0,__PYX_ERR(0, 1184, __pyx_L35_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1184, __pyx_L35_error) } + __Pyx_TraceLine(1195,0,__PYX_ERR(0, 1195, __pyx_L35_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1195, __pyx_L35_error) } __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1186 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1197 * del f * * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) # <<<<<<<<<<<<<< * * with pytest.raises(pickle.PicklingError): */ - __Pyx_TraceLine(1186,0,__PYX_ERR(0, 1186, __pyx_L35_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1186, __pyx_L35_error) + __Pyx_TraceLine(1197,0,__PYX_ERR(0, 1197, __pyx_L35_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1197, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1186, __pyx_L35_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1197, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1186, __pyx_L35_error) + __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1197, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); - if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1186, __pyx_L35_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L35_error) + if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1197, __pyx_L35_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -39400,23 +39887,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1188 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1199 * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) * * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< * pickled = pickle.dumps(gzf) * gzf.close() */ - __Pyx_TraceLine(1188,0,__PYX_ERR(0, 1188, __pyx_L35_error)) + __Pyx_TraceLine(1199,0,__PYX_ERR(0, 1199, __pyx_L35_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pytest); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pytest); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1199, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1188, __pyx_L35_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1188, __pyx_L35_error) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1199, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1188, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = NULL; @@ -39432,12 +39919,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1188, __pyx_L35_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1188, __pyx_L35_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1199, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1188, __pyx_L55_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L55_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -39451,7 +39938,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1188, __pyx_L55_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L55_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -39466,17 +39953,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XGOTREF(__pyx_t_12); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1189 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1200 * * with pytest.raises(pickle.PicklingError): * pickled = pickle.dumps(gzf) # <<<<<<<<<<<<<< * gzf.close() * del gzf */ - __Pyx_TraceLine(1189,0,__PYX_ERR(0, 1189, __pyx_L59_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1189, __pyx_L59_error) + __Pyx_TraceLine(1200,0,__PYX_ERR(0, 1200, __pyx_L59_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1200, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_dumps); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1189, __pyx_L59_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_dumps); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -39491,13 +39978,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_gzf); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1189, __pyx_L59_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_pickled, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1188 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1199 * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) * * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< @@ -39517,20 +40004,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1188, __pyx_L61_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1199, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1188, __pyx_L61_except_error) + __pyx_t_13 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1199, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1188, __pyx_L61_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1199, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1188, __pyx_L61_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1199, __pyx_L61_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_2); @@ -39538,7 +40025,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1188, __pyx_L61_except_error) + __PYX_ERR(0, 1199, __pyx_L61_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -39562,9 +40049,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1188, __pyx_L35_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1199, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -39579,15 +40066,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_L68:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1190 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1201 * with pytest.raises(pickle.PicklingError): * pickled = pickle.dumps(gzf) * gzf.close() # <<<<<<<<<<<<<< * del gzf * */ - __Pyx_TraceLine(1190,0,__PYX_ERR(0, 1190, __pyx_L35_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1190, __pyx_L35_error) + __Pyx_TraceLine(1201,0,__PYX_ERR(0, 1201, __pyx_L35_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -39601,23 +40088,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1190, __pyx_L35_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1201, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1191 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1202 * pickled = pickle.dumps(gzf) * gzf.close() * del gzf # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(1191,0,__PYX_ERR(0, 1191, __pyx_L35_error)) + __Pyx_TraceLine(1202,0,__PYX_ERR(0, 1202, __pyx_L35_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1180 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1191 * * # if drop_handles=False, no pickle * with tempdir(): # <<<<<<<<<<<<<< @@ -39637,20 +40124,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1180, __pyx_L37_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1191, __pyx_L37_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1180, __pyx_L37_except_error) + __pyx_t_13 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1191, __pyx_L37_except_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1180, __pyx_L37_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1191, __pyx_L37_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1180, __pyx_L37_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 1191, __pyx_L37_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_5); @@ -39658,7 +40145,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_2); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1180, __pyx_L37_except_error) + __PYX_ERR(0, 1191, __pyx_L37_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -39682,9 +40169,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1180, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -39699,7 +40186,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick __pyx_L72:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 * * * def test_picklable(): # <<<<<<<<<<<<<< @@ -39732,7 +40219,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_pick return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 * * * def test_copyable(): # <<<<<<<<<<<<<< @@ -39791,31 +40278,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__84) + __Pyx_TraceFrameInit(__pyx_codeobj__83) __Pyx_RefNannySetupContext("test_copyable", 0); - __Pyx_TraceCall("test_copyable", __pyx_f[0], 1194, 0, __PYX_ERR(0, 1194, __pyx_L1_error)); + __Pyx_TraceCall("test_copyable", __pyx_f[0], 1205, 0, __PYX_ERR(0, 1205, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1195 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1206 * * def test_copyable(): * fname = 'test.gz' # <<<<<<<<<<<<<< * * with tempdir(): */ - __Pyx_TraceLine(1195,0,__PYX_ERR(0, 1195, __pyx_L1_error)) + __Pyx_TraceLine(1206,0,__PYX_ERR(0, 1206, __pyx_L1_error)) __Pyx_INCREF(__pyx_kp_s_test_gz); __pyx_v_fname = __pyx_kp_s_test_gz; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1197 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1208 * fname = 'test.gz' * * with tempdir(): # <<<<<<<<<<<<<< * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) * with open(fname+'.bin', 'wb') as f: */ - __Pyx_TraceLine(1197,0,__PYX_ERR(0, 1197, __pyx_L1_error)) + __Pyx_TraceLine(1208,0,__PYX_ERR(0, 1208, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -39829,12 +40316,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1197, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1197, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1208, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -39848,7 +40335,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1208, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -39863,50 +40350,50 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1198 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1209 * * with tempdir(): * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< * with open(fname+'.bin', 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(1198,0,__PYX_ERR(0, 1198, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_TraceLine(1209,0,__PYX_ERR(0, 1209, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1209, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1198, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1209, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1198, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1209, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1198, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1209, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1198, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1209, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1198, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1209, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1198, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1209, __pyx_L7_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__82, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1198, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__81, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1209, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_data = __pyx_t_5; __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1199 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1210 * with tempdir(): * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * compress(fname+'.bin', fname) */ - __Pyx_TraceLine(1199,0,__PYX_ERR(0, 1199, __pyx_L7_error)) + __Pyx_TraceLine(1210,0,__PYX_ERR(0, 1210, __pyx_L7_error)) /*with:*/ { - __pyx_t_5 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L7_error) + __pyx_t_5 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1210, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L7_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); @@ -39914,12 +40401,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_wb); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1210, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1199, __pyx_L7_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1210, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L13_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -39933,7 +40420,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L13_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_2; @@ -39951,17 +40438,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_v_f = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1200 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1211 * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) * with open(fname+'.bin', 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * compress(fname+'.bin', fname) * del f */ - __Pyx_TraceLine(1200,0,__PYX_ERR(0, 1200, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1200, __pyx_L17_error) + __Pyx_TraceLine(1211,0,__PYX_ERR(0, 1211, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1211, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1200, __pyx_L17_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1211, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -39975,7 +40462,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1211, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -39991,12 +40478,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1199 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1210 * with tempdir(): * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< @@ -40016,20 +40503,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1199, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1210, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1199, __pyx_L19_except_error) + __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1210, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1199, __pyx_L19_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1210, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1199, __pyx_L19_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 1210, __pyx_L19_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_1); @@ -40037,7 +40524,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1199, __pyx_L19_except_error) + __PYX_ERR(0, 1210, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -40061,9 +40548,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1199, __pyx_L7_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1210, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -40078,17 +40565,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1201 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1212 * with open(fname+'.bin', 'wb') as f: * f.write(data.tobytes()) * compress(fname+'.bin', fname) # <<<<<<<<<<<<<< * del f * */ - __Pyx_TraceLine(1201,0,__PYX_ERR(0, 1201, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_compress); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1201, __pyx_L7_error) + __Pyx_TraceLine(1212,0,__PYX_ERR(0, 1212, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_compress); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1212, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L7_error) + __pyx_t_1 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1212, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; __pyx_t_17 = 0; @@ -40105,7 +40592,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -40114,14 +40601,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { - __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1201, __pyx_L7_error) + __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1212, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -40132,36 +40619,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_v_fname); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1201, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1202 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1213 * f.write(data.tobytes()) * compress(fname+'.bin', fname) * del f # <<<<<<<<<<<<<< * * gzf = igzip.IndexedGzipFile(fname) */ - __Pyx_TraceLine(1202,0,__PYX_ERR(0, 1202, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1202, __pyx_L7_error) } + __Pyx_TraceLine(1213,0,__PYX_ERR(0, 1213, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1213, __pyx_L7_error) } __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1204 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1215 * del f * * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< * gzf_copy = cp.deepcopy(gzf) * first50MB = gzf.read(1048576 * 50) */ - __Pyx_TraceLine(1204,0,__PYX_ERR(0, 1204, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1204, __pyx_L7_error) + __Pyx_TraceLine(1215,0,__PYX_ERR(0, 1215, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1215, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1204, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1215, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -40176,23 +40663,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_fname); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1204, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1215, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_gzf = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1216 * * gzf = igzip.IndexedGzipFile(fname) * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< * first50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) */ - __Pyx_TraceLine(1205,0,__PYX_ERR(0, 1205, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_cp); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1205, __pyx_L7_error) + __Pyx_TraceLine(1216,0,__PYX_ERR(0, 1216, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_cp); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1216, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1205, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1216, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = NULL; @@ -40207,21 +40694,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_gzf); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1205, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1216, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_gzf_copy = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1206 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1217 * gzf = igzip.IndexedGzipFile(fname) * gzf_copy = cp.deepcopy(gzf) * first50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< * gzf.seek(gzf.tell()) * gzf_copy2 = cp.deepcopy(gzf) */ - __Pyx_TraceLine(1206,0,__PYX_ERR(0, 1206, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1206, __pyx_L7_error) + __Pyx_TraceLine(1217,0,__PYX_ERR(0, 1217, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1217, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -40235,23 +40722,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1206, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1217, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_first50MB = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1207 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1218 * gzf_copy = cp.deepcopy(gzf) * first50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< * gzf_copy2 = cp.deepcopy(gzf) * second50MB = gzf.read(1048576 * 50) */ - __Pyx_TraceLine(1207,0,__PYX_ERR(0, 1207, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1207, __pyx_L7_error) + __Pyx_TraceLine(1218,0,__PYX_ERR(0, 1218, __pyx_L7_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1207, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -40265,7 +40752,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1207, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -40281,22 +40768,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1207, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1218, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1208 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1219 * first50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) * gzf_copy2 = cp.deepcopy(gzf) # <<<<<<<<<<<<<< * second50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) */ - __Pyx_TraceLine(1208,0,__PYX_ERR(0, 1208, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1208, __pyx_L7_error) + __Pyx_TraceLine(1219,0,__PYX_ERR(0, 1219, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1219, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1208, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1219, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -40311,21 +40798,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_gzf); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1208, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1219, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_gzf_copy2 = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1209 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1220 * gzf.seek(gzf.tell()) * gzf_copy2 = cp.deepcopy(gzf) * second50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< * gzf.seek(gzf.tell()) * */ - __Pyx_TraceLine(1209,0,__PYX_ERR(0, 1209, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1209, __pyx_L7_error) + __Pyx_TraceLine(1220,0,__PYX_ERR(0, 1220, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1220, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -40339,23 +40826,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1209, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1220, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_second50MB = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1210 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1221 * gzf_copy2 = cp.deepcopy(gzf) * second50MB = gzf.read(1048576 * 50) * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< * * gzf.close() */ - __Pyx_TraceLine(1210,0,__PYX_ERR(0, 1210, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1210, __pyx_L7_error) + __Pyx_TraceLine(1221,0,__PYX_ERR(0, 1221, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1221, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1221, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -40369,7 +40856,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1210, __pyx_L7_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1221, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -40385,20 +40872,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1221, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1212 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1223 * gzf.seek(gzf.tell()) * * gzf.close() # <<<<<<<<<<<<<< * del gzf * */ - __Pyx_TraceLine(1212,0,__PYX_ERR(0, 1212, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1212, __pyx_L7_error) + __Pyx_TraceLine(1223,0,__PYX_ERR(0, 1223, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1223, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -40412,33 +40899,33 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1223, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1213 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1224 * * gzf.close() * del gzf # <<<<<<<<<<<<<< * * assert gzf_copy.tell() == 0 */ - __Pyx_TraceLine(1213,0,__PYX_ERR(0, 1213, __pyx_L7_error)) + __Pyx_TraceLine(1224,0,__PYX_ERR(0, 1224, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1215 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1226 * del gzf * * assert gzf_copy.tell() == 0 # <<<<<<<<<<<<<< * assert gzf_copy2.tell() == 1048576 * 50 * assert gzf_copy.read(1048576 * 50) == first50MB */ - __Pyx_TraceLine(1215,0,__PYX_ERR(0, 1215, __pyx_L7_error)) + __Pyx_TraceLine(1226,0,__PYX_ERR(0, 1226, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_tell); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1215, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_tell); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1226, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -40452,32 +40939,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1215, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1215, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1226, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1215, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1226, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1215, __pyx_L7_error) + __PYX_ERR(0, 1226, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1216 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1227 * * assert gzf_copy.tell() == 0 * assert gzf_copy2.tell() == 1048576 * 50 # <<<<<<<<<<<<<< * assert gzf_copy.read(1048576 * 50) == first50MB * assert gzf_copy2.read(1048576 * 50) == second50MB */ - __Pyx_TraceLine(1216,0,__PYX_ERR(0, 1216, __pyx_L7_error)) + __Pyx_TraceLine(1227,0,__PYX_ERR(0, 1227, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1216, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -40491,32 +40978,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1216, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1227, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_13, __pyx_int_52428800, 0x3200000, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1216, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_13, __pyx_int_52428800, 0x3200000, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1216, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1227, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1216, __pyx_L7_error) + __PYX_ERR(0, 1227, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1217 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1228 * assert gzf_copy.tell() == 0 * assert gzf_copy2.tell() == 1048576 * 50 * assert gzf_copy.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< * assert gzf_copy2.read(1048576 * 50) == second50MB * gzf_copy2.seek(0) */ - __Pyx_TraceLine(1217,0,__PYX_ERR(0, 1217, __pyx_L7_error)) + __Pyx_TraceLine(1228,0,__PYX_ERR(0, 1228, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1217, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1228, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -40530,31 +41017,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1217, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1217, __pyx_L7_error) + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1228, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1217, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1228, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1217, __pyx_L7_error) + __PYX_ERR(0, 1228, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1218 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1229 * assert gzf_copy2.tell() == 1048576 * 50 * assert gzf_copy.read(1048576 * 50) == first50MB * assert gzf_copy2.read(1048576 * 50) == second50MB # <<<<<<<<<<<<<< * gzf_copy2.seek(0) * assert gzf_copy2.read(1048576 * 50) == first50MB */ - __Pyx_TraceLine(1218,0,__PYX_ERR(0, 1218, __pyx_L7_error)) + __Pyx_TraceLine(1229,0,__PYX_ERR(0, 1229, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1218, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1229, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -40568,29 +41055,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1218, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1229, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_13, __pyx_v_second50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1218, __pyx_L7_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_t_13, __pyx_v_second50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1229, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1218, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1229, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1218, __pyx_L7_error) + __PYX_ERR(0, 1229, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1219 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1230 * assert gzf_copy.read(1048576 * 50) == first50MB * assert gzf_copy2.read(1048576 * 50) == second50MB * gzf_copy2.seek(0) # <<<<<<<<<<<<<< * assert gzf_copy2.read(1048576 * 50) == first50MB * gzf_copy.close() */ - __Pyx_TraceLine(1219,0,__PYX_ERR(0, 1219, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1219, __pyx_L7_error) + __Pyx_TraceLine(1230,0,__PYX_ERR(0, 1230, __pyx_L7_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1230, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -40604,22 +41091,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_0); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1219, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1230, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1220 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1231 * assert gzf_copy2.read(1048576 * 50) == second50MB * gzf_copy2.seek(0) * assert gzf_copy2.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< * gzf_copy.close() * gzf_copy2.close() */ - __Pyx_TraceLine(1220,0,__PYX_ERR(0, 1220, __pyx_L7_error)) + __Pyx_TraceLine(1231,0,__PYX_ERR(0, 1231, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1220, __pyx_L7_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1231, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -40633,29 +41120,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1220, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1220, __pyx_L7_error) + __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1231, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1220, __pyx_L7_error) + __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1231, __pyx_L7_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_16)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1220, __pyx_L7_error) + __PYX_ERR(0, 1231, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1221 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1232 * gzf_copy2.seek(0) * assert gzf_copy2.read(1048576 * 50) == first50MB * gzf_copy.close() # <<<<<<<<<<<<<< * gzf_copy2.close() * del gzf_copy */ - __Pyx_TraceLine(1221,0,__PYX_ERR(0, 1221, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1221, __pyx_L7_error) + __Pyx_TraceLine(1232,0,__PYX_ERR(0, 1232, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1232, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -40669,20 +41156,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1221, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1232, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1222 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1233 * assert gzf_copy2.read(1048576 * 50) == first50MB * gzf_copy.close() * gzf_copy2.close() # <<<<<<<<<<<<<< * del gzf_copy * del gzf_copy2 */ - __Pyx_TraceLine(1222,0,__PYX_ERR(0, 1222, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1222, __pyx_L7_error) + __Pyx_TraceLine(1233,0,__PYX_ERR(0, 1233, __pyx_L7_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1233, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -40696,34 +41183,34 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1222, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1233, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1223 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1234 * gzf_copy.close() * gzf_copy2.close() * del gzf_copy # <<<<<<<<<<<<<< * del gzf_copy2 * */ - __Pyx_TraceLine(1223,0,__PYX_ERR(0, 1223, __pyx_L7_error)) + __Pyx_TraceLine(1234,0,__PYX_ERR(0, 1234, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gzf_copy); __pyx_v_gzf_copy = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1224 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1235 * gzf_copy2.close() * del gzf_copy * del gzf_copy2 # <<<<<<<<<<<<<< * * with tempdir(): */ - __Pyx_TraceLine(1224,0,__PYX_ERR(0, 1224, __pyx_L7_error)) + __Pyx_TraceLine(1235,0,__PYX_ERR(0, 1235, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gzf_copy2); __pyx_v_gzf_copy2 = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1197 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1208 * fname = 'test.gz' * * with tempdir(): # <<<<<<<<<<<<<< @@ -40743,20 +41230,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1197, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1208, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L9_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1197, __pyx_L9_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1208, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1197, __pyx_L9_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1208, __pyx_L9_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_13); @@ -40764,7 +41251,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_2, __pyx_t_5); __pyx_t_13 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1197, __pyx_L9_except_error) + __PYX_ERR(0, 1208, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -40788,9 +41275,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1197, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -40805,16 +41292,16 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_L30:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1226 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1237 * del gzf_copy2 * * with tempdir(): # <<<<<<<<<<<<<< * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: */ - __Pyx_TraceLine(1226,0,__PYX_ERR(0, 1226, __pyx_L1_error)) + __Pyx_TraceLine(1237,0,__PYX_ERR(0, 1237, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -40828,12 +41315,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1226, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1226, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1226, __pyx_L31_error) + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1237, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -40847,7 +41334,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L31_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L31_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -40862,50 +41349,50 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGOTREF(__pyx_t_6); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1227 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1238 * * with tempdir(): * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(1227,0,__PYX_ERR(0, 1227, __pyx_L35_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_TraceLine(1238,0,__PYX_ERR(0, 1238, __pyx_L35_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1238, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L35_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1238, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1227, __pyx_L35_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1238, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L35_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1238, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1227, __pyx_L35_error) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1238, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_uint32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_uint32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1238, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 1227, __pyx_L35_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 1238, __pyx_L35_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__83, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1227, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__82, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1238, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1228 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1239 * with tempdir(): * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * del f */ - __Pyx_TraceLine(1228,0,__PYX_ERR(0, 1228, __pyx_L35_error)) + __Pyx_TraceLine(1239,0,__PYX_ERR(0, 1239, __pyx_L35_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L35_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1239, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L35_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1239, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -40923,7 +41410,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1228, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1239, __pyx_L35_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -40931,13 +41418,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1228, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1239, __pyx_L35_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1228, __pyx_L35_error) + __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1239, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL; @@ -40948,14 +41435,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_n_s_wb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1228, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1239, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1228, __pyx_L35_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1239, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1228, __pyx_L41_error) + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1239, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -40969,7 +41456,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L41_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1239, __pyx_L41_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __pyx_t_5; @@ -40987,17 +41474,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_13); __pyx_t_13 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1229 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1240 * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * del f * */ - __Pyx_TraceLine(1229,0,__PYX_ERR(0, 1229, __pyx_L45_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1229, __pyx_L45_error) + __Pyx_TraceLine(1240,0,__PYX_ERR(0, 1240, __pyx_L45_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1240, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1229, __pyx_L45_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1240, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -41011,7 +41498,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1229, __pyx_L45_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1240, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -41027,12 +41514,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1229, __pyx_L45_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1240, __pyx_L45_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1228 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1239 * with tempdir(): * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< @@ -41052,20 +41539,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1228, __pyx_L47_except_error) + if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1239, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L47_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1239, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1228, __pyx_L47_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1239, __pyx_L47_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1228, __pyx_L47_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 1239, __pyx_L47_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_13); @@ -41073,7 +41560,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_1, __pyx_t_5); __pyx_t_13 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1228, __pyx_L47_except_error) + __PYX_ERR(0, 1239, __pyx_L47_except_error) } __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -41097,9 +41584,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1228, __pyx_L35_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1239, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -41114,40 +41601,40 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_L54:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1230 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1241 * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) * del f # <<<<<<<<<<<<<< * * # if drop_handles=False, no copy */ - __Pyx_TraceLine(1230,0,__PYX_ERR(0, 1230, __pyx_L35_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1230, __pyx_L35_error) } + __Pyx_TraceLine(1241,0,__PYX_ERR(0, 1241, __pyx_L35_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1241, __pyx_L35_error) } __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1233 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1244 * * # if drop_handles=False, no copy * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) # <<<<<<<<<<<<<< * * with pytest.raises(pickle.PicklingError): */ - __Pyx_TraceLine(1233,0,__PYX_ERR(0, 1233, __pyx_L35_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1233, __pyx_L35_error) + __Pyx_TraceLine(1244,0,__PYX_ERR(0, 1244, __pyx_L35_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1233, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1244, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1233, __pyx_L35_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1233, __pyx_L35_error) + __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1244, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); - if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1233, __pyx_L35_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1233, __pyx_L35_error) + if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1244, __pyx_L35_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1244, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -41155,23 +41642,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1235 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1246 * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) * * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< * gzf_copy = cp.deepcopy(gzf) * gzf.close() */ - __Pyx_TraceLine(1235,0,__PYX_ERR(0, 1235, __pyx_L35_error)) + __Pyx_TraceLine(1246,0,__PYX_ERR(0, 1246, __pyx_L35_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pytest); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pytest); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1246, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L35_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1246, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1235, __pyx_L35_error) + __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1246, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1235, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1246, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = NULL; @@ -41187,12 +41674,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1235, __pyx_L35_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1246, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1235, __pyx_L35_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1246, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1235, __pyx_L55_error) + __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1246, __pyx_L55_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -41206,7 +41693,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L55_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1246, __pyx_L55_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -41221,17 +41708,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGOTREF(__pyx_t_12); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1236 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1247 * * with pytest.raises(pickle.PicklingError): * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< * gzf.close() * del gzf */ - __Pyx_TraceLine(1236,0,__PYX_ERR(0, 1236, __pyx_L59_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L59_error) + __Pyx_TraceLine(1247,0,__PYX_ERR(0, 1247, __pyx_L59_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1247, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1236, __pyx_L59_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1247, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -41246,13 +41733,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_gzf); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1236, __pyx_L59_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1247, __pyx_L59_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_gzf_copy, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1235 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1246 * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) * * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< @@ -41272,20 +41759,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1235, __pyx_L61_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1246, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1235, __pyx_L61_except_error) + __pyx_t_13 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1246, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1235, __pyx_L61_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1246, __pyx_L61_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1235, __pyx_L61_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1246, __pyx_L61_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_2); @@ -41293,7 +41780,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1235, __pyx_L61_except_error) + __PYX_ERR(0, 1246, __pyx_L61_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -41317,9 +41804,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1235, __pyx_L35_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1246, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -41334,15 +41821,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_L68:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1237 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1248 * with pytest.raises(pickle.PicklingError): * gzf_copy = cp.deepcopy(gzf) * gzf.close() # <<<<<<<<<<<<<< * del gzf * */ - __Pyx_TraceLine(1237,0,__PYX_ERR(0, 1237, __pyx_L35_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1237, __pyx_L35_error) + __Pyx_TraceLine(1248,0,__PYX_ERR(0, 1248, __pyx_L35_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1248, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -41356,32 +41843,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L35_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1248, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1238 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1249 * gzf_copy = cp.deepcopy(gzf) * gzf.close() * del gzf # <<<<<<<<<<<<<< * * # If passed an open filehandle, no copy */ - __Pyx_TraceLine(1238,0,__PYX_ERR(0, 1238, __pyx_L35_error)) + __Pyx_TraceLine(1249,0,__PYX_ERR(0, 1249, __pyx_L35_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1241 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1252 * * # If passed an open filehandle, no copy * with open(fname, 'rb') as fobj: # <<<<<<<<<<<<<< * gzf = igzip.IndexedGzipFile(fileobj=fobj) * with pytest.raises(pickle.PicklingError): */ - __Pyx_TraceLine(1241,0,__PYX_ERR(0, 1241, __pyx_L35_error)) + __Pyx_TraceLine(1252,0,__PYX_ERR(0, 1252, __pyx_L35_error)) /*with:*/ { - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1241, __pyx_L35_error) + __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1252, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_fname); __Pyx_GIVEREF(__pyx_v_fname); @@ -41389,12 +41876,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_INCREF(__pyx_n_s_rb); __Pyx_GIVEREF(__pyx_n_s_rb); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1241, __pyx_L35_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1252, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1241, __pyx_L35_error) + __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1252, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1241, __pyx_L69_error) + __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1252, __pyx_L69_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -41408,7 +41895,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1241, __pyx_L69_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1252, __pyx_L69_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_5; @@ -41426,46 +41913,46 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_v_fobj = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1242 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1253 * # If passed an open filehandle, no copy * with open(fname, 'rb') as fobj: * gzf = igzip.IndexedGzipFile(fileobj=fobj) # <<<<<<<<<<<<<< * with pytest.raises(pickle.PicklingError): * gzf_copy = cp.deepcopy(gzf) */ - __Pyx_TraceLine(1242,0,__PYX_ERR(0, 1242, __pyx_L73_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1242, __pyx_L73_error) + __Pyx_TraceLine(1253,0,__PYX_ERR(0, 1253, __pyx_L73_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1253, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1242, __pyx_L73_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1242, __pyx_L73_error) + __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1253, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_fobj) < 0) __PYX_ERR(0, 1242, __pyx_L73_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1242, __pyx_L73_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_fobj) < 0) __PYX_ERR(0, 1253, __pyx_L73_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1253, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_gzf = __pyx_t_5; __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1243 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1254 * with open(fname, 'rb') as fobj: * gzf = igzip.IndexedGzipFile(fileobj=fobj) * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< * gzf_copy = cp.deepcopy(gzf) * gzf.close() */ - __Pyx_TraceLine(1243,0,__PYX_ERR(0, 1243, __pyx_L73_error)) + __Pyx_TraceLine(1254,0,__PYX_ERR(0, 1254, __pyx_L73_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1243, __pyx_L73_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1254, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pickle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1243, __pyx_L73_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pickle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1243, __pyx_L73_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1254, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -41481,12 +41968,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1243, __pyx_L73_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1254, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1243, __pyx_L73_error) + __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1254, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1243, __pyx_L79_error) + __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1254, __pyx_L79_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -41500,7 +41987,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1243, __pyx_L79_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1254, __pyx_L79_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -41515,17 +42002,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGOTREF(__pyx_t_20); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1244 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1255 * gzf = igzip.IndexedGzipFile(fileobj=fobj) * with pytest.raises(pickle.PicklingError): * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< * gzf.close() * del gzf */ - __Pyx_TraceLine(1244,0,__PYX_ERR(0, 1244, __pyx_L83_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1244, __pyx_L83_error) + __Pyx_TraceLine(1255,0,__PYX_ERR(0, 1255, __pyx_L83_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1255, __pyx_L83_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1244, __pyx_L83_error) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1255, __pyx_L83_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -41540,13 +42027,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_gzf); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L83_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1255, __pyx_L83_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF_SET(__pyx_v_gzf_copy, __pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1243 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1254 * with open(fname, 'rb') as fobj: * gzf = igzip.IndexedGzipFile(fileobj=fobj) * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< @@ -41566,20 +42053,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_1) < 0) __PYX_ERR(0, 1243, __pyx_L85_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_1) < 0) __PYX_ERR(0, 1254, __pyx_L85_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1243, __pyx_L85_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __pyx_L85_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1243, __pyx_L85_except_error) + if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1254, __pyx_L85_except_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_21); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1243, __pyx_L85_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 1254, __pyx_L85_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_5); @@ -41587,7 +42074,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_13, __pyx_t_1); __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1243, __pyx_L85_except_error) + __PYX_ERR(0, 1254, __pyx_L85_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; @@ -41611,9 +42098,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy /*finally:*/ { /*normal exit:*/{ if (__pyx_t_14) { - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__25, NULL); + __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1243, __pyx_L73_error) + if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1254, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } @@ -41628,15 +42115,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_L92:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1245 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1256 * with pytest.raises(pickle.PicklingError): * gzf_copy = cp.deepcopy(gzf) * gzf.close() # <<<<<<<<<<<<<< * del gzf * del fobj */ - __Pyx_TraceLine(1245,0,__PYX_ERR(0, 1245, __pyx_L73_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1245, __pyx_L73_error) + __Pyx_TraceLine(1256,0,__PYX_ERR(0, 1256, __pyx_L73_error)) + __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1256, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { @@ -41650,23 +42137,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1245, __pyx_L73_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1256, __pyx_L73_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1246 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1257 * gzf_copy = cp.deepcopy(gzf) * gzf.close() * del gzf # <<<<<<<<<<<<<< * del fobj * */ - __Pyx_TraceLine(1246,0,__PYX_ERR(0, 1246, __pyx_L73_error)) + __Pyx_TraceLine(1257,0,__PYX_ERR(0, 1257, __pyx_L73_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1241 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1252 * * # If passed an open filehandle, no copy * with open(fname, 'rb') as fobj: # <<<<<<<<<<<<<< @@ -41686,20 +42173,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_13, &__pyx_t_5) < 0) __PYX_ERR(0, 1241, __pyx_L75_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_13, &__pyx_t_5) < 0) __PYX_ERR(0, 1252, __pyx_L75_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1241, __pyx_L75_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1252, __pyx_L75_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1241, __pyx_L75_except_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1252, __pyx_L75_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1241, __pyx_L75_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1252, __pyx_L75_except_error) __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_1); @@ -41707,7 +42194,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_13, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_13 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1241, __pyx_L75_except_error) + __PYX_ERR(0, 1252, __pyx_L75_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; @@ -41731,9 +42218,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy /*finally:*/ { /*normal exit:*/{ if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__25, NULL); + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1241, __pyx_L35_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1252, __pyx_L35_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } @@ -41748,19 +42235,19 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_L96:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1247 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1258 * gzf.close() * del gzf * del fobj # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(1247,0,__PYX_ERR(0, 1247, __pyx_L35_error)) - if (unlikely(!__pyx_v_fobj)) { __Pyx_RaiseUnboundLocalError("fobj"); __PYX_ERR(0, 1247, __pyx_L35_error) } + __Pyx_TraceLine(1258,0,__PYX_ERR(0, 1258, __pyx_L35_error)) + if (unlikely(!__pyx_v_fobj)) { __Pyx_RaiseUnboundLocalError("fobj"); __PYX_ERR(0, 1258, __pyx_L35_error) } __Pyx_DECREF(__pyx_v_fobj); __pyx_v_fobj = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1226 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1237 * del gzf_copy2 * * with tempdir(): # <<<<<<<<<<<<<< @@ -41780,20 +42267,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_1) < 0) __PYX_ERR(0, 1226, __pyx_L37_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_1) < 0) __PYX_ERR(0, 1237, __pyx_L37_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_13); __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L37_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L37_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1226, __pyx_L37_except_error) + if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1237, __pyx_L37_except_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1226, __pyx_L37_except_error) + if (__pyx_t_15 < 0) __PYX_ERR(0, 1237, __pyx_L37_except_error) __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_5); @@ -41801,7 +42288,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __Pyx_XGIVEREF(__pyx_t_1); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_13, __pyx_t_1); __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1226, __pyx_L37_except_error) + __PYX_ERR(0, 1237, __pyx_L37_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; @@ -41825,9 +42312,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1226, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -41842,7 +42329,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy __pyx_L100:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 * * * def test_copyable(): # <<<<<<<<<<<<<< @@ -41877,7 +42364,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copy return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1250 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 * * * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< @@ -41923,17 +42410,17 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc(P case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, 1); __PYX_ERR(0, 1250, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, 1); __PYX_ERR(0, 1261, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, 2); __PYX_ERR(0, 1250, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, 2); __PYX_ERR(0, 1261, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_mpfunc") < 0)) __PYX_ERR(0, 1250, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_mpfunc") < 0)) __PYX_ERR(0, 1261, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; @@ -41948,7 +42435,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc(P } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1250, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1261, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip._mpfunc", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -41974,20 +42461,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(C int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__85) + __Pyx_TraceFrameInit(__pyx_codeobj__84) __Pyx_RefNannySetupContext("_mpfunc", 0); - __Pyx_TraceCall("_mpfunc", __pyx_f[0], 1250, 0, __PYX_ERR(0, 1250, __pyx_L1_error)); + __Pyx_TraceCall("_mpfunc", __pyx_f[0], 1261, 0, __PYX_ERR(0, 1261, __pyx_L1_error)); __Pyx_INCREF(__pyx_v_gzf); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1251 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1262 * * def _mpfunc(gzf, size, offset): * gzf.seek(offset) # <<<<<<<<<<<<<< * bytes = gzf.read(size) * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) */ - __Pyx_TraceLine(1251,0,__PYX_ERR(0, 1251, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error) + __Pyx_TraceLine(1262,0,__PYX_ERR(0, 1262, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -42001,20 +42488,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(C } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1251, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1252 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1263 * def _mpfunc(gzf, size, offset): * gzf.seek(offset) * bytes = gzf.read(size) # <<<<<<<<<<<<<< * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) * gzf.close() */ - __Pyx_TraceLine(1252,0,__PYX_ERR(0, 1252, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1252, __pyx_L1_error) + __Pyx_TraceLine(1263,0,__PYX_ERR(0, 1263, __pyx_L1_error)) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -42028,36 +42515,36 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(C } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_size) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_size); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1252, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_bytes = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1253 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1264 * gzf.seek(offset) * bytes = gzf.read(size) * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) # <<<<<<<<<<<<<< * gzf.close() * del gzf */ - __Pyx_TraceLine(1253,0,__PYX_ERR(0, 1253, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_TraceLine(1264,0,__PYX_ERR(0, 1264, __pyx_L1_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1253, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_v_size, __pyx_int_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_v_size, __pyx_int_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1253, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1253, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); @@ -42065,10 +42552,10 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(C PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1253, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_buffer, __pyx_v_bytes) < 0) __PYX_ERR(0, 1253, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1253, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_buffer, __pyx_v_bytes) < 0) __PYX_ERR(0, 1264, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -42076,15 +42563,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(C __pyx_v_val = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1254 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1265 * bytes = gzf.read(size) * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) * gzf.close() # <<<<<<<<<<<<<< * del gzf * return val.sum() */ - __Pyx_TraceLine(1254,0,__PYX_ERR(0, 1254, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1254, __pyx_L1_error) + __Pyx_TraceLine(1265,0,__PYX_ERR(0, 1265, __pyx_L1_error)) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -42098,32 +42585,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(C } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1254, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1255 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1266 * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) * gzf.close() * del gzf # <<<<<<<<<<<<<< * return val.sum() * */ - __Pyx_TraceLine(1255,0,__PYX_ERR(0, 1255, __pyx_L1_error)) + __Pyx_TraceLine(1266,0,__PYX_ERR(0, 1266, __pyx_L1_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1256 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1267 * gzf.close() * del gzf * return val.sum() # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(1256,0,__PYX_ERR(0, 1256, __pyx_L1_error)) + __Pyx_TraceLine(1267,0,__PYX_ERR(0, 1267, __pyx_L1_error)) __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1256, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -42137,14 +42624,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(C } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1256, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1250 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 * * * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< @@ -42170,7 +42657,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(C return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1259 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 * * * def test_multiproc_serialise(): # <<<<<<<<<<<<<< @@ -42230,31 +42717,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__86) + __Pyx_TraceFrameInit(__pyx_codeobj__85) __Pyx_RefNannySetupContext("test_multiproc_serialise", 0); - __Pyx_TraceCall("test_multiproc_serialise", __pyx_f[0], 1259, 0, __PYX_ERR(0, 1259, __pyx_L1_error)); + __Pyx_TraceCall("test_multiproc_serialise", __pyx_f[0], 1270, 0, __PYX_ERR(0, 1270, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1260 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1271 * * def test_multiproc_serialise(): * fname = 'test.gz' # <<<<<<<<<<<<<< * with tempdir(): * */ - __Pyx_TraceLine(1260,0,__PYX_ERR(0, 1260, __pyx_L1_error)) + __Pyx_TraceLine(1271,0,__PYX_ERR(0, 1271, __pyx_L1_error)) __Pyx_INCREF(__pyx_kp_s_test_gz); __pyx_v_fname = __pyx_kp_s_test_gz; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1272 * def test_multiproc_serialise(): * fname = 'test.gz' * with tempdir(): # <<<<<<<<<<<<<< * * data = np.arange(10000000, dtype=np.uint32) */ - __Pyx_TraceLine(1261,0,__PYX_ERR(0, 1261, __pyx_L1_error)) + __Pyx_TraceLine(1272,0,__PYX_ERR(0, 1272, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1261, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -42268,12 +42755,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1261, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1261, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1261, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1272, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -42287,7 +42774,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1261, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -42302,47 +42789,47 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1263 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1274 * with tempdir(): * * data = np.arange(10000000, dtype=np.uint32) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __Pyx_TraceLine(1263,0,__PYX_ERR(0, 1263, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_TraceLine(1274,0,__PYX_ERR(0, 1274, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1274, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1263, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1263, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1274, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1263, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1274, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1263, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1274, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1263, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1274, __pyx_L7_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__87, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1263, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__86, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1274, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_data = __pyx_t_5; __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1264 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1275 * * data = np.arange(10000000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< * f.write(data.tobytes()) * del f */ - __Pyx_TraceLine(1264,0,__PYX_ERR(0, 1264, __pyx_L7_error)) + __Pyx_TraceLine(1275,0,__PYX_ERR(0, 1275, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1275, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1264, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -42360,7 +42847,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1264, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); } else @@ -42368,13 +42855,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1264, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L7_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -42385,14 +42872,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __Pyx_INCREF(__pyx_n_s_wb); __Pyx_GIVEREF(__pyx_n_s_wb); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1264, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1264, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1275, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L13_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -42406,7 +42893,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1264, __pyx_L13_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; @@ -42424,17 +42911,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __pyx_v_f = __pyx_t_3; __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1265 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1276 * data = np.arange(10000000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) # <<<<<<<<<<<<<< * del f * */ - __Pyx_TraceLine(1265,0,__PYX_ERR(0, 1265, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1265, __pyx_L17_error) + __Pyx_TraceLine(1276,0,__PYX_ERR(0, 1276, __pyx_L17_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1276, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1265, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1276, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -42448,7 +42935,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __pyx_L17_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1276, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; @@ -42464,12 +42951,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L17_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1276, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1264 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1275 * * data = np.arange(10000000, dtype=np.uint32) * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< @@ -42489,20 +42976,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1264, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1275, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L19_except_error) + __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1275, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1264, __pyx_L19_except_error) + if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1275, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1264, __pyx_L19_except_error) + if (__pyx_t_16 < 0) __PYX_ERR(0, 1275, __pyx_L19_except_error) __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_3); @@ -42510,7 +42997,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __Pyx_XGIVEREF(__pyx_t_2); __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1264, __pyx_L19_except_error) + __PYX_ERR(0, 1275, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -42534,9 +43021,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult /*finally:*/ { /*normal exit:*/{ if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__25, NULL); + __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1264, __pyx_L7_error) + if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1275, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -42551,29 +43038,29 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __pyx_L26:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1266 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1277 * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) * del f # <<<<<<<<<<<<<< * * gzf = igzip.IndexedGzipFile(fname) */ - __Pyx_TraceLine(1266,0,__PYX_ERR(0, 1266, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1266, __pyx_L7_error) } + __Pyx_TraceLine(1277,0,__PYX_ERR(0, 1277, __pyx_L7_error)) + if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1277, __pyx_L7_error) } __Pyx_DECREF(__pyx_v_f); __pyx_v_f = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1268 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1279 * del f * * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< * * size = len(data) / 16 */ - __Pyx_TraceLine(1268,0,__PYX_ERR(0, 1268, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1268, __pyx_L7_error) + __Pyx_TraceLine(1279,0,__PYX_ERR(0, 1279, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1279, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1268, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1279, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -42588,41 +43075,41 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fname); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1268, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1279, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_gzf = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1281 * gzf = igzip.IndexedGzipFile(fname) * * size = len(data) / 16 # <<<<<<<<<<<<<< * offsets = np.arange(0, len(data), size) * func = ft.partial(_mpfunc, gzf, size * 4) */ - __Pyx_TraceLine(1270,0,__PYX_ERR(0, 1270, __pyx_L7_error)) - __pyx_t_18 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1270, __pyx_L7_error) - __pyx_t_2 = PyInt_FromSsize_t(__Pyx_div_Py_ssize_t(__pyx_t_18, 16)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1270, __pyx_L7_error) + __Pyx_TraceLine(1281,0,__PYX_ERR(0, 1281, __pyx_L7_error)) + __pyx_t_18 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1281, __pyx_L7_error) + __pyx_t_2 = PyInt_FromSsize_t(__Pyx_div_Py_ssize_t(__pyx_t_18, 16)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1281, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_size = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1271 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1282 * * size = len(data) / 16 * offsets = np.arange(0, len(data), size) # <<<<<<<<<<<<<< * func = ft.partial(_mpfunc, gzf, size * 4) * */ - __Pyx_TraceLine(1271,0,__PYX_ERR(0, 1271, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L7_error) + __Pyx_TraceLine(1282,0,__PYX_ERR(0, 1282, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1271, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1282, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_18 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1271, __pyx_L7_error) - __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L7_error) + __pyx_t_18 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; __pyx_t_9 = 0; @@ -42639,7 +43126,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_t_3, __pyx_v_size}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -42648,14 +43135,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_t_3, __pyx_v_size}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { - __pyx_t_14 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1271, __pyx_L7_error) + __pyx_t_14 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1282, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -42669,7 +43156,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __Pyx_GIVEREF(__pyx_v_size); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_9, __pyx_v_size); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -42677,22 +43164,22 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __pyx_v_offsets = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1272 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1283 * size = len(data) / 16 * offsets = np.arange(0, len(data), size) * func = ft.partial(_mpfunc, gzf, size * 4) # <<<<<<<<<<<<<< * * pool = mp.Pool(8) */ - __Pyx_TraceLine(1272,0,__PYX_ERR(0, 1272, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ft); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_TraceLine(1283,0,__PYX_ERR(0, 1283, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ft); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1283, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1272, __pyx_L7_error) + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1283, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_mpfunc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1272, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_mpfunc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1283, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyNumber_Multiply(__pyx_v_size, __pyx_int_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1272, __pyx_L7_error) + __pyx_t_3 = PyNumber_Multiply(__pyx_v_size, __pyx_int_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1283, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = NULL; __pyx_t_9 = 0; @@ -42709,7 +43196,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_5, __pyx_v_gzf, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1283, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -42719,7 +43206,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_5, __pyx_v_gzf, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1283, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -42727,7 +43214,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } else #endif { - __pyx_t_19 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1272, __pyx_L7_error) + __pyx_t_19 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1283, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_1); __pyx_t_1 = NULL; @@ -42741,7 +43228,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_9, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_19, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_19, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1283, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } @@ -42749,17 +43236,17 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __pyx_v_func = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1274 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1285 * func = ft.partial(_mpfunc, gzf, size * 4) * * pool = mp.Pool(8) # <<<<<<<<<<<<<< * results = pool.map(func, offsets * 4) * pool.close() */ - __Pyx_TraceLine(1274,0,__PYX_ERR(0, 1274, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_mp); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1274, __pyx_L7_error) + __Pyx_TraceLine(1285,0,__PYX_ERR(0, 1285, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_mp); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1285, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_Pool); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1274, __pyx_L7_error) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_Pool); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1285, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; @@ -42774,23 +43261,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_19, __pyx_t_14, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_int_8); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1285, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_v_pool = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1275 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1286 * * pool = mp.Pool(8) * results = pool.map(func, offsets * 4) # <<<<<<<<<<<<<< * pool.close() * pool.join() */ - __Pyx_TraceLine(1275,0,__PYX_ERR(0, 1275, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_map); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1275, __pyx_L7_error) + __Pyx_TraceLine(1286,0,__PYX_ERR(0, 1286, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_map); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1286, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_19); - __pyx_t_14 = PyNumber_Multiply(__pyx_v_offsets, __pyx_int_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1275, __pyx_L7_error) + __pyx_t_14 = PyNumber_Multiply(__pyx_v_offsets, __pyx_int_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1286, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_3 = NULL; __pyx_t_9 = 0; @@ -42807,7 +43294,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_func, __pyx_t_14}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1286, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; @@ -42816,14 +43303,14 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_func, __pyx_t_14}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1286, __pyx_L7_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L7_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1286, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -42834,7 +43321,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_14); __pyx_t_14 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L7_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1286, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -42842,15 +43329,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __pyx_v_results = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1276 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 * pool = mp.Pool(8) * results = pool.map(func, offsets * 4) * pool.close() # <<<<<<<<<<<<<< * pool.join() * gzf.close() */ - __Pyx_TraceLine(1276,0,__PYX_ERR(0, 1276, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_close); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1276, __pyx_L7_error) + __Pyx_TraceLine(1287,0,__PYX_ERR(0, 1287, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_close); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1287, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { @@ -42864,20 +43351,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1276, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1287, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1277 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1288 * results = pool.map(func, offsets * 4) * pool.close() * pool.join() # <<<<<<<<<<<<<< * gzf.close() * del gzf */ - __Pyx_TraceLine(1277,0,__PYX_ERR(0, 1277, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_join); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1277, __pyx_L7_error) + __Pyx_TraceLine(1288,0,__PYX_ERR(0, 1288, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_join); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1288, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { @@ -42891,20 +43378,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1277, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1288, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1278 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1289 * pool.close() * pool.join() * gzf.close() # <<<<<<<<<<<<<< * del gzf * del pool */ - __Pyx_TraceLine(1278,0,__PYX_ERR(0, 1278, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1278, __pyx_L7_error) + __Pyx_TraceLine(1289,0,__PYX_ERR(0, 1289, __pyx_L7_error)) + __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1289, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { @@ -42918,67 +43405,67 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1278, __pyx_L7_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1289, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1279 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1290 * pool.join() * gzf.close() * del gzf # <<<<<<<<<<<<<< * del pool * */ - __Pyx_TraceLine(1279,0,__PYX_ERR(0, 1279, __pyx_L7_error)) + __Pyx_TraceLine(1290,0,__PYX_ERR(0, 1290, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_gzf); __pyx_v_gzf = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1280 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1291 * gzf.close() * del gzf * del pool # <<<<<<<<<<<<<< * * expected = [data[off:off+size].sum() for off in offsets] */ - __Pyx_TraceLine(1280,0,__PYX_ERR(0, 1280, __pyx_L7_error)) + __Pyx_TraceLine(1291,0,__PYX_ERR(0, 1291, __pyx_L7_error)) __Pyx_DECREF(__pyx_v_pool); __pyx_v_pool = NULL; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1282 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1293 * del pool * * expected = [data[off:off+size].sum() for off in offsets] # <<<<<<<<<<<<<< * * assert results == expected */ - __Pyx_TraceLine(1282,0,__PYX_ERR(0, 1282, __pyx_L7_error)) - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L7_error) + __Pyx_TraceLine(1293,0,__PYX_ERR(0, 1293, __pyx_L7_error)) + __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_v_offsets)) || PyTuple_CheckExact(__pyx_v_offsets)) { __pyx_t_19 = __pyx_v_offsets; __Pyx_INCREF(__pyx_t_19); __pyx_t_18 = 0; __pyx_t_20 = NULL; } else { - __pyx_t_18 = -1; __pyx_t_19 = PyObject_GetIter(__pyx_v_offsets); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_18 = -1; __pyx_t_19 = PyObject_GetIter(__pyx_v_offsets); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_19); - __pyx_t_20 = Py_TYPE(__pyx_t_19)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_20 = Py_TYPE(__pyx_t_19)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1293, __pyx_L7_error) } for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_19))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_19)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_5); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_5); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 1293, __pyx_L7_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_19)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_5); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_5); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 1293, __pyx_L7_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); #endif } @@ -42988,7 +43475,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1282, __pyx_L7_error) + else __PYX_ERR(0, 1293, __pyx_L7_error) } break; } @@ -42996,12 +43483,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); __pyx_t_5 = 0; - __pyx_t_14 = PyNumber_Add(__pyx_v_off, __pyx_v_size); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_14 = PyNumber_Add(__pyx_v_off, __pyx_v_size); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_data, 0, 0, &__pyx_v_off, &__pyx_t_14, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_data, 0, 0, &__pyx_v_off, &__pyx_t_14, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1282, __pyx_L7_error) + __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; @@ -43016,37 +43503,37 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1282, __pyx_L7_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1282, __pyx_L7_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1293, __pyx_L7_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_v_expected = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1284 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1295 * expected = [data[off:off+size].sum() for off in offsets] * * assert results == expected # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(1284,0,__PYX_ERR(0, 1284, __pyx_L7_error)) + __Pyx_TraceLine(1295,0,__PYX_ERR(0, 1295, __pyx_L7_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = PyObject_RichCompare(__pyx_v_results, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1284, __pyx_L7_error) - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1284, __pyx_L7_error) + __pyx_t_2 = PyObject_RichCompare(__pyx_v_results, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __pyx_L7_error) + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1295, __pyx_L7_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_17)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1284, __pyx_L7_error) + __PYX_ERR(0, 1295, __pyx_L7_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1272 * def test_multiproc_serialise(): * fname = 'test.gz' * with tempdir(): # <<<<<<<<<<<<<< @@ -43067,20 +43554,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_19, &__pyx_t_5) < 0) __PYX_ERR(0, 1261, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_19, &__pyx_t_5) < 0) __PYX_ERR(0, 1272, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_19); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_19, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1261, __pyx_L9_except_error) + __pyx_t_14 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_19, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1272, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1261, __pyx_L9_except_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1272, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1261, __pyx_L9_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1272, __pyx_L9_except_error) __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_2); @@ -43088,7 +43575,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_19, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_19 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1261, __pyx_L9_except_error) + __PYX_ERR(0, 1272, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; @@ -43112,9 +43599,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1261, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -43129,7 +43616,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult __pyx_L32:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1259 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 * * * def test_multiproc_serialise(): # <<<<<<<<<<<<<< @@ -43167,7 +43654,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_mult return __pyx_r; } -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 +/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 * * * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< @@ -43210,11 +43697,11 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bi case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("test_32bit_overflow", 1, 2, 2, 1); __PYX_ERR(0, 1287, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_32bit_overflow", 1, 2, 2, 1); __PYX_ERR(0, 1298, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_32bit_overflow") < 0)) __PYX_ERR(0, 1287, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_32bit_overflow") < 0)) __PYX_ERR(0, 1298, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -43227,7 +43714,7 @@ static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bi } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_32bit_overflow", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1287, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("test_32bit_overflow", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1298, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -43277,20 +43764,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__88) + __Pyx_TraceFrameInit(__pyx_codeobj__87) __Pyx_RefNannySetupContext("test_32bit_overflow", 0); - __Pyx_TraceCall("test_32bit_overflow", __pyx_f[0], 1287, 0, __PYX_ERR(0, 1287, __pyx_L1_error)); + __Pyx_TraceCall("test_32bit_overflow", __pyx_f[0], 1298, 0, __PYX_ERR(0, 1298, __pyx_L1_error)); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1288 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1299 * * def test_32bit_overflow(niters, seed): * with tempdir(): # <<<<<<<<<<<<<< * * block = 2 ** 24 # 128MB */ - __Pyx_TraceLine(1288,0,__PYX_ERR(0, 1288, __pyx_L1_error)) + __Pyx_TraceLine(1299,0,__PYX_ERR(0, 1299, __pyx_L1_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1288, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -43304,12 +43791,12 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1288, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1288, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1288, __pyx_L3_error) + __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1299, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -43323,7 +43810,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1288, __pyx_L3_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1299, __pyx_L3_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -43338,63 +43825,63 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XGOTREF(__pyx_t_8); /*try:*/ { - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1290 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1301 * with tempdir(): * * block = 2 ** 24 # 128MB # <<<<<<<<<<<<<< * nelems = block * 48 # 6GB * */ - __Pyx_TraceLine(1290,0,__PYX_ERR(0, 1290, __pyx_L7_error)) + __Pyx_TraceLine(1301,0,__PYX_ERR(0, 1301, __pyx_L7_error)) __Pyx_INCREF(__pyx_int_16777216); __pyx_v_block = __pyx_int_16777216; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1291 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1302 * * block = 2 ** 24 # 128MB * nelems = block * 48 # 6GB # <<<<<<<<<<<<<< * * data = np.ones(block, dtype=np.uint64).tobytes() */ - __Pyx_TraceLine(1291,0,__PYX_ERR(0, 1291, __pyx_L7_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_block, __pyx_int_48); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1291, __pyx_L7_error) + __Pyx_TraceLine(1302,0,__PYX_ERR(0, 1302, __pyx_L7_error)) + __pyx_t_1 = PyNumber_Multiply(__pyx_v_block, __pyx_int_48); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_nelems = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1293 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1304 * nelems = block * 48 # 6GB * * data = np.ones(block, dtype=np.uint64).tobytes() # <<<<<<<<<<<<<< * * with gzip.open('test.gz', 'wb') as f: */ - __Pyx_TraceLine(1293,0,__PYX_ERR(0, 1293, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_TraceLine(1304,0,__PYX_ERR(0, 1304, __pyx_L7_error)) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1293, __pyx_L7_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1293, __pyx_L7_error) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_block); __Pyx_GIVEREF(__pyx_v_block); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_block); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1293, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1293, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 1293, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1293, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; @@ -43409,32 +43896,32 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi } __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1293, __pyx_L7_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1304, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_data = __pyx_t_1; __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1295 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1306 * data = np.ones(block, dtype=np.uint64).tobytes() * * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< * for i in range(48): * print('Generated to {}...'.format(block * i)) */ - __Pyx_TraceLine(1295,0,__PYX_ERR(0, 1295, __pyx_L7_error)) + __Pyx_TraceLine(1306,0,__PYX_ERR(0, 1306, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1306, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1295, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1306, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__89, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1306, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1295, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1306, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1295, __pyx_L13_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1306, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { @@ -43448,7 +43935,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_10); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1295, __pyx_L13_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1306, __pyx_L13_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __pyx_t_5; @@ -43466,31 +43953,31 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __pyx_v_f = __pyx_t_10; __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1296 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1307 * * with gzip.open('test.gz', 'wb') as f: * for i in range(48): # <<<<<<<<<<<<<< * print('Generated to {}...'.format(block * i)) * f.write(data) */ - __Pyx_TraceLine(1296,0,__PYX_ERR(0, 1296, __pyx_L17_error)) + __Pyx_TraceLine(1307,0,__PYX_ERR(0, 1307, __pyx_L17_error)) for (__pyx_t_15 = 0; __pyx_t_15 < 48; __pyx_t_15+=1) { - __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1296, __pyx_L17_error) + __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1307, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_10); __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1297 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1308 * with gzip.open('test.gz', 'wb') as f: * for i in range(48): * print('Generated to {}...'.format(block * i)) # <<<<<<<<<<<<<< * f.write(data) * */ - __Pyx_TraceLine(1297,0,__PYX_ERR(0, 1297, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Generated_to, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1297, __pyx_L17_error) + __Pyx_TraceLine(1308,0,__PYX_ERR(0, 1308, __pyx_L17_error)) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Generated_to, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyNumber_Multiply(__pyx_v_block, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1297, __pyx_L17_error) + __pyx_t_5 = PyNumber_Multiply(__pyx_v_block, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1308, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -43505,23 +43992,23 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1297, __pyx_L17_error) + if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1308, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1297, __pyx_L17_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1309 * for i in range(48): * print('Generated to {}...'.format(block * i)) * f.write(data) # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(filename='test.gz') as f: */ - __Pyx_TraceLine(1298,0,__PYX_ERR(0, 1298, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1298, __pyx_L17_error) + __Pyx_TraceLine(1309,0,__PYX_ERR(0, 1309, __pyx_L17_error)) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1309, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { @@ -43535,13 +44022,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_data); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1298, __pyx_L17_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L17_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1295 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1306 * data = np.ones(block, dtype=np.uint64).tobytes() * * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< @@ -43562,20 +44049,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 1295, __pyx_L19_except_error) + if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 1306, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __pyx_L19_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1295, __pyx_L19_except_error) + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1306, __pyx_L19_except_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1295, __pyx_L19_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1306, __pyx_L19_except_error) __pyx_t_18 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_1); @@ -43583,7 +44070,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_10, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1295, __pyx_L19_except_error) + __PYX_ERR(0, 1306, __pyx_L19_except_error) } __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -43607,9 +44094,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1295, __pyx_L7_error) + if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1306, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -43624,30 +44111,30 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __pyx_L28:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1300 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1311 * f.write(data) * * with igzip._IndexedGzipFile(filename='test.gz') as f: # <<<<<<<<<<<<<< * * seekelems = np.random.randint(0, nelems, niters) */ - __Pyx_TraceLine(1300,0,__PYX_ERR(0, 1300, __pyx_L7_error)) + __Pyx_TraceLine(1311,0,__PYX_ERR(0, 1311, __pyx_L7_error)) /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1300, __pyx_L7_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1300, __pyx_L7_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1311, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1300, __pyx_L7_error) + __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_filename, __pyx_kp_s_test_gz) < 0) __PYX_ERR(0, 1300, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1300, __pyx_L7_error) + if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_filename, __pyx_kp_s_test_gz) < 0) __PYX_ERR(0, 1311, __pyx_L7_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1311, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1300, __pyx_L7_error) + __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1311, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1300, __pyx_L29_error) + __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1311, __pyx_L29_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { @@ -43661,7 +44148,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi } __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_10); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1300, __pyx_L29_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L29_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __pyx_t_5; @@ -43679,20 +44166,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_10); __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1302 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1313 * with igzip._IndexedGzipFile(filename='test.gz') as f: * * seekelems = np.random.randint(0, nelems, niters) # <<<<<<<<<<<<<< * * for i, testval in enumerate(seekelems): */ - __Pyx_TraceLine(1302,0,__PYX_ERR(0, 1302, __pyx_L33_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L33_error) + __Pyx_TraceLine(1313,0,__PYX_ERR(0, 1313, __pyx_L33_error)) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1313, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1302, __pyx_L33_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1313, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L33_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1313, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; @@ -43710,7 +44197,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_19, 3+__pyx_t_19); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1302, __pyx_L33_error) + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_19, 3+__pyx_t_19); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1313, __pyx_L33_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); } else @@ -43718,13 +44205,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_19, 3+__pyx_t_19); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1302, __pyx_L33_error) + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_19, 3+__pyx_t_19); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1313, __pyx_L33_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { - __pyx_t_2 = PyTuple_New(3+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1302, __pyx_L33_error) + __pyx_t_2 = PyTuple_New(3+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1313, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -43738,7 +44225,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_INCREF(__pyx_v_niters); __Pyx_GIVEREF(__pyx_v_niters); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_19, __pyx_v_niters); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1302, __pyx_L33_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1313, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } @@ -43746,40 +44233,40 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __pyx_v_seekelems = __pyx_t_10; __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1304 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1315 * seekelems = np.random.randint(0, nelems, niters) * * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< * * readval = read_element(f, testval) */ - __Pyx_TraceLine(1304,0,__PYX_ERR(0, 1304, __pyx_L33_error)) + __Pyx_TraceLine(1315,0,__PYX_ERR(0, 1315, __pyx_L33_error)) __Pyx_INCREF(__pyx_int_0); __pyx_t_10 = __pyx_int_0; if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { __pyx_t_1 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_1); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { - __pyx_t_20 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1304, __pyx_L33_error) + __pyx_t_20 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1315, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_21 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1304, __pyx_L33_error) + __pyx_t_21 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1315, __pyx_L33_error) } for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1304, __pyx_L33_error) + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1315, __pyx_L33_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L33_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1304, __pyx_L33_error) + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1315, __pyx_L33_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L33_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); #endif } @@ -43789,7 +44276,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1304, __pyx_L33_error) + else __PYX_ERR(0, 1315, __pyx_L33_error) } break; } @@ -43799,21 +44286,21 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __pyx_t_2 = 0; __Pyx_INCREF(__pyx_t_10); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_10); - __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_10, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L33_error) + __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_10, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = __pyx_t_2; __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1306 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1317 * for i, testval in enumerate(seekelems): * * readval = read_element(f, testval) # <<<<<<<<<<<<<< * * ft = f.tell() */ - __Pyx_TraceLine(1306,0,__PYX_ERR(0, 1306, __pyx_L33_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1306, __pyx_L33_error) + __Pyx_TraceLine(1317,0,__PYX_ERR(0, 1317, __pyx_L33_error)) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1317, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; __pyx_t_19 = 0; @@ -43830,7 +44317,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f, __pyx_v_testval}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L33_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L33_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -43838,13 +44325,13 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f, __pyx_v_testval}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L33_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L33_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_9 = PyTuple_New(2+__pyx_t_19); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1306, __pyx_L33_error) + __pyx_t_9 = PyTuple_New(2+__pyx_t_19); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1317, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -43855,7 +44342,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_INCREF(__pyx_v_testval); __Pyx_GIVEREF(__pyx_v_testval); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_19, __pyx_v_testval); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L33_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } @@ -43863,15 +44350,15 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1308 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1319 * readval = read_element(f, testval) * * ft = f.tell() # <<<<<<<<<<<<<< * * assert ft == int(testval + 1) * 8 */ - __Pyx_TraceLine(1308,0,__PYX_ERR(0, 1308, __pyx_L33_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1308, __pyx_L33_error) + __Pyx_TraceLine(1319,0,__PYX_ERR(0, 1319, __pyx_L33_error)) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1319, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -43885,72 +44372,72 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi } __pyx_t_2 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_5); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L33_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1319, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_2); __pyx_t_2 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1310 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1321 * ft = f.tell() * * assert ft == int(testval + 1) * 8 # <<<<<<<<<<<<<< * assert readval == 1 */ - __Pyx_TraceLine(1310,0,__PYX_ERR(0, 1310, __pyx_L33_error)) + __Pyx_TraceLine(1321,0,__PYX_ERR(0, 1321, __pyx_L33_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_testval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1310, __pyx_L33_error) + __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_testval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1321, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1310, __pyx_L33_error) + __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1321, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Multiply(__pyx_t_5, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1310, __pyx_L33_error) + __pyx_t_2 = PyNumber_Multiply(__pyx_t_5, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1321, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_ft, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1310, __pyx_L33_error) + __pyx_t_5 = PyObject_RichCompare(__pyx_v_ft, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1321, __pyx_L33_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1310, __pyx_L33_error) + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1321, __pyx_L33_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_18)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1310, __pyx_L33_error) + __PYX_ERR(0, 1321, __pyx_L33_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1311 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1322 * * assert ft == int(testval + 1) * 8 * assert readval == 1 # <<<<<<<<<<<<<< */ - __Pyx_TraceLine(1311,0,__PYX_ERR(0, 1311, __pyx_L33_error)) + __Pyx_TraceLine(1322,0,__PYX_ERR(0, 1322, __pyx_L33_error)) #ifndef CYTHON_WITHOUT_ASSERTIONS if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L33_error) + __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1322, __pyx_L33_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1311, __pyx_L33_error) + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1322, __pyx_L33_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_18)) { PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1311, __pyx_L33_error) + __PYX_ERR(0, 1322, __pyx_L33_error) } } #endif - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1304 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1315 * seekelems = np.random.randint(0, nelems, niters) * * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< * * readval = read_element(f, testval) */ - __Pyx_TraceLine(1304,0,__PYX_ERR(0, 1304, __pyx_L33_error)) + __Pyx_TraceLine(1315,0,__PYX_ERR(0, 1315, __pyx_L33_error)) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1300 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1311 * f.write(data) * * with igzip._IndexedGzipFile(filename='test.gz') as f: # <<<<<<<<<<<<<< @@ -43971,20 +44458,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1300, __pyx_L35_except_error) + if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1311, __pyx_L35_except_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_10, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1300, __pyx_L35_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_10, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1311, __pyx_L35_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1300, __pyx_L35_except_error) + if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1311, __pyx_L35_except_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_16); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_18 < 0) __PYX_ERR(0, 1300, __pyx_L35_except_error) + if (__pyx_t_18 < 0) __PYX_ERR(0, 1311, __pyx_L35_except_error) __pyx_t_17 = ((!(__pyx_t_18 != 0)) != 0); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_10); @@ -43992,7 +44479,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XGIVEREF(__pyx_t_5); __Pyx_ErrRestoreWithState(__pyx_t_10, __pyx_t_1, __pyx_t_5); __pyx_t_10 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1300, __pyx_L35_except_error) + __PYX_ERR(0, 1311, __pyx_L35_except_error) } __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -44016,9 +44503,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi /*finally:*/ { /*normal exit:*/{ if (__pyx_t_11) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__25, NULL); + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1300, __pyx_L7_error) + if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1311, __pyx_L7_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } @@ -44033,7 +44520,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __pyx_L44:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1288 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1299 * * def test_32bit_overflow(niters, seed): * with tempdir(): # <<<<<<<<<<<<<< @@ -44054,20 +44541,20 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; /*except:*/ { __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_10) < 0) __PYX_ERR(0, 1288, __pyx_L9_except_error) + if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_10) < 0) __PYX_ERR(0, 1299, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1288, __pyx_L9_except_error) + __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1299, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1288, __pyx_L9_except_error) + if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1299, __pyx_L9_except_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_11); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1288, __pyx_L9_except_error) + if (__pyx_t_17 < 0) __PYX_ERR(0, 1299, __pyx_L9_except_error) __pyx_t_18 = ((!(__pyx_t_17 != 0)) != 0); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_5); @@ -44075,7 +44562,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __Pyx_XGIVEREF(__pyx_t_10); __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_10); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_10 = 0; - __PYX_ERR(0, 1288, __pyx_L9_except_error) + __PYX_ERR(0, 1299, __pyx_L9_except_error) } __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -44099,9 +44586,9 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi /*finally:*/ { /*normal exit:*/{ if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__25, NULL); + __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1288, __pyx_L1_error) + if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } @@ -44116,7 +44603,7 @@ static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bi __pyx_L48:; } - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 * * * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< @@ -44335,6 +44822,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_BytesIO, __pyx_k_BytesIO, sizeof(__pyx_k_BytesIO), 0, 0, 1, 1}, {&__pyx_n_s_BytesIOWithMode, __pyx_k_BytesIOWithMode, sizeof(__pyx_k_BytesIOWithMode), 0, 0, 1, 1}, {&__pyx_n_s_Error, __pyx_k_Error, sizeof(__pyx_k_Error), 0, 0, 1, 1}, + {&__pyx_kp_s_Error_in__fill_buf_bytes, __pyx_k_Error_in__fill_buf_bytes, sizeof(__pyx_k_Error_in__fill_buf_bytes), 0, 0, 1, 0}, {&__pyx_kp_s_Generated_to, __pyx_k_Generated_to, sizeof(__pyx_k_Generated_to), 0, 0, 1, 0}, {&__pyx_n_s_GzipFile, __pyx_k_GzipFile, sizeof(__pyx_k_GzipFile), 0, 0, 1, 1}, {&__pyx_n_s_GzipStream, __pyx_k_GzipStream, sizeof(__pyx_k_GzipStream), 0, 0, 1, 1}, @@ -44351,7 +44839,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_GzipStream_tell, __pyx_k_GzipStream_tell, sizeof(__pyx_k_GzipStream_tell), 0, 0, 1, 1}, {&__pyx_n_s_IOError, __pyx_k_IOError, sizeof(__pyx_k_IOError), 0, 0, 1, 1}, {&__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu, __pyx_k_In_GzipStream__fill_buf_bytes_nu, sizeof(__pyx_k_In_GzipStream__fill_buf_bytes_nu), 0, 1, 0, 0}, - {&__pyx_kp_s_In_GzipStream_tell_is_called, __pyx_k_In_GzipStream_tell_is_called, sizeof(__pyx_k_In_GzipStream_tell_is_called), 0, 0, 1, 0}, + {&__pyx_kp_u_In_GzipStream_tell_is_called_sel, __pyx_k_In_GzipStream_tell_is_called_sel, sizeof(__pyx_k_In_GzipStream_tell_is_called_sel), 0, 1, 0, 0}, {&__pyx_n_s_IndexedGzipFile, __pyx_k_IndexedGzipFile, sizeof(__pyx_k_IndexedGzipFile), 0, 0, 1, 1}, {&__pyx_n_s_IndexedGzipFile_2, __pyx_k_IndexedGzipFile_2, sizeof(__pyx_k_IndexedGzipFile_2), 0, 0, 1, 1}, {&__pyx_n_s_NoHandleError, __pyx_k_NoHandleError, sizeof(__pyx_k_NoHandleError), 0, 0, 1, 1}, @@ -44361,13 +44849,13 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_u_Size_changed_to, __pyx_k_Size_changed_to, sizeof(__pyx_k_Size_changed_to), 0, 1, 0, 0}, {&__pyx_n_s_StopIteration, __pyx_k_StopIteration, sizeof(__pyx_k_StopIteration), 0, 0, 1, 1}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_kp_s__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 0, 1, 0}, + {&__pyx_kp_s__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 0, 1, 0}, + {&__pyx_kp_b__49, __pyx_k__49, sizeof(__pyx_k__49), 0, 0, 0, 0}, {&__pyx_n_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 1}, {&__pyx_kp_b__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 0, 0}, - {&__pyx_kp_b__50, __pyx_k__50, sizeof(__pyx_k__50), 0, 0, 0, 0}, - {&__pyx_kp_s__58, __pyx_k__58, sizeof(__pyx_k__58), 0, 0, 1, 0}, - {&__pyx_kp_b__61, __pyx_k__61, sizeof(__pyx_k__61), 0, 0, 0, 0}, - {&__pyx_n_s__90, __pyx_k__90, sizeof(__pyx_k__90), 0, 0, 1, 1}, + {&__pyx_kp_s__57, __pyx_k__57, sizeof(__pyx_k__57), 0, 0, 1, 0}, + {&__pyx_kp_b__60, __pyx_k__60, sizeof(__pyx_k__60), 0, 0, 0, 0}, + {&__pyx_n_s__89, __pyx_k__89, sizeof(__pyx_k__89), 0, 0, 1, 1}, {&__pyx_n_s_ab, __pyx_k_ab, sizeof(__pyx_k_ab), 0, 0, 1, 1}, {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1}, @@ -44411,6 +44899,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_drop_handles, __pyx_k_drop_handles, sizeof(__pyx_k_drop_handles), 0, 0, 1, 1}, {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, {&__pyx_n_s_dumps, __pyx_k_dumps, sizeof(__pyx_k_dumps), 0, 0, 1, 1}, + {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1}, {&__pyx_n_s_element, __pyx_k_element, sizeof(__pyx_k_element), 0, 0, 1, 1}, {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, @@ -44635,6 +45124,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_test_seek_and_tell, __pyx_k_test_seek_and_tell, sizeof(__pyx_k_test_seek_and_tell), 0, 0, 1, 1}, {&__pyx_n_s_test_simple_read_with_null_paddi, __pyx_k_test_simple_read_with_null_paddi, sizeof(__pyx_k_test_simple_read_with_null_paddi), 0, 0, 1, 1}, {&__pyx_n_s_test_size_multiple_of_readbuf, __pyx_k_test_size_multiple_of_readbuf, sizeof(__pyx_k_test_size_multiple_of_readbuf), 0, 0, 1, 1}, + {&__pyx_kp_s_test_txt, __pyx_k_test_txt, sizeof(__pyx_k_test_txt), 0, 0, 1, 0}, {&__pyx_n_s_test_wrapper_class, __pyx_k_test_wrapper_class, sizeof(__pyx_k_test_wrapper_class), 0, 0, 1, 1}, {&__pyx_n_s_testfile, __pyx_k_testfile, sizeof(__pyx_k_testfile), 0, 0, 1, 1}, {&__pyx_n_s_testval, __pyx_k_testval, sizeof(__pyx_k_testval), 0, 0, 1, 1}, @@ -44643,6 +45133,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_this_is_some_more_text_split_ac, __pyx_k_this_is_some_more_text_split_ac, sizeof(__pyx_k_this_is_some_more_text_split_ac), 0, 0, 1, 0}, {&__pyx_kp_s_this_is_some_text_split_across, __pyx_k_this_is_some_text_split_across, sizeof(__pyx_k_this_is_some_text_split_across), 0, 0, 1, 0}, {&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1}, + {&__pyx_n_s_tmp_filename, __pyx_k_tmp_filename, sizeof(__pyx_k_tmp_filename), 0, 0, 1, 1}, {&__pyx_n_s_tobytes, __pyx_k_tobytes, sizeof(__pyx_k_tobytes), 0, 0, 1, 1}, {&__pyx_n_s_tostring, __pyx_k_tostring, sizeof(__pyx_k_tostring), 0, 0, 1, 1}, {&__pyx_n_s_touch, __pyx_k_touch, sizeof(__pyx_k_touch), 0, 0, 1, 1}, @@ -44663,16 +45154,16 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { }; static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 87, __pyx_L1_error) - __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 117, __pyx_L1_error) - __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) __PYX_ERR(0, 182, __pyx_L1_error) - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 236, __pyx_L1_error) - __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 308, __pyx_L1_error) - __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 640, __pyx_L1_error) - __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 756, __pyx_L1_error) - __pyx_builtin_all = __Pyx_GetBuiltinName(__pyx_n_s_all); if (!__pyx_builtin_all) __PYX_ERR(0, 760, __pyx_L1_error) - __pyx_builtin_chr = __Pyx_GetBuiltinName(__pyx_n_s_chr); if (!__pyx_builtin_chr) __PYX_ERR(0, 760, __pyx_L1_error) - __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 841, __pyx_L1_error) - __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 897, __pyx_L1_error) + __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 118, __pyx_L1_error) + __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) __PYX_ERR(0, 189, __pyx_L1_error) + __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 243, __pyx_L1_error) + __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 315, __pyx_L1_error) + __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 647, __pyx_L1_error) + __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 763, __pyx_L1_error) + __pyx_builtin_all = __Pyx_GetBuiltinName(__pyx_n_s_all); if (!__pyx_builtin_all) __PYX_ERR(0, 767, __pyx_L1_error) + __pyx_builtin_chr = __Pyx_GetBuiltinName(__pyx_n_s_chr); if (!__pyx_builtin_chr) __PYX_ERR(0, 767, __pyx_L1_error) + __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 848, __pyx_L1_error) + __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 904, __pyx_L1_error) return 0; __pyx_L1_error:; return -1; @@ -44693,273 +45184,262 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":140 - * - * def tell(self): - * print("In GzipStream, tell() is called") # <<<<<<<<<<<<<< - * return self.__size - * - */ - __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_In_GzipStream_tell_is_called); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__18); - __Pyx_GIVEREF(__pyx_tuple__18); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":147 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":154 * * def error_fn(*args, **kwargs): * raise Exception("Error") # <<<<<<<<<<<<<< * * */ - __pyx_tuple__21 = PyTuple_Pack(1, __pyx_n_s_Error); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__21); - __Pyx_GIVEREF(__pyx_tuple__21); + __pyx_tuple__20 = PyTuple_Pack(1, __pyx_n_s_Error); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 154, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__20); + __Pyx_GIVEREF(__pyx_tuple__20); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":162 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":169 * * def write_text_to_gzip_file(fname, lines): * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< * for line in lines: * f.write('{}\n'.format(line).encode()) */ - __pyx_tuple__25 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__25); - __Pyx_GIVEREF(__pyx_tuple__25); + __pyx_tuple__24 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 169, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__24); + __Pyx_GIVEREF(__pyx_tuple__24); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":220 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":227 * def test_open_mode(): * * modes = [('r', True), # <<<<<<<<<<<<<< * ('rb', True), * (None, True), */ - __pyx_tuple__30 = PyTuple_Pack(2, __pyx_n_s_r, Py_True); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__30); - __Pyx_GIVEREF(__pyx_tuple__30); + __pyx_tuple__29 = PyTuple_Pack(2, __pyx_n_s_r, Py_True); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 227, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__29); + __Pyx_GIVEREF(__pyx_tuple__29); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":221 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":228 * * modes = [('r', True), * ('rb', True), # <<<<<<<<<<<<<< * (None, True), * ('rt', False), */ - __pyx_tuple__31 = PyTuple_Pack(2, __pyx_n_s_rb, Py_True); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); + __pyx_tuple__30 = PyTuple_Pack(2, __pyx_n_s_rb, Py_True); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 228, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__30); + __Pyx_GIVEREF(__pyx_tuple__30); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":222 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":229 * modes = [('r', True), * ('rb', True), * (None, True), # <<<<<<<<<<<<<< * ('rt', False), * ('w', False), */ - __pyx_tuple__32 = PyTuple_Pack(2, Py_None, Py_True); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__32); - __Pyx_GIVEREF(__pyx_tuple__32); + __pyx_tuple__31 = PyTuple_Pack(2, Py_None, Py_True); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 229, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__31); + __Pyx_GIVEREF(__pyx_tuple__31); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":223 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":230 * ('rb', True), * (None, True), * ('rt', False), # <<<<<<<<<<<<<< * ('w', False), * ('wt', False)] */ - __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_rt, Py_False); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__33); - __Pyx_GIVEREF(__pyx_tuple__33); + __pyx_tuple__32 = PyTuple_Pack(2, __pyx_n_s_rt, Py_False); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__32); + __Pyx_GIVEREF(__pyx_tuple__32); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":224 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":231 * (None, True), * ('rt', False), * ('w', False), # <<<<<<<<<<<<<< * ('wt', False)] * */ - __pyx_tuple__34 = PyTuple_Pack(2, __pyx_n_s_w, Py_False); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__34); - __Pyx_GIVEREF(__pyx_tuple__34); + __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_w, Py_False); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 231, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__33); + __Pyx_GIVEREF(__pyx_tuple__33); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":232 * ('rt', False), * ('w', False), * ('wt', False)] # <<<<<<<<<<<<<< * * # open from file */ - __pyx_tuple__35 = PyTuple_Pack(2, __pyx_n_s_wt, Py_False); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__35); - __Pyx_GIVEREF(__pyx_tuple__35); + __pyx_tuple__34 = PyTuple_Pack(2, __pyx_n_s_wt, Py_False); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 232, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__34); + __Pyx_GIVEREF(__pyx_tuple__34); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":229 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 * # open from file * with tempdir(): * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< * f.write(b'12345') * for mode, expect in modes: */ - __pyx_tuple__36 = PyTuple_Pack(2, __pyx_kp_s_f_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__36); - __Pyx_GIVEREF(__pyx_tuple__36); + __pyx_tuple__35 = PyTuple_Pack(2, __pyx_kp_s_f_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 236, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__35); + __Pyx_GIVEREF(__pyx_tuple__35); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":233 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":240 * for mode, expect in modes: * if expect: * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< * assert gzf.read() == b'12345' * else: */ - __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_f_gz); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__37); - __Pyx_GIVEREF(__pyx_tuple__37); + __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_f_gz); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 240, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__36); + __Pyx_GIVEREF(__pyx_tuple__36); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":244 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":251 * * # accept file-like without mode attribute * modes.append(('del', True)) # <<<<<<<<<<<<<< * * for mode, expect in modes: */ - __pyx_tuple__38 = PyTuple_Pack(2, __pyx_n_s_del, Py_True); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__38); - __Pyx_GIVEREF(__pyx_tuple__38); + __pyx_tuple__37 = PyTuple_Pack(2, __pyx_n_s_del, Py_True); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 251, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__37); + __Pyx_GIVEREF(__pyx_tuple__37); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":486 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":493 * # anywhere else should fail * f.seek(0) * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< * with pytest.raises(igzip.NotCoveredError): * f.seek(off) */ - __pyx_tuple__47 = PyTuple_Pack(4, __pyx_int_1, __pyx_int_2, __pyx_int_20, __pyx_int_200); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__47); - __Pyx_GIVEREF(__pyx_tuple__47); + __pyx_tuple__46 = PyTuple_Pack(4, __pyx_int_1, __pyx_int_2, __pyx_int_20, __pyx_int_200); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 493, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__46); + __Pyx_GIVEREF(__pyx_tuple__46); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":708 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 * * * def line_offset(idx): # <<<<<<<<<<<<<< * return sum([len(l) for l in lines[:idx]]) + idx * */ - __pyx_tuple__59 = PyTuple_Pack(2, __pyx_n_s_idx, __pyx_n_s_l); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 708, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__59); - __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_line_offset, 708, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 708, __pyx_L1_error) + __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_s_idx, __pyx_n_s_l); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 715, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__58); + __Pyx_GIVEREF(__pyx_tuple__58); + __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_line_offset, 715, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 715, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":760 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":767 * buf = bytearray([99 for i in range(len(buf))]) * assert f.readinto(buf) == 0 * assert all([b == chr(99) for b in buf.decode()]) # <<<<<<<<<<<<<< * * */ - __pyx_tuple__62 = PyTuple_Pack(1, __pyx_int_99); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 760, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__62); - __Pyx_GIVEREF(__pyx_tuple__62); + __pyx_tuple__61 = PyTuple_Pack(1, __pyx_int_99); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 767, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__61); + __Pyx_GIVEREF(__pyx_tuple__61); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":803 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":810 * # limit to one character before the end of the first line * l = f.readline(len(lines[0]) - 1) * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< * * # limit to the last character of the first line */ - __pyx_slice__65 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__65)) __PYX_ERR(0, 803, __pyx_L1_error) - __Pyx_GOTREF(__pyx_slice__65); - __Pyx_GIVEREF(__pyx_slice__65); + __pyx_slice__64 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__64)) __PYX_ERR(0, 810, __pyx_L1_error) + __Pyx_GOTREF(__pyx_slice__64); + __Pyx_GIVEREF(__pyx_slice__64); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":941 * * # make a test file * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __pyx_tuple__71 = PyTuple_Pack(1, __pyx_int_524288); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 934, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__71); - __Pyx_GIVEREF(__pyx_tuple__71); + __pyx_tuple__70 = PyTuple_Pack(1, __pyx_int_524288); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 941, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__70); + __Pyx_GIVEREF(__pyx_tuple__70); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1023 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1032 * * # make a test file * data = np.arange(5242, dtype=np.uint64) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tostring()) + * with open(tmp_filename, 'w') as f: + * f.write(repr(data)) */ - __pyx_tuple__74 = PyTuple_Pack(1, __pyx_int_5242); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 1023, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__74); - __Pyx_GIVEREF(__pyx_tuple__74); + __pyx_tuple__73 = PyTuple_Pack(1, __pyx_int_5242); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 1032, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__73); + __Pyx_GIVEREF(__pyx_tuple__73); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1072 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1083 * idxfname = op.join(td, 'test.gzidx') * * data = np.arange(65536, dtype=np.uint64) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tostring()) */ - __pyx_tuple__76 = PyTuple_Pack(1, __pyx_int_65536); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 1072, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__76); - __Pyx_GIVEREF(__pyx_tuple__76); + __pyx_tuple__75 = PyTuple_Pack(1, __pyx_int_65536); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 1083, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__75); + __Pyx_GIVEREF(__pyx_tuple__75); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1106 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1117 * while True: * * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __pyx_tuple__79 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_int_100000); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 1106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__79); - __Pyx_GIVEREF(__pyx_tuple__79); + __pyx_tuple__78 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_int_100000); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 1117, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__78); + __Pyx_GIVEREF(__pyx_tuple__78); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1155 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1166 * * with tempdir(): * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< * with open(fname+'.bin', 'wb') as f: * f.write(data.tobytes()) */ - __pyx_tuple__81 = PyTuple_Pack(2, __pyx_int_10000, __pyx_int_10000); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 1155, __pyx_L1_error) + __pyx_tuple__80 = PyTuple_Pack(2, __pyx_int_10000, __pyx_int_10000); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(0, 1166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__80); + __Pyx_GIVEREF(__pyx_tuple__80); + __pyx_tuple__81 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_tuple__80); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__81); __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_tuple__82 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_tuple__81); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 1155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__82); - __Pyx_GIVEREF(__pyx_tuple__82); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1181 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1192 * # if drop_handles=False, no pickle * with tempdir(): * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __pyx_tuple__83 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_int_50000); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(0, 1181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__83); - __Pyx_GIVEREF(__pyx_tuple__83); + __pyx_tuple__82 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_int_50000); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 1192, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__82); + __Pyx_GIVEREF(__pyx_tuple__82); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1263 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1274 * with tempdir(): * * data = np.arange(10000000, dtype=np.uint32) # <<<<<<<<<<<<<< * with gzip.open(fname, 'wb') as f: * f.write(data.tobytes()) */ - __pyx_tuple__87 = PyTuple_Pack(1, __pyx_int_10000000); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 1263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__87); - __Pyx_GIVEREF(__pyx_tuple__87); + __pyx_tuple__86 = PyTuple_Pack(1, __pyx_int_10000000); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 1274, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__86); + __Pyx_GIVEREF(__pyx_tuple__86); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1295 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1306 * data = np.ones(block, dtype=np.uint64).tobytes() * * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< * for i in range(48): * print('Generated to {}...'.format(block * i)) */ - __pyx_tuple__89 = PyTuple_Pack(2, __pyx_kp_s_test_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 1295, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__89); - __Pyx_GIVEREF(__pyx_tuple__89); + __pyx_tuple__88 = PyTuple_Pack(2, __pyx_kp_s_test_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 1306, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__88); + __Pyx_GIVEREF(__pyx_tuple__88); /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 * """ @@ -44968,10 +45448,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * self.__buf = deque() * self.__size = 0 */ - __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__91); - __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_init, 52, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 52, __pyx_L1_error) + __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 52, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__90); + __Pyx_GIVEREF(__pyx_tuple__90); + __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_init, 52, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 52, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 * self.__pos = 0 @@ -44980,10 +45460,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * return self.__size * */ - __pyx_tuple__92 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__92); - __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_len, 57, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 57, __pyx_L1_error) + __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 57, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__91); + __Pyx_GIVEREF(__pyx_tuple__91); + __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_len, 57, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 57, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 * return self.__size @@ -44992,10 +45472,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * self.__buf.append(data) * self.__size += len(data) */ - __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_data); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__93); - __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_write, 60, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 60, __pyx_L1_error) + __pyx_tuple__92 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_data); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 60, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__92); + __Pyx_GIVEREF(__pyx_tuple__92); + __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_write, 60, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 60, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") @@ -45004,13 +45484,13 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * if size is None: * size = self.__size */ - __pyx_tuple__94 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_ret_list, __pyx_n_s_s, __pyx_n_s_remainder, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 65, __pyx_L1_error) + __pyx_tuple__93 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_ret_list, __pyx_n_s_s, __pyx_n_s_remainder, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 65, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__93); + __Pyx_GIVEREF(__pyx_tuple__93); + __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 65, __pyx_L1_error) + __pyx_tuple__94 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__94); __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 65, __pyx_L1_error) - __pyx_tuple__95 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__95); - __Pyx_GIVEREF(__pyx_tuple__95); /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 * return ret @@ -45019,10 +45499,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * b = bytearray() * for i in range(0, min(size, len(self.__buf))): */ - __pyx_tuple__96 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_b, __pyx_n_s_i); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__96); - __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_peek, 85, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 85, __pyx_L1_error) + __pyx_tuple__95 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_b, __pyx_n_s_i); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 85, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__95); + __Pyx_GIVEREF(__pyx_tuple__95); + __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_peek, 85, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 85, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":91 * return bytes(b)[:size] @@ -45031,10 +45511,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * pass * */ - __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__97); - __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_flush, 91, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 91, __pyx_L1_error) + __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 91, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__96); + __Pyx_GIVEREF(__pyx_tuple__96); + __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_flush, 91, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 91, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":94 * pass @@ -45043,10 +45523,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * pass * */ - __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__98); - __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_close, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 94, __pyx_L1_error) + __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 94, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__97); + __Pyx_GIVEREF(__pyx_tuple__97); + __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_close, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 94, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 * pass @@ -45055,10 +45535,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * return self.__pos * */ - __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__99); - __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_tell, 97, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 97, __pyx_L1_error) + __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__98); + __Pyx_GIVEREF(__pyx_tuple__98); + __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_tell, 97, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 97, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 * return self.__pos @@ -45067,10 +45547,10 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * return True * */ - __pyx_tuple__100 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__100); - __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_bool, 100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 100, __pyx_L1_error) + __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 100, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__99); + __Pyx_GIVEREF(__pyx_tuple__99); + __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_bool, 100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 100, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 * """ @@ -45079,580 +45559,580 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { * self.__input = fileobj * self.__buffer = BytesBuffer() */ - __pyx_tuple__101 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_fileobj); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__101); - __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_init, 108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 108, __pyx_L1_error) + __pyx_tuple__100 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_fileobj); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 108, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__100); + __Pyx_GIVEREF(__pyx_tuple__100); + __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_init, 108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 108, __pyx_L1_error) /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 * self.__size = 0 * * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< - * while num_bytes is None or len(self.__buffer) < num_bytes: - * s = self.__input.read(num_bytes) + * try: + * while num_bytes is None or len(self.__buffer) < num_bytes: */ - __pyx_tuple__102 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_num_bytes, __pyx_n_s_s); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 114, __pyx_L1_error) + __pyx_tuple__101 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_num_bytes, __pyx_n_s_s, __pyx_n_s_e); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 114, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__101); + __Pyx_GIVEREF(__pyx_tuple__101); + __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_fill_buf_bytes, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 114, __pyx_L1_error) + __pyx_tuple__102 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__102); __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_fill_buf_bytes, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 114, __pyx_L1_error) - __pyx_tuple__103 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__103); - __Pyx_GIVEREF(__pyx_tuple__103); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 - * self.__gzip.write(s) # gzip the current file + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":127 + * raise e * * def read(self, num_bytes=None): # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + * try: + * self._fill_buf_bytes(num_bytes) */ - __pyx_tuple__104 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_num_bytes, __pyx_n_s_data); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_tuple__103 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_num_bytes, __pyx_n_s_data, __pyx_n_s_e); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 127, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__103); + __Pyx_GIVEREF(__pyx_tuple__103); + __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read, 127, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 127, __pyx_L1_error) + __pyx_tuple__104 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__104); __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read, 123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 123, __pyx_L1_error) - __pyx_tuple__105 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__105); - __Pyx_GIVEREF(__pyx_tuple__105); - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 - * return data + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + * * * def close(self): # <<<<<<<<<<<<<< * self.__input.close() * */ - __pyx_tuple__106 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__106); - __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_close, 132, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 132, __pyx_L1_error) + __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__105); + __Pyx_GIVEREF(__pyx_tuple__105); + __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_close, 139, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 139, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":142 * self.__input.close() * * def peek(self, num_bytes): # <<<<<<<<<<<<<< * self._fill_buf_bytes(num_bytes) * return self.__buffer.peek(num_bytes) */ - __pyx_tuple__107 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_num_bytes); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__107); - __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_peek, 135, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 135, __pyx_L1_error) + __pyx_tuple__106 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_num_bytes); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 142, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__106); + __Pyx_GIVEREF(__pyx_tuple__106); + __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_peek, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 142, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 * return self.__buffer.peek(num_bytes) * * def tell(self): # <<<<<<<<<<<<<< - * print("In GzipStream, tell() is called") + * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") * return self.__size */ - __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__108); - __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_tell, 139, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 139, __pyx_L1_error) + __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__107); + __Pyx_GIVEREF(__pyx_tuple__107); + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_tell, 146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 146, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 * return self.__size * * def seekable(self): # <<<<<<<<<<<<<< * return False * */ - __pyx_tuple__109 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__109); - __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_seekable, 143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 143, __pyx_L1_error) + __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 150, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__108); + __Pyx_GIVEREF(__pyx_tuple__108); + __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_seekable, 150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 150, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 * return False * * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< * raise Exception("Error") * */ - __pyx_tuple__110 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__110); - __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_error_fn, 146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 146, __pyx_L1_error) + __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 153, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__109); + __Pyx_GIVEREF(__pyx_tuple__109); + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_error_fn, 153, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 153, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":157 * * * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< * * if seek: */ - __pyx_tuple__111 = PyTuple_Pack(5, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_seek, __pyx_n_s_bytes, __pyx_n_s_val); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__111); - __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read_element, 150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 150, __pyx_L1_error) + __pyx_tuple__110 = PyTuple_Pack(5, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_seek, __pyx_n_s_bytes, __pyx_n_s_val); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 157, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__110); + __Pyx_GIVEREF(__pyx_tuple__110); + __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read_element, 157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 157, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":161 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":168 * * * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< * with gzip.open(fname, mode='wb') as f: * for line in lines: */ - __pyx_tuple__112 = PyTuple_Pack(4, __pyx_n_s_fname, __pyx_n_s_lines, __pyx_n_s_f, __pyx_n_s_line); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__112); - __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_write_text_to_gzip_file, 161, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 161, __pyx_L1_error) + __pyx_tuple__111 = PyTuple_Pack(4, __pyx_n_s_fname, __pyx_n_s_lines, __pyx_n_s_f, __pyx_n_s_line); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 168, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__111); + __Pyx_GIVEREF(__pyx_tuple__111); + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_write_text_to_gzip_file, 168, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 168, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":167 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 * * * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< * * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) */ - __pyx_tuple__113 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__113); - __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_close, 167, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 167, __pyx_L1_error) + __pyx_tuple__112 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 174, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__112); + __Pyx_GIVEREF(__pyx_tuple__112); + __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_close, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 174, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 * f.close() * * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< * * f1 = None */ - __pyx_tuple__114 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f1, __pyx_n_s_f2, __pyx_n_s_element, __pyx_n_s_readval1, __pyx_n_s_readval2); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__114); - __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_function, 185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 185, __pyx_L1_error) + __pyx_tuple__113 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f1, __pyx_n_s_f2, __pyx_n_s_element, __pyx_n_s_readval1, __pyx_n_s_readval2); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 192, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__113); + __Pyx_GIVEREF(__pyx_tuple__113); + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_function, 192, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 192, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 * * * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: */ - __pyx_tuple__115 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__115); - __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_close_ctxmanager, 207, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 207, __pyx_L1_error) + __pyx_tuple__114 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 214, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__114); + __Pyx_GIVEREF(__pyx_tuple__114); + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_close_ctxmanager, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 214, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 * * * def test_open_mode(): # <<<<<<<<<<<<<< * * modes = [('r', True), */ - __pyx_tuple__116 = PyTuple_Pack(7, __pyx_n_s_modes, __pyx_n_s_f, __pyx_n_s_mode, __pyx_n_s_expect, __pyx_n_s_gzf, __pyx_n_s_BytesIOWithMode, __pyx_n_s_fileobj); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 218, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__116); - __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_mode, 218, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 218, __pyx_L1_error) + __pyx_tuple__115 = PyTuple_Pack(7, __pyx_n_s_modes, __pyx_n_s_f, __pyx_n_s_mode, __pyx_n_s_expect, __pyx_n_s_gzf, __pyx_n_s_BytesIOWithMode, __pyx_n_s_fileobj); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 225, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__115); + __Pyx_GIVEREF(__pyx_tuple__115); + __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_mode, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 225, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 * * * def test_atts(testfile, drop): # <<<<<<<<<<<<<< * * modes = [None, 'rb', 'r'] */ - __pyx_tuple__117 = PyTuple_Pack(5, __pyx_n_s_testfile, __pyx_n_s_drop, __pyx_n_s_modes, __pyx_n_s_m, __pyx_n_s_f); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__117); - __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_atts, 266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 266, __pyx_L1_error) + __pyx_tuple__116 = PyTuple_Pack(5, __pyx_n_s_testfile, __pyx_n_s_drop, __pyx_n_s_modes, __pyx_n_s_m, __pyx_n_s_f); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 273, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__116); + __Pyx_GIVEREF(__pyx_tuple__116); + __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_atts, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 273, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":291 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 * * * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __pyx_tuple__118 = PyTuple_Pack(6, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_gf, __pyx_n_s_f); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 291, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__118); - __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_init_failure_cases, 291, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 291, __pyx_L1_error) + __pyx_tuple__117 = PyTuple_Pack(6, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_gf, __pyx_n_s_f); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 298, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__117); + __Pyx_GIVEREF(__pyx_tuple__117); + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_init_failure_cases, 298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 298, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 * * * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< * with tempdir() as td: * testfile = op.join(td, 'test.gz') */ - __pyx_tuple__119 = PyTuple_Pack(7, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_gf1, __pyx_n_s_gf2, __pyx_n_s_gf3); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 331, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__119); - __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_init_success_cases, 331, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 331, __pyx_L1_error) + __pyx_tuple__118 = PyTuple_Pack(7, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_gf1, __pyx_n_s_gf2, __pyx_n_s_gf3); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 338, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__118); + __Pyx_GIVEREF(__pyx_tuple__118); + __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_init_success_cases, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 338, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 * * * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< * * f = open(testfile, 'rb') */ - __pyx_tuple__120 = PyTuple_Pack(9, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_file_like_object, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(0, 352, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__120); - __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(5, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_create_from_open_handle, 352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_tuple__119 = PyTuple_Pack(9, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_file_like_object, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 359, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__119); + __Pyx_GIVEREF(__pyx_tuple__119); + __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(5, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_create_from_open_handle, 359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 359, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":378 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 * * * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< * * f = None */ - __pyx_tuple__121 = PyTuple_Pack(10, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f, __pyx_n_s_gzf1, __pyx_n_s_gzf2, __pyx_n_s_gzf3, __pyx_n_s_element, __pyx_n_s_readval1, __pyx_n_s_readval2, __pyx_n_s_readval3); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 378, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__121); - __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_accept_filename_or_fileobj, 378, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 378, __pyx_L1_error) + __pyx_tuple__120 = PyTuple_Pack(10, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f, __pyx_n_s_gzf1, __pyx_n_s_gzf2, __pyx_n_s_gzf3, __pyx_n_s_element, __pyx_n_s_readval1, __pyx_n_s_readval2, __pyx_n_s_readval3); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(0, 385, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__120); + __Pyx_GIVEREF(__pyx_tuple__120); + __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_accept_filename_or_fileobj, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 385, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":418 * * * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< * """When a fileobj with an associated fileno is passed to IndexedGzipFile, * the fileobj's file descriptor (fd) should be utilized by zran.c */ - __pyx_tuple__122 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__122); - __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_prioritize_fd_over_f, 411, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 411, __pyx_L1_error) + __pyx_tuple__121 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 418, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__121); + __Pyx_GIVEREF(__pyx_tuple__121); + __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_prioritize_fd_over_f, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 418, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":441 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":448 * * * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< * * # When drop_handles is False */ - __pyx_tuple__123 = PyTuple_Pack(9, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_f, __pyx_n_s_fid, __pyx_n_s_i, __pyx_n_s_element, __pyx_n_s_readval, __pyx_n_s_gzf); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 441, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__123); - __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_handles_not_dropped, 441, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 441, __pyx_L1_error) + __pyx_tuple__122 = PyTuple_Pack(9, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_f, __pyx_n_s_fid, __pyx_n_s_i, __pyx_n_s_element, __pyx_n_s_readval, __pyx_n_s_gzf); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 448, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__122); + __Pyx_GIVEREF(__pyx_tuple__122); + __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_handles_not_dropped, 448, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 448, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 * * * def test_manual_build(): # <<<<<<<<<<<<<< * with tempdir() as td: * nelems = 65536 */ - __pyx_tuple__124 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_nelems, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_off, __pyx_n_s_readval, __pyx_n_s_i, __pyx_n_s_element); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 474, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__124); - __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_manual_build, 474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(0, 474, __pyx_L1_error) + __pyx_tuple__123 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_nelems, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_off, __pyx_n_s_readval, __pyx_n_s_i, __pyx_n_s_element); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 481, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__123); + __Pyx_GIVEREF(__pyx_tuple__123); + __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_manual_build, 481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 481, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":518 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 * * * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< * * if use_mmap: */ - __pyx_tuple__125 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_use_mmap, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_data); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 518, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__125); - __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_all, 518, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 518, __pyx_L1_error) + __pyx_tuple__124 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_use_mmap, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_data); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 525, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__124); + __Pyx_GIVEREF(__pyx_tuple__124); + __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_all, 525, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 525, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":533 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":540 * * * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< * * */ - __pyx_tuple__126 = PyTuple_Pack(2, __pyx_n_s_fileobj, __pyx_n_s_f); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 533, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__126); - __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_simple_read_with_null_paddi, 533, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 533, __pyx_L1_error) + __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_fileobj, __pyx_n_s_f); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__125); + __Pyx_GIVEREF(__pyx_tuple__125); + __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_simple_read_with_null_paddi, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 540, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":558 * * * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< * * if use_mmap: */ - __pyx_tuple__127 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_use_mmap, __pyx_n_s_fileobj, __pyx_n_s_f, __pyx_n_s_data); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(0, 551, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__127); - __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_with_null_padding, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 551, __pyx_L1_error) + __pyx_tuple__126 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_use_mmap, __pyx_n_s_fileobj, __pyx_n_s_f, __pyx_n_s_data); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 558, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__126); + __Pyx_GIVEREF(__pyx_tuple__126); + __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_with_null_padding, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 558, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":571 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 * * * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< * with tempdir() as tdir: * nelems = 65536 */ - __pyx_tuple__128 = PyTuple_Pack(8, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_tdir, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_data1, __pyx_n_s_data2); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 571, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__128); - __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_beyond_end, 571, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 571, __pyx_L1_error) + __pyx_tuple__127 = PyTuple_Pack(8, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_tdir, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_data1, __pyx_n_s_data2); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(0, 578, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__127); + __Pyx_GIVEREF(__pyx_tuple__127); + __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_beyond_end, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 578, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":594 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":601 * * * def test_seek(concat): # <<<<<<<<<<<<<< * with tempdir() as tdir: * nelems = 262144 # == 2MB */ - __pyx_tuple__129 = PyTuple_Pack(9, __pyx_n_s_concat, __pyx_n_s_tdir, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_results, __pyx_n_s_f, __pyx_n_s_data, __pyx_n_s_expected, __pyx_n_s_val); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(0, 594, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__129); - __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek, 594, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 594, __pyx_L1_error) + __pyx_tuple__128 = PyTuple_Pack(9, __pyx_n_s_concat, __pyx_n_s_tdir, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_results, __pyx_n_s_f, __pyx_n_s_data, __pyx_n_s_expected, __pyx_n_s_val); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 601, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__128); + __Pyx_GIVEREF(__pyx_tuple__128); + __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek, 601, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 601, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":639 * * * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: */ - __pyx_tuple__130 = PyTuple_Pack(11, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_seekelems, __pyx_n_s_i, __pyx_n_s_testval, __pyx_n_s_readval, __pyx_n_s_ft); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(0, 632, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__130); - __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(5, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek_and_read, 632, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 632, __pyx_L1_error) + __pyx_tuple__129 = PyTuple_Pack(11, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_seekelems, __pyx_n_s_i, __pyx_n_s_testval, __pyx_n_s_readval, __pyx_n_s_ft); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(0, 639, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__129); + __Pyx_GIVEREF(__pyx_tuple__129); + __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(5, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek_and_read, 639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 639, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":650 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":657 * * * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< * * filesize = nelems * 8 */ - __pyx_tuple__131 = PyTuple_Pack(13, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_filesize, __pyx_n_s_f, __pyx_n_s_seeklocs, __pyx_n_s_seekloc, __pyx_n_s_st, __pyx_n_s_ft, __pyx_n_s_eofseeks, __pyx_n_s_es); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__131); - __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(5, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek_and_tell, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 650, __pyx_L1_error) + __pyx_tuple__130 = PyTuple_Pack(13, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_filesize, __pyx_n_s_f, __pyx_n_s_seeklocs, __pyx_n_s_seekloc, __pyx_n_s_st, __pyx_n_s_ft, __pyx_n_s_eofseeks, __pyx_n_s_es); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(0, 657, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__130); + __Pyx_GIVEREF(__pyx_tuple__130); + __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(5, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek_and_tell, 657, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 657, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 * * * def test_pread(): # <<<<<<<<<<<<<< * with tempdir() as td: * nelems = 1024 */ - __pyx_tuple__132 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_off, __pyx_n_s_data, __pyx_n_s_val); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 684, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__132); - __Pyx_GIVEREF(__pyx_tuple__132); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_pread, 684, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 684, __pyx_L1_error) + __pyx_tuple__131 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_off, __pyx_n_s_data, __pyx_n_s_val); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(0, 691, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__131); + __Pyx_GIVEREF(__pyx_tuple__131); + __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_pread, 691, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 691, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 * * * def test_readinto(drop): # <<<<<<<<<<<<<< * lines = textwrap.dedent(""" * line 1 */ - __pyx_tuple__133 = PyTuple_Pack(13, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_line_offset, __pyx_n_s_line_offset, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_buf, __pyx_n_s_offset, __pyx_n_s_filelen, __pyx_n_s_l, __pyx_n_s_i, __pyx_n_s_b); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(0, 698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__133); - __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readinto, 698, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 698, __pyx_L1_error) + __pyx_tuple__132 = PyTuple_Pack(13, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_line_offset, __pyx_n_s_line_offset, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_buf, __pyx_n_s_offset, __pyx_n_s_filelen, __pyx_n_s_l, __pyx_n_s_i, __pyx_n_s_b); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 705, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__132); + __Pyx_GIVEREF(__pyx_tuple__132); + __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readinto, 705, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 705, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 * * * def test_readline(drop): # <<<<<<<<<<<<<< * lines = textwrap.dedent(""" * this is */ - __pyx_tuple__134 = PyTuple_Pack(7, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_seekpos, __pyx_n_s_line); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 763, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__134); - __Pyx_GIVEREF(__pyx_tuple__134); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readline, 763, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 763, __pyx_L1_error) + __pyx_tuple__133 = PyTuple_Pack(7, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_seekpos, __pyx_n_s_line); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(0, 770, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__133); + __Pyx_GIVEREF(__pyx_tuple__133); + __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readline, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 770, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":791 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":798 * * * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< * * lines = ['line one', 'line two'] */ - __pyx_tuple__135 = PyTuple_Pack(6, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_l); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(0, 791, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__135); - __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readline_sizelimit, 791, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 791, __pyx_L1_error) + __pyx_tuple__134 = PyTuple_Pack(6, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_l); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 798, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__134); + __Pyx_GIVEREF(__pyx_tuple__134); + __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readline_sizelimit, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 798, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":821 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":828 * * * def test_readlines(drop): # <<<<<<<<<<<<<< * lines = textwrap.dedent(""" * this is */ - __pyx_tuple__136 = PyTuple_Pack(8, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_gotlines, __pyx_n_s_expl, __pyx_n_s_gotl); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 821, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__136); - __Pyx_GIVEREF(__pyx_tuple__136); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readlines, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 821, __pyx_L1_error) + __pyx_tuple__135 = PyTuple_Pack(8, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_gotlines, __pyx_n_s_expl, __pyx_n_s_gotl); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(0, 828, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__135); + __Pyx_GIVEREF(__pyx_tuple__135); + __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readlines, 828, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 828, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":847 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 * * * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< * * lines = ['line one', 'line two'] */ - __pyx_tuple__137 = PyTuple_Pack(9, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_data, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_limits, __pyx_n_s_f, __pyx_n_s_lim, __pyx_n_s_gotlines); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(0, 847, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__137); - __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readlines_sizelimit, 847, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 847, __pyx_L1_error) + __pyx_tuple__136 = PyTuple_Pack(9, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_data, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_limits, __pyx_n_s_f, __pyx_n_s_lim, __pyx_n_s_gotlines); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 854, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__136); + __Pyx_GIVEREF(__pyx_tuple__136); + __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readlines_sizelimit, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 854, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":876 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":883 * * * def test_iter(drop): # <<<<<<<<<<<<<< * * lines = textwrap.dedent(""" */ - __pyx_tuple__138 = PyTuple_Pack(7, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_gotline); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__138); - __Pyx_GIVEREF(__pyx_tuple__138); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_iter, 876, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 876, __pyx_L1_error) + __pyx_tuple__137 = PyTuple_Pack(7, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_gotline); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(0, 883, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__137); + __Pyx_GIVEREF(__pyx_tuple__137); + __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_iter, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 883, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 * * * def test_get_index_seek_points(): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __pyx_tuple__139 = PyTuple_Pack(9, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_spacing, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_expected_number_of_seek_points, __pyx_n_s_seek_points, __pyx_n_s_uncmp_offsets, __pyx_n_s_point); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(0, 901, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__139); - __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_get_index_seek_points, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 901, __pyx_L1_error) + __pyx_tuple__138 = PyTuple_Pack(9, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_spacing, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_expected_number_of_seek_points, __pyx_n_s_seek_points, __pyx_n_s_uncmp_offsets, __pyx_n_s_point); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 908, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__138); + __Pyx_GIVEREF(__pyx_tuple__138); + __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_get_index_seek_points, 908, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 908, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 * * * def test_import_export_index(): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __pyx_tuple__140 = PyTuple_Pack(7, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_points, __pyx_n_s_val); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__140); - __Pyx_GIVEREF(__pyx_tuple__140); - __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_import_export_index, 927, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 927, __pyx_L1_error) + __pyx_tuple__139 = PyTuple_Pack(7, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_points, __pyx_n_s_val); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(0, 934, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__139); + __Pyx_GIVEREF(__pyx_tuple__139); + __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_import_export_index, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 934, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 * * * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __pyx_tuple__141 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_points, __pyx_n_s_idxf, __pyx_n_s_val); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(0, 960, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__141); - __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_import_export_index_open_fi, 960, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 960, __pyx_L1_error) + __pyx_tuple__140 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_points, __pyx_n_s_idxf, __pyx_n_s_val); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 967, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__140); + __Pyx_GIVEREF(__pyx_tuple__140); + __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_import_export_index_open_fi, 967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 967, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 * * * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< * with tempdir() as td: * fname = op.join(td, 'test.gz') */ - __pyx_tuple__142 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_b, __pyx_n_s_fileobj, __pyx_n_s_points); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(0, 1017, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__142); - __Pyx_GIVEREF(__pyx_tuple__142); - __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_build_index_from_unseekable, 1017, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(0, 1017, __pyx_L1_error) + __pyx_tuple__141 = PyTuple_Pack(9, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_tmp_filename, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_b, __pyx_n_s_fileobj, __pyx_n_s_points); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(0, 1024, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__141); + __Pyx_GIVEREF(__pyx_tuple__141); + __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_build_index_from_unseekable, 1024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 1024, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1066 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1077 * * * def test_wrapper_class(): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __pyx_tuple__143 = PyTuple_Pack(5, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(0, 1066, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__143); - __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_wrapper_class, 1066, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) __PYX_ERR(0, 1066, __pyx_L1_error) + __pyx_tuple__142 = PyTuple_Pack(5, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(0, 1077, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__142); + __Pyx_GIVEREF(__pyx_tuple__142); + __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_wrapper_class, 1077, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 1077, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 * * * def gcd(num): # <<<<<<<<<<<<<< * if num <= 3: * return 1 */ - __pyx_tuple__144 = PyTuple_Pack(3, __pyx_n_s_num, __pyx_n_s_candidates, __pyx_n_s_divisor); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 1087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__144); - __Pyx_GIVEREF(__pyx_tuple__144); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_gcd, 1087, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(0, 1087, __pyx_L1_error) + __pyx_tuple__143 = PyTuple_Pack(3, __pyx_n_s_num, __pyx_n_s_candidates, __pyx_n_s_divisor); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__143); + __Pyx_GIVEREF(__pyx_tuple__143); + __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_gcd, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 1098, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 * * * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< * * fname = 'test.gz' */ - __pyx_tuple__145 = PyTuple_Pack(6, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_fsize, __pyx_n_s_bufsz, __pyx_n_s_read); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(0, 1098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__145); - __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_size_multiple_of_readbuf, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 1098, __pyx_L1_error) + __pyx_tuple__144 = PyTuple_Pack(6, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_fsize, __pyx_n_s_bufsz, __pyx_n_s_read); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 1109, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__144); + __Pyx_GIVEREF(__pyx_tuple__144); + __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_size_multiple_of_readbuf, 1109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(0, 1109, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 * * * def test_picklable(): # <<<<<<<<<<<<<< * * # default behaviour is for drop_handles=True, */ - __pyx_tuple__146 = PyTuple_Pack(7, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_first50MB, __pyx_n_s_pickled, __pyx_n_s_second50MB); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(0, 1147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__146); - __Pyx_GIVEREF(__pyx_tuple__146); - __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_picklable, 1147, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 1147, __pyx_L1_error) + __pyx_tuple__145 = PyTuple_Pack(7, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_first50MB, __pyx_n_s_pickled, __pyx_n_s_second50MB); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(0, 1158, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__145); + __Pyx_GIVEREF(__pyx_tuple__145); + __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_picklable, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(0, 1158, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 * * * def test_copyable(): # <<<<<<<<<<<<<< * fname = 'test.gz' * */ - __pyx_tuple__147 = PyTuple_Pack(9, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_gzf_copy, __pyx_n_s_first50MB, __pyx_n_s_gzf_copy2, __pyx_n_s_second50MB, __pyx_n_s_fobj); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(0, 1194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__147); - __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_copyable, 1194, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(0, 1194, __pyx_L1_error) + __pyx_tuple__146 = PyTuple_Pack(9, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_gzf_copy, __pyx_n_s_first50MB, __pyx_n_s_gzf_copy2, __pyx_n_s_second50MB, __pyx_n_s_fobj); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(0, 1205, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__146); + __Pyx_GIVEREF(__pyx_tuple__146); + __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_copyable, 1205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) __PYX_ERR(0, 1205, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1250 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 * * * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< * gzf.seek(offset) * bytes = gzf.read(size) */ - __pyx_tuple__148 = PyTuple_Pack(5, __pyx_n_s_gzf, __pyx_n_s_size, __pyx_n_s_offset, __pyx_n_s_bytes, __pyx_n_s_val); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__148); - __Pyx_GIVEREF(__pyx_tuple__148); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_mpfunc, 1250, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(0, 1250, __pyx_L1_error) + __pyx_tuple__147 = PyTuple_Pack(5, __pyx_n_s_gzf, __pyx_n_s_size, __pyx_n_s_offset, __pyx_n_s_bytes, __pyx_n_s_val); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(0, 1261, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__147); + __Pyx_GIVEREF(__pyx_tuple__147); + __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_mpfunc, 1261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(0, 1261, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1259 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 * * * def test_multiproc_serialise(): # <<<<<<<<<<<<<< * fname = 'test.gz' * with tempdir(): */ - __pyx_tuple__149 = PyTuple_Pack(11, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_size, __pyx_n_s_offsets, __pyx_n_s_func, __pyx_n_s_pool, __pyx_n_s_results, __pyx_n_s_expected, __pyx_n_s_off); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(0, 1259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__149); - __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_multiproc_serialise, 1259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(0, 1259, __pyx_L1_error) + __pyx_tuple__148 = PyTuple_Pack(11, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_size, __pyx_n_s_offsets, __pyx_n_s_func, __pyx_n_s_pool, __pyx_n_s_results, __pyx_n_s_expected, __pyx_n_s_off); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 1270, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__148); + __Pyx_GIVEREF(__pyx_tuple__148); + __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_multiproc_serialise, 1270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(0, 1270, __pyx_L1_error) - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 * * * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< * with tempdir(): * */ - __pyx_tuple__150 = PyTuple_Pack(11, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_block, __pyx_n_s_nelems, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_seekelems, __pyx_n_s_testval, __pyx_n_s_readval, __pyx_n_s_ft); if (unlikely(!__pyx_tuple__150)) __PYX_ERR(0, 1287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__150); - __Pyx_GIVEREF(__pyx_tuple__150); - __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_32bit_overflow, 1287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) __PYX_ERR(0, 1287, __pyx_L1_error) + __pyx_tuple__149 = PyTuple_Pack(11, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_block, __pyx_n_s_nelems, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_seekelems, __pyx_n_s_testval, __pyx_n_s_readval, __pyx_n_s_ft); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(0, 1298, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__149); + __Pyx_GIVEREF(__pyx_tuple__149); + __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_32bit_overflow, 1298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -45745,7 +46225,7 @@ static int __Pyx_modinit_type_init_code(void) { int __pyx_clineno = 0; __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); /*--- Type init code ---*/ - if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto) < 0) __PYX_ERR(0, 698, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto) < 0) __PYX_ERR(0, 705, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_print = 0; #endif @@ -46013,9 +46493,9 @@ if (!__Pyx_RefNanny) { __Pyx_TraceLine(10,0,__PYX_ERR(0, 10, __pyx_L1_error)) __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s__90); - __Pyx_GIVEREF(__pyx_n_s__90); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__90); + __Pyx_INCREF(__pyx_n_s__89); + __Pyx_GIVEREF(__pyx_n_s__89); + PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__89); __pyx_t_2 = __Pyx_Import(__pyx_n_s_os_path, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -46479,7 +46959,7 @@ if (!__Pyx_RefNanny) { __Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L1_error)) __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read, 0, __pyx_n_s_BytesBuffer_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__95); + __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__94); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_read, __pyx_t_4) < 0) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; @@ -46606,80 +47086,80 @@ if (!__Pyx_RefNanny) { * self.__size = 0 * * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< - * while num_bytes is None or len(self.__buffer) < num_bytes: - * s = self.__input.read(num_bytes) + * try: + * while num_bytes is None or len(self.__buffer) < num_bytes: */ __Pyx_TraceLine(114,0,__PYX_ERR(0, 114, __pyx_L1_error)) __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes, 0, __pyx_n_s_GzipStream__fill_buf_bytes, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__103); + __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__102); if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_fill_buf_bytes, __pyx_t_5) < 0) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 - * self.__gzip.write(s) # gzip the current file + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":127 + * raise e * * def read(self, num_bytes=None): # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * # print(f"In GzipStream read(). num_bytes = {num_bytes}") + * try: + * self._fill_buf_bytes(num_bytes) */ - __Pyx_TraceLine(123,0,__PYX_ERR(0, 123, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read, 0, __pyx_n_s_GzipStream_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_TraceLine(127,0,__PYX_ERR(0, 127, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read, 0, __pyx_n_s_GzipStream_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__105); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_read, __pyx_t_5) < 0) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__104); + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_read, __pyx_t_5) < 0) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 - * return data + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + * * * def close(self): # <<<<<<<<<<<<<< * self.__input.close() * */ - __Pyx_TraceLine(132,0,__PYX_ERR(0, 132, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close, 0, __pyx_n_s_GzipStream_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_TraceLine(139,0,__PYX_ERR(0, 139, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close, 0, __pyx_n_s_GzipStream_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_close, __pyx_t_5) < 0) __PYX_ERR(0, 132, __pyx_L1_error) + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_close, __pyx_t_5) < 0) __PYX_ERR(0, 139, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":142 * self.__input.close() * * def peek(self, num_bytes): # <<<<<<<<<<<<<< * self._fill_buf_bytes(num_bytes) * return self.__buffer.peek(num_bytes) */ - __Pyx_TraceLine(135,0,__PYX_ERR(0, 135, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek, 0, __pyx_n_s_GzipStream_peek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 135, __pyx_L1_error) + __Pyx_TraceLine(142,0,__PYX_ERR(0, 142, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek, 0, __pyx_n_s_GzipStream_peek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_peek, __pyx_t_5) < 0) __PYX_ERR(0, 135, __pyx_L1_error) + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_peek, __pyx_t_5) < 0) __PYX_ERR(0, 142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 * return self.__buffer.peek(num_bytes) * * def tell(self): # <<<<<<<<<<<<<< - * print("In GzipStream, tell() is called") + * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") * return self.__size */ - __Pyx_TraceLine(139,0,__PYX_ERR(0, 139, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell, 0, __pyx_n_s_GzipStream_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 139, __pyx_L1_error) + __Pyx_TraceLine(146,0,__PYX_ERR(0, 146, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell, 0, __pyx_n_s_GzipStream_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_tell, __pyx_t_5) < 0) __PYX_ERR(0, 139, __pyx_L1_error) + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_tell, __pyx_t_5) < 0) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 * return self.__size * * def seekable(self): # <<<<<<<<<<<<<< * return False * */ - __Pyx_TraceLine(143,0,__PYX_ERR(0, 143, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable, 0, __pyx_n_s_GzipStream_seekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error) + __Pyx_TraceLine(150,0,__PYX_ERR(0, 150, __pyx_L1_error)) + __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable, 0, __pyx_n_s_GzipStream_seekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_seekable, __pyx_t_5) < 0) __PYX_ERR(0, 143, __pyx_L1_error) + if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_seekable, __pyx_t_5) < 0) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":104 @@ -46698,537 +47178,537 @@ if (!__Pyx_RefNanny) { __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 * return False * * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< * raise Exception("Error") * */ - __Pyx_TraceLine(146,0,__PYX_ERR(0, 146, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) + __Pyx_TraceLine(153,0,__PYX_ERR(0, 153, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_error_fn, __pyx_t_1) < 0) __PYX_ERR(0, 146, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_error_fn, __pyx_t_1) < 0) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":157 * * * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< * * if seek: */ - __Pyx_TraceLine(150,0,__PYX_ERR(0, 150, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error) + __Pyx_TraceLine(157,0,__PYX_ERR(0, 157, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_read_element, __pyx_t_1) < 0) __PYX_ERR(0, 150, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_read_element, __pyx_t_1) < 0) __PYX_ERR(0, 157, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":161 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":168 * * * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< * with gzip.open(fname, mode='wb') as f: * for line in lines: */ - __Pyx_TraceLine(161,0,__PYX_ERR(0, 161, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error) + __Pyx_TraceLine(168,0,__PYX_ERR(0, 168, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_write_text_to_gzip_file, __pyx_t_1) < 0) __PYX_ERR(0, 161, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_write_text_to_gzip_file, __pyx_t_1) < 0) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":167 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 * * * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< * * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) */ - __Pyx_TraceLine(167,0,__PYX_ERR(0, 167, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error) + __Pyx_TraceLine(174,0,__PYX_ERR(0, 174, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_close, __pyx_t_1) < 0) __PYX_ERR(0, 167, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_close, __pyx_t_1) < 0) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 * f.close() * * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< * * f1 = None */ - __Pyx_TraceLine(185,0,__PYX_ERR(0, 185, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error) + __Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_function, __pyx_t_1) < 0) __PYX_ERR(0, 185, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_function, __pyx_t_1) < 0) __PYX_ERR(0, 192, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 * * * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: */ - __Pyx_TraceLine(207,0,__PYX_ERR(0, 207, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) + __Pyx_TraceLine(214,0,__PYX_ERR(0, 214, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_close_ctxmanager, __pyx_t_1) < 0) __PYX_ERR(0, 207, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_close_ctxmanager, __pyx_t_1) < 0) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 * * * def test_open_mode(): # <<<<<<<<<<<<<< * * modes = [('r', True), */ - __Pyx_TraceLine(218,0,__PYX_ERR(0, 218, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error) + __Pyx_TraceLine(225,0,__PYX_ERR(0, 225, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_mode, __pyx_t_1) < 0) __PYX_ERR(0, 218, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_mode, __pyx_t_1) < 0) __PYX_ERR(0, 225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 * * * def test_atts(testfile, drop): # <<<<<<<<<<<<<< * * modes = [None, 'rb', 'r'] */ - __Pyx_TraceLine(266,0,__PYX_ERR(0, 266, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error) + __Pyx_TraceLine(273,0,__PYX_ERR(0, 273, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_atts, __pyx_t_1) < 0) __PYX_ERR(0, 266, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_atts, __pyx_t_1) < 0) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":291 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 * * * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(291,0,__PYX_ERR(0, 291, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) + __Pyx_TraceLine(298,0,__PYX_ERR(0, 298, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_failure_cases, __pyx_t_1) < 0) __PYX_ERR(0, 291, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_failure_cases, __pyx_t_1) < 0) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 * * * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< * with tempdir() as td: * testfile = op.join(td, 'test.gz') */ - __Pyx_TraceLine(331,0,__PYX_ERR(0, 331, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error) + __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_success_cases, __pyx_t_1) < 0) __PYX_ERR(0, 331, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_success_cases, __pyx_t_1) < 0) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 * * * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< * * f = open(testfile, 'rb') */ - __Pyx_TraceLine(352,0,__PYX_ERR(0, 352, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 352, __pyx_L1_error) + __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_create_from_open_handle, __pyx_t_1) < 0) __PYX_ERR(0, 352, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_create_from_open_handle, __pyx_t_1) < 0) __PYX_ERR(0, 359, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":378 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 * * * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< * * f = None */ - __Pyx_TraceLine(378,0,__PYX_ERR(0, 378, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error) + __Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_accept_filename_or_fileobj, __pyx_t_1) < 0) __PYX_ERR(0, 378, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_accept_filename_or_fileobj, __pyx_t_1) < 0) __PYX_ERR(0, 385, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":418 * * * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< * """When a fileobj with an associated fileno is passed to IndexedGzipFile, * the fileobj's file descriptor (fd) should be utilized by zran.c */ - __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) + __Pyx_TraceLine(418,0,__PYX_ERR(0, 418, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_prioritize_fd_over_f, __pyx_t_1) < 0) __PYX_ERR(0, 411, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_prioritize_fd_over_f, __pyx_t_1) < 0) __PYX_ERR(0, 418, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":441 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":448 * * * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< * * # When drop_handles is False */ - __Pyx_TraceLine(441,0,__PYX_ERR(0, 441, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 441, __pyx_L1_error) + __Pyx_TraceLine(448,0,__PYX_ERR(0, 448, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_handles_not_dropped, __pyx_t_1) < 0) __PYX_ERR(0, 441, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_handles_not_dropped, __pyx_t_1) < 0) __PYX_ERR(0, 448, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 * * * def test_manual_build(): # <<<<<<<<<<<<<< * with tempdir() as td: * nelems = 65536 */ - __Pyx_TraceLine(474,0,__PYX_ERR(0, 474, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L1_error) + __Pyx_TraceLine(481,0,__PYX_ERR(0, 481, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_manual_build, __pyx_t_1) < 0) __PYX_ERR(0, 474, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_manual_build, __pyx_t_1) < 0) __PYX_ERR(0, 481, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":518 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 * * * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< * * if use_mmap: */ - __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 518, __pyx_L1_error) + __Pyx_TraceLine(525,0,__PYX_ERR(0, 525, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_all, __pyx_t_1) < 0) __PYX_ERR(0, 518, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_all, __pyx_t_1) < 0) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":533 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":540 * * * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< * * */ - __Pyx_TraceLine(533,0,__PYX_ERR(0, 533, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 533, __pyx_L1_error) + __Pyx_TraceLine(540,0,__PYX_ERR(0, 540, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_simple_read_with_null_paddi, __pyx_t_1) < 0) __PYX_ERR(0, 533, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_simple_read_with_null_paddi, __pyx_t_1) < 0) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":558 * * * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< * * if use_mmap: */ - __Pyx_TraceLine(551,0,__PYX_ERR(0, 551, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error) + __Pyx_TraceLine(558,0,__PYX_ERR(0, 558, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_with_null_padding, __pyx_t_1) < 0) __PYX_ERR(0, 551, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_with_null_padding, __pyx_t_1) < 0) __PYX_ERR(0, 558, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":571 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 * * * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< * with tempdir() as tdir: * nelems = 65536 */ - __Pyx_TraceLine(571,0,__PYX_ERR(0, 571, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error) + __Pyx_TraceLine(578,0,__PYX_ERR(0, 578, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_beyond_end, __pyx_t_1) < 0) __PYX_ERR(0, 571, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_beyond_end, __pyx_t_1) < 0) __PYX_ERR(0, 578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":594 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":601 * * * def test_seek(concat): # <<<<<<<<<<<<<< * with tempdir() as tdir: * nelems = 262144 # == 2MB */ - __Pyx_TraceLine(594,0,__PYX_ERR(0, 594, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 594, __pyx_L1_error) + __Pyx_TraceLine(601,0,__PYX_ERR(0, 601, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek, __pyx_t_1) < 0) __PYX_ERR(0, 594, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek, __pyx_t_1) < 0) __PYX_ERR(0, 601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":639 * * * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< * * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: */ - __Pyx_TraceLine(632,0,__PYX_ERR(0, 632, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error) + __Pyx_TraceLine(639,0,__PYX_ERR(0, 639, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_and_read, __pyx_t_1) < 0) __PYX_ERR(0, 632, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_and_read, __pyx_t_1) < 0) __PYX_ERR(0, 639, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":650 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":657 * * * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< * * filesize = nelems * 8 */ - __Pyx_TraceLine(650,0,__PYX_ERR(0, 650, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 650, __pyx_L1_error) + __Pyx_TraceLine(657,0,__PYX_ERR(0, 657, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_and_tell, __pyx_t_1) < 0) __PYX_ERR(0, 650, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_and_tell, __pyx_t_1) < 0) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 * * * def test_pread(): # <<<<<<<<<<<<<< * with tempdir() as td: * nelems = 1024 */ - __Pyx_TraceLine(684,0,__PYX_ERR(0, 684, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error) + __Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_pread, __pyx_t_1) < 0) __PYX_ERR(0, 684, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_pread, __pyx_t_1) < 0) __PYX_ERR(0, 691, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 * * * def test_readinto(drop): # <<<<<<<<<<<<<< * lines = textwrap.dedent(""" * line 1 */ - __Pyx_TraceLine(698,0,__PYX_ERR(0, 698, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 698, __pyx_L1_error) + __Pyx_TraceLine(705,0,__PYX_ERR(0, 705, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readinto, __pyx_t_1) < 0) __PYX_ERR(0, 698, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readinto, __pyx_t_1) < 0) __PYX_ERR(0, 705, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 * * * def test_readline(drop): # <<<<<<<<<<<<<< * lines = textwrap.dedent(""" * this is */ - __Pyx_TraceLine(763,0,__PYX_ERR(0, 763, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L1_error) + __Pyx_TraceLine(770,0,__PYX_ERR(0, 770, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readline, __pyx_t_1) < 0) __PYX_ERR(0, 763, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readline, __pyx_t_1) < 0) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":791 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":798 * * * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< * * lines = ['line one', 'line two'] */ - __Pyx_TraceLine(791,0,__PYX_ERR(0, 791, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 791, __pyx_L1_error) + __Pyx_TraceLine(798,0,__PYX_ERR(0, 798, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readline_sizelimit, __pyx_t_1) < 0) __PYX_ERR(0, 791, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readline_sizelimit, __pyx_t_1) < 0) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":821 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":828 * * * def test_readlines(drop): # <<<<<<<<<<<<<< * lines = textwrap.dedent(""" * this is */ - __Pyx_TraceLine(821,0,__PYX_ERR(0, 821, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 821, __pyx_L1_error) + __Pyx_TraceLine(828,0,__PYX_ERR(0, 828, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readlines, __pyx_t_1) < 0) __PYX_ERR(0, 821, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readlines, __pyx_t_1) < 0) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":847 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 * * * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< * * lines = ['line one', 'line two'] */ - __Pyx_TraceLine(847,0,__PYX_ERR(0, 847, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 847, __pyx_L1_error) + __Pyx_TraceLine(854,0,__PYX_ERR(0, 854, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readlines_sizelimit, __pyx_t_1) < 0) __PYX_ERR(0, 847, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readlines_sizelimit, __pyx_t_1) < 0) __PYX_ERR(0, 854, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":876 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":883 * * * def test_iter(drop): # <<<<<<<<<<<<<< * * lines = textwrap.dedent(""" */ - __Pyx_TraceLine(876,0,__PYX_ERR(0, 876, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) + __Pyx_TraceLine(883,0,__PYX_ERR(0, 883, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_iter, __pyx_t_1) < 0) __PYX_ERR(0, 876, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_iter, __pyx_t_1) < 0) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 * * * def test_get_index_seek_points(): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L1_error) + __Pyx_TraceLine(908,0,__PYX_ERR(0, 908, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_get_index_seek_points, __pyx_t_1) < 0) __PYX_ERR(0, 901, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_get_index_seek_points, __pyx_t_1) < 0) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 * * * def test_import_export_index(): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(927,0,__PYX_ERR(0, 927, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 927, __pyx_L1_error) + __Pyx_TraceLine(934,0,__PYX_ERR(0, 934, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_import_export_index, __pyx_t_1) < 0) __PYX_ERR(0, 927, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_import_export_index, __pyx_t_1) < 0) __PYX_ERR(0, 934, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 * * * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(960,0,__PYX_ERR(0, 960, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 960, __pyx_L1_error) + __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_import_export_index_open_fi, __pyx_t_1) < 0) __PYX_ERR(0, 960, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_import_export_index_open_fi, __pyx_t_1) < 0) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 * * * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< * with tempdir() as td: * fname = op.join(td, 'test.gz') */ - __Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1017, __pyx_L1_error) + __Pyx_TraceLine(1024,0,__PYX_ERR(0, 1024, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_build_index_from_unseekable, __pyx_t_1) < 0) __PYX_ERR(0, 1017, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_build_index_from_unseekable, __pyx_t_1) < 0) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1066 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1077 * * * def test_wrapper_class(): # <<<<<<<<<<<<<< * * with tempdir() as td: */ - __Pyx_TraceLine(1066,0,__PYX_ERR(0, 1066, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1066, __pyx_L1_error) + __Pyx_TraceLine(1077,0,__PYX_ERR(0, 1077, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_wrapper_class, __pyx_t_1) < 0) __PYX_ERR(0, 1066, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_wrapper_class, __pyx_t_1) < 0) __PYX_ERR(0, 1077, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 * * * def gcd(num): # <<<<<<<<<<<<<< * if num <= 3: * return 1 */ - __Pyx_TraceLine(1087,0,__PYX_ERR(0, 1087, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L1_error) + __Pyx_TraceLine(1098,0,__PYX_ERR(0, 1098, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_gcd, __pyx_t_1) < 0) __PYX_ERR(0, 1087, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_gcd, __pyx_t_1) < 0) __PYX_ERR(0, 1098, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 * * * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< * * fname = 'test.gz' */ - __Pyx_TraceLine(1098,0,__PYX_ERR(0, 1098, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error) + __Pyx_TraceLine(1109,0,__PYX_ERR(0, 1109, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_size_multiple_of_readbuf, __pyx_t_1) < 0) __PYX_ERR(0, 1098, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_size_multiple_of_readbuf, __pyx_t_1) < 0) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 * * * def test_picklable(): # <<<<<<<<<<<<<< * * # default behaviour is for drop_handles=True, */ - __Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1147, __pyx_L1_error) + __Pyx_TraceLine(1158,0,__PYX_ERR(0, 1158, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_picklable, __pyx_t_1) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_picklable, __pyx_t_1) < 0) __PYX_ERR(0, 1158, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 * * * def test_copyable(): # <<<<<<<<<<<<<< * fname = 'test.gz' * */ - __Pyx_TraceLine(1194,0,__PYX_ERR(0, 1194, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1194, __pyx_L1_error) + __Pyx_TraceLine(1205,0,__PYX_ERR(0, 1205, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_copyable, __pyx_t_1) < 0) __PYX_ERR(0, 1194, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_copyable, __pyx_t_1) < 0) __PYX_ERR(0, 1205, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1250 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 * * * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< * gzf.seek(offset) * bytes = gzf.read(size) */ - __Pyx_TraceLine(1250,0,__PYX_ERR(0, 1250, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1250, __pyx_L1_error) + __Pyx_TraceLine(1261,0,__PYX_ERR(0, 1261, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_mpfunc, __pyx_t_1) < 0) __PYX_ERR(0, 1250, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_mpfunc, __pyx_t_1) < 0) __PYX_ERR(0, 1261, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1259 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 * * * def test_multiproc_serialise(): # <<<<<<<<<<<<<< * fname = 'test.gz' * with tempdir(): */ - __Pyx_TraceLine(1259,0,__PYX_ERR(0, 1259, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1259, __pyx_L1_error) + __Pyx_TraceLine(1270,0,__PYX_ERR(0, 1270, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_multiproc_serialise, __pyx_t_1) < 0) __PYX_ERR(0, 1259, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_multiproc_serialise, __pyx_t_1) < 0) __PYX_ERR(0, 1270, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 + /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 * * * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< * with tempdir(): * */ - __Pyx_TraceLine(1287,0,__PYX_ERR(0, 1287, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1287, __pyx_L1_error) + __Pyx_TraceLine(1298,0,__PYX_ERR(0, 1298, __pyx_L1_error)) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_32bit_overflow, __pyx_t_1) < 0) __PYX_ERR(0, 1287, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_32bit_overflow, __pyx_t_1) < 0) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1 @@ -48628,44 +49108,159 @@ static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_co #endif } -/* KeywordStringCheck */ -static int __Pyx_CheckKeywordStrings( - PyObject *kwdict, - const char* function_name, - int kw_allowed) +/* GetTopmostException */ +#if CYTHON_USE_EXC_INFO_STACK +static _PyErr_StackItem * +__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) { - PyObject* key = 0; - Py_ssize_t pos = 0; -#if CYTHON_COMPILING_IN_PYPY - if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) - goto invalid_keyword; - return 1; -#else - while (PyDict_Next(kwdict, &pos, &key, 0)) { - #if PY_MAJOR_VERSION < 3 - if (unlikely(!PyString_Check(key))) - #endif - if (unlikely(!PyUnicode_Check(key))) - goto invalid_keyword_type; + _PyErr_StackItem *exc_info = tstate->exc_info; + while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && + exc_info->previous_item != NULL) + { + exc_info = exc_info->previous_item; + } + return exc_info; +} +#endif + +/* SaveResetException */ +#if CYTHON_FAST_THREAD_STATE +static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); + *type = exc_info->exc_type; + *value = exc_info->exc_value; + *tb = exc_info->exc_traceback; + #else + *type = tstate->exc_type; + *value = tstate->exc_value; + *tb = tstate->exc_traceback; + #endif + Py_XINCREF(*type); + Py_XINCREF(*value); + Py_XINCREF(*tb); +} +static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { + PyObject *tmp_type, *tmp_value, *tmp_tb; + #if CYTHON_USE_EXC_INFO_STACK + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = type; + exc_info->exc_value = value; + exc_info->exc_traceback = tb; + #else + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = type; + tstate->exc_value = value; + tstate->exc_traceback = tb; + #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +} +#endif + +/* PyErrExceptionMatches */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { + Py_ssize_t i, n; + n = PyTuple_GET_SIZE(tuple); +#if PY_MAJOR_VERSION >= 3 + for (i=0; icurexc_type; + if (exc_type == err) return 1; + if (unlikely(!exc_type)) return 0; + if (unlikely(PyTuple_Check(err))) + return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); + return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); +} #endif -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); + +/* GetException */ +#if CYTHON_FAST_THREAD_STATE +static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) +#else +static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) +#endif +{ + PyObject *local_type, *local_value, *local_tb; +#if CYTHON_FAST_THREAD_STATE + PyObject *tmp_type, *tmp_value, *tmp_tb; + local_type = tstate->curexc_type; + local_value = tstate->curexc_value; + local_tb = tstate->curexc_traceback; + tstate->curexc_type = 0; + tstate->curexc_value = 0; + tstate->curexc_traceback = 0; +#else + PyErr_Fetch(&local_type, &local_value, &local_tb); +#endif + PyErr_NormalizeException(&local_type, &local_value, &local_tb); +#if CYTHON_FAST_THREAD_STATE + if (unlikely(tstate->curexc_type)) +#else + if (unlikely(PyErr_Occurred())) +#endif + goto bad; + #if PY_MAJOR_VERSION >= 3 + if (local_tb) { + if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) + goto bad; + } + #endif + Py_XINCREF(local_tb); + Py_XINCREF(local_type); + Py_XINCREF(local_value); + *type = local_type; + *value = local_value; + *tb = local_tb; +#if CYTHON_FAST_THREAD_STATE + #if CYTHON_USE_EXC_INFO_STACK + { + _PyErr_StackItem *exc_info = tstate->exc_info; + tmp_type = exc_info->exc_type; + tmp_value = exc_info->exc_value; + tmp_tb = exc_info->exc_traceback; + exc_info->exc_type = local_type; + exc_info->exc_value = local_value; + exc_info->exc_traceback = local_tb; + } #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); + tmp_type = tstate->exc_type; + tmp_value = tstate->exc_value; + tmp_tb = tstate->exc_traceback; + tstate->exc_type = local_type; + tstate->exc_value = local_value; + tstate->exc_traceback = local_tb; #endif + Py_XDECREF(tmp_type); + Py_XDECREF(tmp_value); + Py_XDECREF(tmp_tb); +#else + PyErr_SetExcInfo(local_type, local_value, local_tb); +#endif return 0; +bad: + *type = 0; + *value = 0; + *tb = 0; + Py_XDECREF(local_type); + Py_XDECREF(local_value); + Py_XDECREF(local_tb); + return -1; } /* RaiseException */ @@ -48827,134 +49422,44 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject } #endif -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - #endif - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -#endif - -/* GetException */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif +/* KeywordStringCheck */ +static int __Pyx_CheckKeywordStrings( + PyObject *kwdict, + const char* function_name, + int kw_allowed) { - PyObject *local_type, *local_value, *local_tb; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) + PyObject* key = 0; + Py_ssize_t pos = 0; +#if CYTHON_COMPILING_IN_PYPY + if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) + goto invalid_keyword; + return 1; #else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; + while (PyDict_Next(kwdict, &pos, &key, 0)) { + #if PY_MAJOR_VERSION < 3 + if (unlikely(!PyString_Check(key))) + #endif + if (unlikely(!PyUnicode_Check(key))) + goto invalid_keyword_type; } + if ((!kw_allowed) && unlikely(key)) + goto invalid_keyword; + return 1; +invalid_keyword_type: + PyErr_Format(PyExc_TypeError, + "%.200s() keywords must be strings", function_name); + return 0; +#endif +invalid_keyword: + PyErr_Format(PyExc_TypeError, + #if PY_MAJOR_VERSION < 3 + "%.200s() got an unexpected keyword argument '%.200s'", + function_name, PyString_AsString(key)); #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; + "%s() got an unexpected keyword argument '%U'", + function_name, key); #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; } /* SwapException */ diff --git a/indexed_gzip/tests/ctest_indexed_gzip.cpython-37m-darwin.so b/indexed_gzip/tests/ctest_indexed_gzip.cpython-37m-darwin.so index 1724b16ec626e62bcc9b9175105e0ae44ea28135..7ed5596185c0008c0dd9d2f50f344ddc4c00a01e 100755 GIT binary patch delta 439821 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 z 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 z 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'CX^T@9ap%52h+PBCO0Fl$CL3QNYeR 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≤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 delta 432814 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
Bsg8?oMJ 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
psv7-kO)pn7&R^;=P< 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 LX(akdR+`_8 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%0D# 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

9>x>44Bsi!}6`xfV| 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 V{^y6r|Nfx)-ybypKmS4Ve*nRtTblp? diff --git a/indexed_gzip/tests/ctest_indexed_gzip.pyx b/indexed_gzip/tests/ctest_indexed_gzip.pyx index 1d0023ae..2a953e9c 100644 --- a/indexed_gzip/tests/ctest_indexed_gzip.pyx +++ b/indexed_gzip/tests/ctest_indexed_gzip.pyx @@ -112,22 +112,29 @@ class GzipStream(BytesIO): self.__size = 0 def _fill_buf_bytes(self, num_bytes=None): - while num_bytes is None or len(self.__buffer) < num_bytes: - s = self.__input.read(num_bytes) - print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - if not s: - self.__gzip.close() - break - self.__gzip.write(s) # gzip the current file + try: + while num_bytes is None or len(self.__buffer) < num_bytes: + s = self.__input.read(num_bytes) + print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") + if not s: + self.__gzip.close() + break + self.__gzip.write(s) # gzip the current file + except Exception as e: + print("Error in _fill_buf_bytes", repr(e)) + raise e def read(self, num_bytes=None): - self._fill_buf_bytes(num_bytes) - # print(f"In GzipStream read(). num_bytes = {num_bytes}") - data = self.__buffer.read(num_bytes) - # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") - self.__size += len(data) - print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") - return data + try: + self._fill_buf_bytes(num_bytes) + data = self.__buffer.read(num_bytes) + # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") + self.__size += len(data) + print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") + return data + except Exception as e: + print(repr(e)) + def close(self): self.__input.close() @@ -137,7 +144,7 @@ class GzipStream(BytesIO): return self.__buffer.peek(num_bytes) def tell(self): - print("In GzipStream, tell() is called") + print(f"In GzipStream, tell() is called. self.__size is {self.__size}") return self.__size def seekable(self): @@ -1019,8 +1026,13 @@ def test_build_index_from_unseekable(): fname = op.join(td, 'test.gz') idxfname = op.join(td, 'test.gzidx') + tmp_filename = op.join(td, 'test.txt') + # make a test file data = np.arange(5242, dtype=np.uint64) + with open(tmp_filename, 'w') as f: + f.write(repr(data)) + with gzip.open(fname, 'wb') as f: f.write(data.tostring()) @@ -1030,7 +1042,7 @@ def test_build_index_from_unseekable(): b = f.read() fileobj = BytesIO(b) - fileobj = GzipStream(data) + fileobj = GzipStream(open(tmp_filename, 'rb')) """def new_seek(*args, **kwargs): raise OSError() @@ -1043,7 +1055,6 @@ def test_build_index_from_unseekable(): fileobj.tell = new_tell""" - # generate an index file with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: f.build_full_index() diff --git a/indexed_gzip/tests/ctest_zran.cpython-37m-darwin.so b/indexed_gzip/tests/ctest_zran.cpython-37m-darwin.so index ac40f4b42ac8e16943130c8050ea450a23443f33..41e559c1fa4804f653b2a700f78cdecfb5cb6248 100755 GIT binary patch delta 143848 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ನ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∋ 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 DB(}mf delta 143722 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

cj)Ab&YJLVG$HCc;`|*6PWy5eIIB_40)IBA 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 diff --git a/indexed_gzip/zran.c b/indexed_gzip/zran.c index 8a2eecda..7460cf9a 100644 --- a/indexed_gzip/zran.c +++ b/indexed_gzip/zran.c @@ -1390,6 +1390,8 @@ static int _zran_read_data_from_file(zran_index_t *index, index->readbuf_size - stream->avail_in, index->fd, index->f); + + // fread_(void *ptr, size_t size, size_t nmemb, FILE *fd, PyObject *f); zran_log("Before FAIL, the ret is %u, index->fd is %u, index->f is %u\n", f_ret, index->fd, index->f); diff --git a/indexed_gzip/zran_file_util.c b/indexed_gzip/zran_file_util.c index a4312e94..1f13c006 100644 --- a/indexed_gzip/zran_file_util.c +++ b/indexed_gzip/zran_file_util.c @@ -53,12 +53,18 @@ size_t _fread_python(void *ptr, size_t size, size_t nmemb, PyObject *f) { _ZRAN_FILE_UTIL_ACQUIRE_GIL - if ((data = PyObject_CallMethod(f, "read", "(n)", size * nmemb)) == NULL) + if ((data = PyObject_CallMethod(f, "read", "(n)", size * nmemb)) == NULL){ + zran_log("In _fread_python, go to fail 1, size * nmemb is %u\n", size*nmemb); // GO TO HERE goto fail; - if ((buf = PyBytes_AsString(data)) == NULL) + } + if ((buf = PyBytes_AsString(data)) == NULL){ + zran_log("In _fread_python, go to fail 2\n"); goto fail; - if ((len = PyBytes_Size(data)) == -1) + } + if ((len = PyBytes_Size(data)) == -1){ + zran_log("In _fread_python, go to fail 3\n"); goto fail; + } memmove(ptr, buf, (size_t) len); @@ -67,7 +73,7 @@ size_t _fread_python(void *ptr, size_t size, size_t nmemb, PyObject *f) { return (size_t) len / size; fail: - Py_XDECREF(data); + Py_XDECREF(data); // reduce a references, the `data` can be NULL _ZRAN_FILE_UTIL_RELEASE_GIL return 0; } From 27cafe257b38733e3408e26c7e11b62b8f50092f Mon Sep 17 00:00:00 2001 From: Jiani Wang Date: Fri, 20 Jan 2023 17:29:36 -0800 Subject: [PATCH 6/7] cleant --- .../__pycache__/__init__.cpython-36.pyc | Bin 416 -> 0 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 420 -> 0 bytes indexed_gzip/indexed_gzip.c | 25341 -------- .../indexed_gzip.cpython-36m-darwin.so | Bin 377216 -> 0 bytes .../indexed_gzip.cpython-37m-darwin.so | Bin 458016 -> 0 bytes .../tests/__pycache__/__init__.cpython-36.pyc | Bin 4762 -> 0 bytes .../tests/__pycache__/__init__.cpython-37.pyc | Bin 5808 -> 0 bytes .../tests/__pycache__/__main__.cpython-36.pyc | Bin 895 -> 0 bytes .../tests/__pycache__/__main__.cpython-37.pyc | Bin 901 -> 0 bytes .../conftest.cpython-37-pytest-7.2.1.pyc | Bin 2439 -> 0 bytes ...t_indexed_gzip.cpython-37-pytest-7.2.1.pyc | Bin 539 -> 0 bytes ...gzip_threading.cpython-37-pytest-7.2.1.pyc | Bin 575 -> 0 bytes ...el_integration.cpython-37-pytest-7.2.1.pyc | Bin 2209 -> 0 bytes .../test_zran.cpython-37-pytest-7.2.1.pyc | Bin 501 -> 0 bytes indexed_gzip/tests/ctest_indexed_gzip.c | 52176 ---------------- .../ctest_indexed_gzip.cpython-36m-darwin.so | Bin 861064 -> 0 bytes .../ctest_indexed_gzip.cpython-37m-darwin.so | Bin 1167464 -> 0 bytes indexed_gzip/tests/ctest_indexed_gzip.pyx | 16 +- indexed_gzip/tests/ctest_zran.c | 40508 ------------ .../tests/ctest_zran.cpython-36m-darwin.so | Bin 484944 -> 0 bytes .../tests/ctest_zran.cpython-37m-darwin.so | Bin 743664 -> 0 bytes 21 files changed, 7 insertions(+), 118034 deletions(-) delete mode 100644 indexed_gzip/__pycache__/__init__.cpython-36.pyc delete mode 100644 indexed_gzip/__pycache__/__init__.cpython-37.pyc delete mode 100644 indexed_gzip/indexed_gzip.c delete mode 100755 indexed_gzip/indexed_gzip.cpython-36m-darwin.so delete mode 100755 indexed_gzip/indexed_gzip.cpython-37m-darwin.so delete mode 100644 indexed_gzip/tests/__pycache__/__init__.cpython-36.pyc delete mode 100644 indexed_gzip/tests/__pycache__/__init__.cpython-37.pyc delete mode 100644 indexed_gzip/tests/__pycache__/__main__.cpython-36.pyc delete mode 100644 indexed_gzip/tests/__pycache__/__main__.cpython-37.pyc delete mode 100644 indexed_gzip/tests/__pycache__/conftest.cpython-37-pytest-7.2.1.pyc delete mode 100644 indexed_gzip/tests/__pycache__/test_indexed_gzip.cpython-37-pytest-7.2.1.pyc delete mode 100644 indexed_gzip/tests/__pycache__/test_indexed_gzip_threading.cpython-37-pytest-7.2.1.pyc delete mode 100644 indexed_gzip/tests/__pycache__/test_nibabel_integration.cpython-37-pytest-7.2.1.pyc delete mode 100644 indexed_gzip/tests/__pycache__/test_zran.cpython-37-pytest-7.2.1.pyc delete mode 100644 indexed_gzip/tests/ctest_indexed_gzip.c delete mode 100755 indexed_gzip/tests/ctest_indexed_gzip.cpython-36m-darwin.so delete mode 100755 indexed_gzip/tests/ctest_indexed_gzip.cpython-37m-darwin.so delete mode 100644 indexed_gzip/tests/ctest_zran.c delete mode 100755 indexed_gzip/tests/ctest_zran.cpython-36m-darwin.so delete mode 100755 indexed_gzip/tests/ctest_zran.cpython-37m-darwin.so diff --git a/indexed_gzip/__pycache__/__init__.cpython-36.pyc b/indexed_gzip/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 1ab13ed83010be21aab15153a7e1b0780e561a07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416 zcmZ9Hu};G<5Qd$^N!mh1C02&4T@p~mh7eK(g{4bj@p3ZpQC!7#xhVT1)Y&$ygs^p#7t^|FDPKXmUX7N!lvdW=Gj-^h7OZ<05==Q#2Kz+ zh3&y^ftnh1doVT2v3W*|;?i1U+y2yCb1f>|$S$*7|2^07Nq(A-ro&#F0tizAu>I{E z*8j{#9@HcDNIX&pb~xh?xEo>*!0m3N(ExA6_PpEUXHwiXu2HPGo-ZWVvREy2F*X8= m(g diff --git a/indexed_gzip/__pycache__/__init__.cpython-37.pyc b/indexed_gzip/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 4f6bab522be06b64d02b1dcf0d1d39f013640fbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmZ9HzfQw25XPPVZJ}x93<{Mny;-<|jSJ!0$Q{jD7OgnT;jS5}iV+s)X56H2(p{mPR*^<_W<8PZTj zG?FomWkM5=U_d)Opj{r$$S7JL-aKF`6vt=eFkg#0RZL=2vl6rP%d?-3;&uqv8^_cd zE=7gyVD}=_HL7+{=;cH|p+SCOj5ck*&{s_H3OBM#4O73zb##;+XX9ejYZCyjO8~mR zox`}zOyCeYL=Le-VnGjP>>hVQ&^-V6&WY6gvBFaqr*Uz@Ank -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #if PY_VERSION_HEX >= 0x02070000 - #define HAVE_LONG_LONG - #endif -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#ifdef PYPY_VERSION - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif -#elif defined(PYSTON_VERSION) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif -#elif defined(PY_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #elif !defined(CYTHON_USE_PYLONG_INTERNALS) - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #if PY_VERSION_HEX >= 0x030B00A4 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #elif !defined(CYTHON_FAST_THREAD_STATE) - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) - #endif - #ifndef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) - #endif - #if PY_VERSION_HEX >= 0x030B00A4 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int32 uint32_t; - #endif - #endif -#else - #include -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) && __cplusplus >= 201103L - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #elif __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__ ) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) - #define Py_OptimizeFlag 0 -#endif -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #define __Pyx_DefaultClassType PyClass_Type -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if PY_VERSION_HEX >= 0x030B00A1 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; - PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; - const char *fn_cstr=NULL; - const char *name_cstr=NULL; - PyCodeObject* co=NULL; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - if (!(kwds=PyDict_New())) goto end; - if (!(argcount=PyLong_FromLong(a))) goto end; - if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; - if (!(posonlyargcount=PyLong_FromLong(0))) goto end; - if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; - if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; - if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; - if (!(nlocals=PyLong_FromLong(l))) goto end; - if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; - if (!(stacksize=PyLong_FromLong(s))) goto end; - if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; - if (!(flags=PyLong_FromLong(f))) goto end; - if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; - if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; - if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; - if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; - if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; - if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here - if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; - Py_XDECREF((PyObject*)co); - co = (PyCodeObject*)call_result; - call_result = NULL; - if (0) { - cleanup_code_too: - Py_XDECREF((PyObject*)co); - co = NULL; - } - end: - Py_XDECREF(kwds); - Py_XDECREF(argcount); - Py_XDECREF(posonlyargcount); - Py_XDECREF(kwonlyargcount); - Py_XDECREF(nlocals); - Py_XDECREF(stacksize); - Py_XDECREF(replace); - Py_XDECREF(call_result); - Py_XDECREF(empty); - if (type) { - PyErr_Restore(type, value, traceback); - } - return co; - } -#else - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif - #define __Pyx_DefaultClassType PyType_Type -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #define __Pyx_PyCFunctionFast _PyCFunctionFast - #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords -#endif -#if CYTHON_FAST_PYCCALL -#define __Pyx_PyFastCFunction_Check(func)\ - ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) -#else -#define __Pyx_PyFastCFunction_Check(func) 0 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 - #define PyMem_RawMalloc(n) PyMem_Malloc(n) - #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) - #define PyMem_RawFree(p) PyMem_Free(p) -#endif -#if CYTHON_COMPILING_IN_PYSTON - #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -#else -#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) -#endif -#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) - #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) -#else - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) -#else - #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifndef __PYX_EXTERN_C - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__indexed_gzip__indexed_gzip -#define __PYX_HAVE_API__indexed_gzip__indexed_gzip -/* Early includes */ -#include -#include -#include -#include -#include "zran.h" -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { - const Py_UNICODE *u_end = u; - while (*u_end++) ; - return (size_t)(u_end - u - 1); -} -#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) -#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -static PyObject *__pyx_m = NULL; -static PyObject *__pyx_d; -static PyObject *__pyx_b; -static PyObject *__pyx_cython_runtime = NULL; -static PyObject *__pyx_empty_tuple; -static PyObject *__pyx_empty_bytes; -static PyObject *__pyx_empty_unicode; -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm= __FILE__; -static const char *__pyx_filename; - - -static const char *__pyx_f[] = { - "indexed_gzip/indexed_gzip.pyx", - "stringsource", - "venv/lib/python3.7/site-packages/Cython/Includes/cpython/type.pxd", -}; -/* NoFastGil.proto */ -#define __Pyx_PyGILState_Ensure PyGILState_Ensure -#define __Pyx_PyGILState_Release PyGILState_Release -#define __Pyx_FastGIL_Remember() -#define __Pyx_FastGIL_Forget() -#define __Pyx_FastGilFuncInit() - -/* ForceInitThreads.proto */ -#ifndef __PYX_FORCE_INIT_THREADS - #define __PYX_FORCE_INIT_THREADS 0 -#endif - - -/*--- Type declarations ---*/ -struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile; -struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer; -struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle; -struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy; -struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points; - -/* "indexed_gzip/indexed_gzip.pyx":215 - * - * - * cdef class _IndexedGzipFile: # <<<<<<<<<<<<<< - * """The ``_IndexedGzipFile`` class allows for fast random access of a gzip - * file by using the ``zran`` library to build and maintain an index of seek - */ -struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile { - PyObject_HEAD - zran_index_t index; - uint32_t spacing; - uint32_t window_size; - uint32_t readbuf_size; - unsigned int readall_buf_size; - int auto_build; - int skip_crc_check; - PyObject *filename; - int own_file; - int drop_handles; - PyObject *pyfid; - int finalized; -}; - - -/* "indexed_gzip/indexed_gzip.pyx":1037 - * - * - * cdef class ReadBuffer: # <<<<<<<<<<<<<< - * """Wrapper around a chunk of memory. - * - */ -struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer { - PyObject_HEAD - void *buffer; - size_t size; -}; - - -/* "indexed_gzip/indexed_gzip.pyx":440 - * - * - * def __file_handle(self): # <<<<<<<<<<<<<< - * """This method is used as a context manager whenever access to the - * underlying file stream is required. It makes sure that ``index.fd`` - */ -struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle { - PyObject_HEAD - struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self; -}; - - -/* "indexed_gzip/indexed_gzip.pyx":453 - * # dropping support for cython < 0.26. - * @contextlib.contextmanager - * def proxy(): # <<<<<<<<<<<<<< - * - * # If a file handle already exists, - */ -struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy { - PyObject_HEAD - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *__pyx_outer_scope; -}; - - -/* "indexed_gzip/indexed_gzip.pyx":481 - * - * - * def seek_points(self): # <<<<<<<<<<<<<< - * """Return the seek point locations that currently exist in the index. - * - */ -struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points { - PyObject_HEAD - uint32_t __pyx_v_i; - zran_point_t __pyx_v_point; - struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self; - uint32_t __pyx_t_0; - uint32_t __pyx_t_1; - uint32_t __pyx_t_2; -}; - - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); - void (*DECREF)(void*, PyObject*, int); - void (*GOTREF)(void*, PyObject*, int); - void (*GIVEREF)(void*, PyObject*, int); - void* (*SetupContext)(const char*, int, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -#endif - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ - const char* function_name); - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* Profile.proto */ -#ifndef CYTHON_PROFILE -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON - #define CYTHON_PROFILE 0 -#else - #define CYTHON_PROFILE 1 -#endif -#endif -#ifndef CYTHON_TRACE_NOGIL - #define CYTHON_TRACE_NOGIL 0 -#else - #if CYTHON_TRACE_NOGIL && !defined(CYTHON_TRACE) - #define CYTHON_TRACE 1 - #endif -#endif -#ifndef CYTHON_TRACE - #define CYTHON_TRACE 0 -#endif -#if CYTHON_TRACE - #undef CYTHON_PROFILE_REUSE_FRAME -#endif -#ifndef CYTHON_PROFILE_REUSE_FRAME - #define CYTHON_PROFILE_REUSE_FRAME 0 -#endif -#if CYTHON_PROFILE || CYTHON_TRACE - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #if CYTHON_PROFILE_REUSE_FRAME - #define CYTHON_FRAME_MODIFIER static - #define CYTHON_FRAME_DEL(frame) - #else - #define CYTHON_FRAME_MODIFIER - #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame) - #endif - #define __Pyx_TraceDeclarations\ - static PyCodeObject *__pyx_frame_code = NULL;\ - CYTHON_FRAME_MODIFIER PyFrameObject *__pyx_frame = NULL;\ - int __Pyx_use_tracing = 0; - #define __Pyx_TraceFrameInit(codeobj)\ - if (codeobj) __pyx_frame_code = (PyCodeObject*) codeobj; -#if PY_VERSION_HEX >= 0x030b00a2 - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->cframe->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate) PyThreadState_EnterTracing(tstate) - #define __Pyx_LeaveTracing(tstate) PyThreadState_LeaveTracing(tstate) -#elif PY_VERSION_HEX >= 0x030a00b1 - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->cframe->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate)\ - do { tstate->tracing++; tstate->cframe->use_tracing = 0; } while (0) - #define __Pyx_LeaveTracing(tstate)\ - do {\ - tstate->tracing--;\ - tstate->cframe->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ - || tstate->c_profilefunc != NULL);\ - } while (0) -#else - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate)\ - do { tstate->tracing++; tstate->use_tracing = 0; } while (0) - #define __Pyx_LeaveTracing(tstate)\ - do {\ - tstate->tracing--;\ - tstate->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ - || tstate->c_profilefunc != NULL);\ - } while (0) -#endif - #ifdef WITH_THREAD - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - }\ - PyGILState_Release(state);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } else {\ - PyThreadState* tstate = PyThreadState_GET();\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } - #else - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ - { PyThreadState* tstate = PyThreadState_GET();\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } - #endif - #define __Pyx_TraceException()\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 1)) {\ - __Pyx_EnterTracing(tstate);\ - PyObject *exc_info = __Pyx_GetExceptionTuple(tstate);\ - if (exc_info) {\ - if (CYTHON_TRACE && tstate->c_tracefunc)\ - tstate->c_tracefunc(\ - tstate->c_traceobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ - tstate->c_profilefunc(\ - tstate->c_profileobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ - Py_DECREF(exc_info);\ - }\ - __Pyx_LeaveTracing(tstate);\ - }\ - } - static void __Pyx_call_return_trace_func(PyThreadState *tstate, PyFrameObject *frame, PyObject *result) { - PyObject *type, *value, *traceback; - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - __Pyx_EnterTracing(tstate); - if (CYTHON_TRACE && tstate->c_tracefunc) - tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result); - if (tstate->c_profilefunc) - tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result); - CYTHON_FRAME_DEL(frame); - __Pyx_LeaveTracing(tstate); - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - } - #ifdef WITH_THREAD - #define __Pyx_TraceReturn(result, nogil)\ - if (likely(!__Pyx_use_tracing)); else {\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - PyGILState_Release(state);\ - }\ - } else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - }\ - } - #else - #define __Pyx_TraceReturn(result, nogil)\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - } - #endif - static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno); - static int __Pyx_TraceSetupAndCall(PyCodeObject** code, PyFrameObject** frame, PyThreadState* tstate, const char *funcname, const char *srcfile, int firstlineno); -#else - #define __Pyx_TraceDeclarations - #define __Pyx_TraceFrameInit(codeobj) - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) if ((1)); else goto_error; - #define __Pyx_TraceException() - #define __Pyx_TraceReturn(result, nogil) -#endif -#if CYTHON_TRACE - static int __Pyx_call_line_trace_func(PyThreadState *tstate, PyFrameObject *frame, int lineno) { - int ret; - PyObject *type, *value, *traceback; - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - __Pyx_PyFrame_SetLineNumber(frame, lineno); - __Pyx_EnterTracing(tstate); - ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL); - __Pyx_LeaveTracing(tstate); - if (likely(!ret)) { - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - } else { - Py_XDECREF(type); - Py_XDECREF(value); - Py_XDECREF(traceback); - } - return ret; - } - #ifdef WITH_THREAD - #define __Pyx_TraceLine(lineno, nogil, goto_error)\ - if (likely(!__Pyx_use_tracing)); else {\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - int ret = 0;\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - }\ - PyGILState_Release(state);\ - if (unlikely(ret)) goto_error;\ - }\ - } else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - if (unlikely(ret)) goto_error;\ - }\ - }\ - } - #else - #define __Pyx_TraceLine(lineno, nogil, goto_error)\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - if (unlikely(ret)) goto_error;\ - }\ - } - #endif -#else - #define __Pyx_TraceLine(lineno, nogil, goto_error) if ((1)); else goto_error; -#endif - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* PyDictContains.proto */ -static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) { - int result = PyDict_Contains(dict, item); - return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); -} - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* py_dict_pop.proto */ -static CYTHON_INLINE PyObject *__Pyx_PyDict_Pop(PyObject *d, PyObject *key, PyObject *default_value); - -/* UnpackUnboundCMethod.proto */ -typedef struct { - PyObject *type; - PyObject **method_name; - PyCFunction func; - PyObject *method; - int flag; -} __Pyx_CachedCFunction; - -/* CallUnboundCMethod2.proto */ -static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1 -static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2); -#else -#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2) -#endif - -/* CallUnboundCMethod1.proto */ -static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); -#else -#define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg) -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#else -#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if CYTHON_FAST_PYCALL - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif // CYTHON_FAST_PYCALL -#endif - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectCallNoArg.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); -#else -#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) -#endif - -/* PyCFunctionFastCall.proto */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); -#else -#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) -#endif - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyObjectSetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); -#else -#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) -#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) -#endif - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); -#if PY_MAJOR_VERSION < 3 - if (unlikely(PyInstance_Check(obj))) - return __Pyx_PyObject_GetAttrStr(obj, attr_name); -#endif - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#else -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* PyIntCompare.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); - -/* GetAttr.proto */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); - -/* HasAttr.proto */ -static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* GetAttr3.proto */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *); - -/* IncludeStringH.proto */ -#include - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* StrEquals.proto */ -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals -#else -#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals -#endif - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* None.proto */ -static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname); - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* FetchCommonType.proto */ -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED 1 -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { - PyCFunctionObject func; -#if PY_VERSION_HEX < 0x030500A0 - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; - PyObject *func_classobj; - void *defaults; - int defaults_pyobjects; - size_t defaults_size; // used by FusedFunction for copying defaults - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; -} __pyx_CyFunctionObject; -static PyTypeObject *__pyx_CyFunctionType = 0; -#define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType)) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *self, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(void); - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* KeywordStringCheck.proto */ -static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); - -/* WriteUnraisableException.proto */ -static void __Pyx_WriteUnraisable(const char *name, int clineno, - int lineno, const char *filename, - int full_traceback, int nogil); - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* SliceObject.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( - PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** py_start, PyObject** py_stop, PyObject** py_slice, - int has_cstart, int has_cstop, int wraparound); - -/* ListAppend.proto */ -#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS -static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { - PyListObject* L = (PyListObject*) list; - Py_ssize_t len = Py_SIZE(list); - if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { - Py_INCREF(x); - PyList_SET_ITEM(list, len, x); - __Pyx_SET_SIZE(list, len + 1); - return 0; - } - return PyList_Append(list, x); -} -#else -#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) -#endif - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* PyObject_GenericGetAttr.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr -#endif - -/* PyObjectGetAttrStrNoError.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* SetupReduce.proto */ -static int __Pyx_setup_reduce(PyObject* type_obj); - -/* TypeImport.proto */ -#ifndef __PYX_HAVE_RT_ImportType_proto -#define __PYX_HAVE_RT_ImportType_proto -enum __Pyx_ImportType_CheckSize { - __Pyx_ImportType_CheckSize_Error = 0, - __Pyx_ImportType_CheckSize_Warn = 1, - __Pyx_ImportType_CheckSize_Ignore = 2 -}; -static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); -#endif - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* CalculateMetaclass.proto */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); - -/* SetNameInClass.proto */ -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) -#elif CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) -#else -#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) -#endif - -/* Py3ClassCreate.proto */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, - PyObject *mkw, PyObject *modname, PyObject *doc); -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, - PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* GCCDiagnostics.proto */ -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* PyObjectGetMethod.proto */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); - -/* PyObjectCallMethod1.proto */ -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* CoroutineBase.proto */ -typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyThreadState *, PyObject *); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_ExcInfoStruct _PyErr_StackItem -#else -typedef struct { - PyObject *exc_type; - PyObject *exc_value; - PyObject *exc_traceback; -} __Pyx_ExcInfoStruct; -#endif -typedef struct { - PyObject_HEAD - __pyx_coroutine_body_t body; - PyObject *closure; - __Pyx_ExcInfoStruct gi_exc_state; - PyObject *gi_weakreflist; - PyObject *classobj; - PyObject *yieldfrom; - PyObject *gi_name; - PyObject *gi_qualname; - PyObject *gi_modulename; - PyObject *gi_code; - PyObject *gi_frame; - int resume_label; - char is_running; -} __pyx_CoroutineObject; -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); -static int __Pyx_Coroutine_clear(PyObject *self); -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); -static PyObject *__Pyx_Coroutine_Close(PyObject *self); -static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_Coroutine_SwapException(self) -#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) -#else -#define __Pyx_Coroutine_SwapException(self) {\ - __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ - __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ - } -#define __Pyx_Coroutine_ResetAndClearException(self) {\ - __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ - (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ - } -#endif -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) -#else -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) -#endif -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); - -/* PatchModuleWithCoroutine.proto */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); - -/* PatchGeneratorABC.proto */ -static int __Pyx_patch_abc(void); - -/* Generator.proto */ -#define __Pyx_Generator_USED -static PyTypeObject *__pyx_GeneratorType = 0; -#define __Pyx_Generator_CheckExact(obj) (Py_TYPE(obj) == __pyx_GeneratorType) -#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\ - __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name) -static PyObject *__Pyx_Generator_Next(PyObject *self); -static int __pyx_Generator_init(void); - -/* CheckBinaryVersion.proto */ -static int __Pyx_check_binary_version(void); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - - -/* Module declarations from 'libc.string' */ - -/* Module declarations from 'libc.stdio' */ - -/* Module declarations from 'libc.stdint' */ - -/* Module declarations from 'cpython.mem' */ - -/* Module declarations from 'cpython.buffer' */ - -/* Module declarations from '__builtin__' */ - -/* Module declarations from 'cpython.type' */ -static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; - -/* Module declarations from 'cpython' */ - -/* Module declarations from 'cpython.object' */ - -/* Module declarations from 'cpython.ref' */ - -/* Module declarations from 'posix.types' */ - -/* Module declarations from 'indexed_gzip.zran' */ - -/* Module declarations from 'indexed_gzip.indexed_gzip' */ -static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile = 0; -static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer = 0; -static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle = 0; -static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy = 0; -static PyTypeObject *__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points = 0; -#define __Pyx_MODULE_NAME "indexed_gzip.indexed_gzip" -extern int __pyx_module_is_main_indexed_gzip__indexed_gzip; -int __pyx_module_is_main_indexed_gzip__indexed_gzip = 0; - -/* Implementation of 'indexed_gzip.indexed_gzip' */ -static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_builtin_IOError; -static PyObject *__pyx_builtin_OSError; -static PyObject *__pyx_builtin_object; -static PyObject *__pyx_builtin_super; -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_StopIteration; -static PyObject *__pyx_builtin_NotImplementedError; -static PyObject *__pyx_builtin_TypeError; -static PyObject *__pyx_builtin_MemoryError; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k_r[] = "r"; -static const char __pyx_k_fd[] = "fd"; -static const char __pyx_k_io[] = "io"; -static const char __pyx_k_op[] = "op"; -static const char __pyx_k_os[] = "os"; -static const char __pyx_k_rb[] = "rb"; -static const char __pyx_k_wb[] = "wb"; -static const char __pyx_k__27[] = ""; -static const char __pyx_k__28[] = "\n"; -static const char __pyx_k__51[] = "*"; -static const char __pyx_k_buf[] = "buf"; -static const char __pyx_k_doc[] = "__doc__"; -static const char __pyx_k_eof[] = "eof"; -static const char __pyx_k_log[] = "log"; -static const char __pyx_k_n_a[] = "n/a"; -static const char __pyx_k_off[] = "off"; -static const char __pyx_k_pop[] = "pop"; -static const char __pyx_k_ret[] = "ret"; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_exit[] = "__exit__"; -static const char __pyx_k_find[] = "find"; -static const char __pyx_k_fobj[] = "fobj"; -static const char __pyx_k_hint[] = "hint"; -static const char __pyx_k_init[] = "__init__"; -static const char __pyx_k_line[] = "line"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_mode[] = "mode"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_open[] = "open"; -static const char __pyx_k_pbuf[] = "pbuf"; -static const char __pyx_k_read[] = "read"; -static const char __pyx_k_seek[] = "seek"; -static const char __pyx_k_self[] = "self"; -static const char __pyx_k_send[] = "send"; -static const char __pyx_k_size[] = "size"; -static const char __pyx_k_tell[] = "tell"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_vbuf[] = "vbuf"; -static const char __pyx_k_RLock[] = "RLock"; -static const char __pyx_k_bufsz[] = "bufsz"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_debug[] = "debug"; -static const char __pyx_k_enter[] = "__enter__"; -static const char __pyx_k_flush[] = "flush"; -static const char __pyx_k_gzobj[] = "gzobj"; -static const char __pyx_k_index[] = "index"; -static const char __pyx_k_lines[] = "lines"; -static const char __pyx_k_nread[] = "nread"; -static const char __pyx_k_point[] = "point"; -static const char __pyx_k_pread[] = "pread"; -static const char __pyx_k_proxy[] = "proxy"; -static const char __pyx_k_pybuf[] = "pybuf"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_state[] = "state"; -static const char __pyx_k_super[] = "super"; -static const char __pyx_k_throw[] = "throw"; -static const char __pyx_k_write[] = "write"; -static const char __pyx_k_buffer[] = "buffer"; -static const char __pyx_k_closed[] = "closed"; -static const char __pyx_k_encode[] = "encode"; -static const char __pyx_k_fileno[] = "fileno"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_isfile[] = "isfile"; -static const char __pyx_k_kwargs[] = "kwargs"; -static const char __pyx_k_module[] = "__module__"; -static const char __pyx_k_name_2[] = "name"; -static const char __pyx_k_nbytes[] = "nbytes"; -static const char __pyx_k_object[] = "object"; -static const char __pyx_k_offset[] = "offset"; -static const char __pyx_k_pickle[] = "pickle"; -static const char __pyx_k_reduce[] = "__reduce__"; -static const char __pyx_k_resize[] = "resize"; -static const char __pyx_k_whence[] = "whence"; -static const char __pyx_k_BytesIO[] = "BytesIO"; -static const char __pyx_k_IOError[] = "IOError"; -static const char __pyx_k_OSError[] = "OSError"; -static const char __pyx_k_errname[] = "errname"; -static const char __pyx_k_fileobj[] = "fileobj"; -static const char __pyx_k_linebuf[] = "linebuf"; -static const char __pyx_k_lineidx[] = "lineidx"; -static const char __pyx_k_logging[] = "logging"; -static const char __pyx_k_npoints[] = "npoints"; -static const char __pyx_k_os_path[] = "os.path"; -static const char __pyx_k_prepare[] = "__prepare__"; -static const char __pyx_k_s_close[] = "%s.close()"; -static const char __pyx_k_spacing[] = "spacing"; -static const char __pyx_k_CrcError[] = "CrcError"; -static const char __pyx_k_c_whence[] = "c_whence"; -static const char __pyx_k_filename[] = "filename"; -static const char __pyx_k_getstate[] = "__getstate__"; -static const char __pyx_k_getvalue[] = "getvalue"; -static const char __pyx_k_haveline[] = "haveline"; -static const char __pyx_k_own_file[] = "own_file"; -static const char __pyx_k_qualname[] = "__qualname__"; -static const char __pyx_k_readable[] = "readable"; -static const char __pyx_k_readinto[] = "readinto"; -static const char __pyx_k_readline[] = "readline"; -static const char __pyx_k_s_read_s[] = "%s.read(%s)"; -static const char __pyx_k_s_seek_s[] = "%s.seek(%s)"; -static const char __pyx_k_seekable[] = "seekable"; -static const char __pyx_k_setstate[] = "__setstate__"; -static const char __pyx_k_startpos[] = "startpos"; -static const char __pyx_k_unpickle[] = "unpickle"; -static const char __pyx_k_warnings[] = "warnings"; -static const char __pyx_k_writable[] = "writable"; -static const char __pyx_k_TypeError[] = "TypeError"; -static const char __pyx_k_ZRAN_READ[] = "ZRAN_READ"; -static const char __pyx_k_ZRAN_SEEK[] = "ZRAN_SEEK"; -static const char __pyx_k_ZranError[] = "ZranError"; -static const char __pyx_k_getLogger[] = "getLogger"; -static const char __pyx_k_metaclass[] = "__metaclass__"; -static const char __pyx_k_pyx_state[] = "__pyx_state"; -static const char __pyx_k_readlines[] = "readlines"; -static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; -static const char __pyx_k_threading[] = "threading"; -static const char __pyx_k_totalsize[] = "totalsize"; -static const char __pyx_k_ReadBuffer[] = "ReadBuffer"; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_ZRAN_BUILD[] = "ZRAN_BUILD"; -static const char __pyx_k_auto_build[] = "auto_build"; -static const char __pyx_k_close_file[] = "close_file"; -static const char __pyx_k_contextlib[] = "contextlib"; -static const char __pyx_k_index_file[] = "index_file"; -static const char __pyx_k_MemoryError[] = "MemoryError"; -static const char __pyx_k_ZRAN_ERRORS[] = "ZRAN_ERRORS"; -static const char __pyx_k_ZRAN_EXPORT[] = "ZRAN_EXPORT"; -static const char __pyx_k_ZRAN_IMPORT[] = "ZRAN_IMPORT"; -static const char __pyx_k_buffer_size[] = "buffer_size"; -static const char __pyx_k_file_handle[] = "__file_handle"; -static const char __pyx_k_seek_points[] = "seek_points"; -static const char __pyx_k_window_size[] = "window_size"; -static const char __pyx_k_builtin_open[] = "builtin_open"; -static const char __pyx_k_drop_handles[] = "drop_handles"; -static const char __pyx_k_export_index[] = "export_index"; -static const char __pyx_k_import_index[] = "import_index"; -static const char __pyx_k_readbuf_size[] = "readbuf_size"; -static const char __pyx_k_stringsource[] = "stringsource"; -static const char __pyx_k_NoHandleError[] = "NoHandleError"; -static const char __pyx_k_PicklingError[] = "PicklingError"; -static const char __pyx_k_StopIteration[] = "StopIteration"; -static const char __pyx_k_ZRAN_READ_EOF[] = "ZRAN_READ_EOF"; -static const char __pyx_k_ZRAN_SEEK_EOF[] = "ZRAN_SEEK_EOF"; -static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; -static const char __pyx_k_BufferedReader[] = "BufferedReader"; -static const char __pyx_k_ZRAN_IMPORT_OK[] = "ZRAN_IMPORT_OK"; -static const char __pyx_k_ZRAN_READ_FAIL[] = "ZRAN_READ_FAIL"; -static const char __pyx_k_ZRAN_SEEK_FAIL[] = "ZRAN_SEEK_FAIL"; -static const char __pyx_k_contextmanager[] = "contextmanager"; -static const char __pyx_k_skip_crc_check[] = "skip_crc_check"; -static const char __pyx_k_IndexedGzipFile[] = "IndexedGzipFile"; -static const char __pyx_k_NotCoveredError[] = "NotCoveredError"; -static const char __pyx_k_ZRAN_IMPORT_EOF[] = "ZRAN_IMPORT_EOF"; -static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; -static const char __pyx_k_ZRAN_IMPORT_FAIL[] = "ZRAN_IMPORT_FAIL"; -static const char __pyx_k_build_full_index[] = "build_full_index"; -static const char __pyx_k_readall_buf_size[] = "readall_buf_size"; -static const char __pyx_k_IndexedGzipFile_2[] = "_IndexedGzipFile"; -static const char __pyx_k_PyMem_Malloc_fail[] = "PyMem_Malloc fail"; -static const char __pyx_k_ReadBuffer_resize[] = "ReadBuffer.resize"; -static const char __pyx_k_PyMem_Realloc_fail[] = "PyMem_Realloc fail"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_s_build_full_index[] = "%s.build_full_index()"; -static const char __pyx_k_s_export_index_s_s[] = "%s.export_index(%s, %s)"; -static const char __pyx_k_s_import_index_s_s[] = "%s.import_index(%s, %s)"; -static const char __pyx_k_File_does_not_exist[] = "File {} does not exist"; -static const char __pyx_k_NotImplementedError[] = "NotImplementedError"; -static const char __pyx_k_ReadBuffer_resize_s[] = "ReadBuffer.resize(%s)"; -static const char __pyx_k_ZRAN_READ_CRC_ERROR[] = "ZRAN_READ_CRC_ERROR"; -static const char __pyx_k_ZRAN_SEEK_CRC_ERROR[] = "ZRAN_SEEK_CRC_ERROR"; -static const char __pyx_k_IndexedGzipFile_read[] = "_IndexedGzipFile.read"; -static const char __pyx_k_IndexedGzipFile_seek[] = "_IndexedGzipFile.seek"; -static const char __pyx_k_IndexedGzipFile_tell[] = "_IndexedGzipFile.tell"; -static const char __pyx_k_ReadBuffer___dealloc[] = "ReadBuffer.__dealloc__()"; -static const char __pyx_k_UnsupportedOperation[] = "UnsupportedOperation"; -static const char __pyx_k_IndexedGzipFile_close[] = "_IndexedGzipFile.close"; -static const char __pyx_k_IndexedGzipFile_flush[] = "_IndexedGzipFile.flush"; -static const char __pyx_k_IndexedGzipFile_pread[] = "IndexedGzipFile.pread"; -static const char __pyx_k_IndexedGzipFile_write[] = "_IndexedGzipFile.write"; -static const char __pyx_k_ZRAN_BUILD_INDEX_FAIL[] = "ZRAN_BUILD_INDEX_FAIL"; -static const char __pyx_k_ZRAN_READ_NOT_COVERED[] = "ZRAN_READ_NOT_COVERED"; -static const char __pyx_k_ZRAN_SEEK_NOT_COVERED[] = "ZRAN_SEEK_NOT_COVERED"; -static const char __pyx_k_IndexedGzipFile___exit[] = "_IndexedGzipFile.__exit__"; -static const char __pyx_k_IndexedGzipFile___init[] = "IndexedGzipFile.__init__"; -static const char __pyx_k_IndexedGzipFile_fileno[] = "_IndexedGzipFile.fileno"; -static const char __pyx_k_ReadBuffer___cinit___s[] = "ReadBuffer.__cinit__(%s)"; -static const char __pyx_k_ZRAN_IMPORT_READ_ERROR[] = "ZRAN_IMPORT_READ_ERROR"; -static const char __pyx_k_IndexedGzipFile___enter[] = "_IndexedGzipFile.__enter__"; -static const char __pyx_k_IndexedGzipFile_fileobj[] = "_IndexedGzipFile.fileobj"; -static const char __pyx_k_IndexedGzipFile_pread_2[] = "_IndexedGzipFile.pread"; -static const char __pyx_k_ZRAN_EXPORT_WRITE_ERROR[] = "ZRAN_EXPORT_WRITE_ERROR"; -static const char __pyx_k_IndexedGzipFile___reduce[] = "IndexedGzipFile.__reduce__"; -static const char __pyx_k_IndexedGzipFile_readable[] = "_IndexedGzipFile.readable"; -static const char __pyx_k_IndexedGzipFile_readinto[] = "_IndexedGzipFile.readinto"; -static const char __pyx_k_IndexedGzipFile_readline[] = "_IndexedGzipFile.readline"; -static const char __pyx_k_IndexedGzipFile_seekable[] = "_IndexedGzipFile.seekable"; -static const char __pyx_k_IndexedGzipFile_writable[] = "_IndexedGzipFile.writable"; -static const char __pyx_k_Invalid_value_for_whence[] = "Invalid value for whence: {}"; -static const char __pyx_k_ZRAN_IMPORT_INCONSISTENT[] = "ZRAN_IMPORT_INCONSISTENT"; -static const char __pyx_k_ZRAN_IMPORT_MEMORY_ERROR[] = "ZRAN_IMPORT_MEMORY_ERROR"; -static const char __pyx_k_file_handle_locals_proxy[] = "__file_handle..proxy"; -static const char __pyx_k_s___init___s_s_s_s_s_s_s[] = "%s.__init__(%s, %s, %s, %s, %s, %s, %s)"; -static const char __pyx_k_IndexedGzipFile__igz_fobj[] = "_IndexedGzipFile__igz_fobj"; -static const char __pyx_k_IndexedGzipFile_readlines[] = "_IndexedGzipFile.readlines"; -static const char __pyx_k_ZRAN_SEEK_INDEX_NOT_BUILT[] = "ZRAN_SEEK_INDEX_NOT_BUILT"; -static const char __pyx_k_indexed_gzip_indexed_gzip[] = "indexed_gzip.indexed_gzip"; -static const char __pyx_k_IndexedGzipFile__file_lock[] = "_IndexedGzipFile__file_lock"; -static const char __pyx_k_ReadBuffer___reduce_cython[] = "ReadBuffer.__reduce_cython__"; -static const char __pyx_k_ZRAN_BUILD_INDEX_CRC_ERROR[] = "ZRAN_BUILD_INDEX_CRC_ERROR"; -static const char __pyx_k_ZRAN_IMPORT_UNKNOWN_FORMAT[] = "ZRAN_IMPORT_UNKNOWN_FORMAT"; -static const char __pyx_k_Index_does_not_cover_offset[] = "Index does not cover offset {}"; -static const char __pyx_k_IndexedGzipFile_seek_points[] = "_IndexedGzipFile.seek_points"; -static const char __pyx_k_IndexedGzipFile__buffer_size[] = "_IndexedGzipFile__buffer_size"; -static const char __pyx_k_IndexedGzipFile_export_index[] = "_IndexedGzipFile.export_index"; -static const char __pyx_k_IndexedGzipFile_import_index[] = "_IndexedGzipFile.import_index"; -static const char __pyx_k_Invalid_mode_must_be_r_or_rb[] = "Invalid mode ({}), must be \"r\" or \"rb\""; -static const char __pyx_k_ReadBuffer___setstate_cython[] = "ReadBuffer.__setstate_cython__"; -static const char __pyx_k_IndexedGzipFile___file_handle[] = "_IndexedGzipFile.__file_handle"; -static const char __pyx_k_indexed_gzip_indexed_gzip_pyx[] = "indexed_gzip/indexed_gzip.pyx"; -static const char __pyx_k_zran_init_returned_error_file[] = "zran_init returned error (file: {})"; -static const char __pyx_k_zran_read_returned_error_file[] = "zran_read returned error: {} (file: {})"; -static const char __pyx_k_zran_seek_returned_error_file[] = "zran_seek returned error: {} (file: {})"; -static const char __pyx_k_File_should_be_opened_read_only[] = "File should be opened read-only binary mode."; -static const char __pyx_k_IndexedGzipFile___reduce_cython[] = "_IndexedGzipFile.__reduce_cython__"; -static const char __pyx_k_IndexedGzipFile___setstate_cyth[] = "_IndexedGzipFile.__setstate_cython__"; -static const char __pyx_k_IndexedGzipFile_build_full_inde[] = "_IndexedGzipFile.build_full_index"; -static const char __pyx_k_IndexedGzipFile_does_not_suppor[] = "_IndexedGzipFile does not support writing"; -static const char __pyx_k_IndexedGzipFile_is_already_clos[] = "_IndexedGzipFile is already closed (file: {})"; -static const char __pyx_k_One_of_filename_or_fileobj_must[] = "One of filename or fileobj must be specified"; -static const char __pyx_k_One_of_fileobj_or_filename_must[] = "One of fileobj or filename must be specified"; -static const char __pyx_k_Only_one_of_filename_or_fileobj[] = "Only one of filename or fileobj must be specified"; -static const char __pyx_k_ZRAN_IMPORT_UNSUPPORTED_VERSION[] = "ZRAN_IMPORT_UNSUPPORTED_VERSION"; -static const char __pyx_k_zran_build_index_returned_error[] = "zran_build_index returned error: {} (file: {})"; -static const char __pyx_k_CRC_size_validation_failed_the_G[] = "CRC/size validation failed - the GZIP data might be corrupt (file: {})"; -static const char __pyx_k_Cannot_pickle_IndexedGzipFile_th[] = "Cannot pickle IndexedGzipFile that has been created with an open file object, or that has been created with drop_handles=False"; -static const char __pyx_k_Contains_text_versions_of_all_er[] = "Contains text versions of all error codes emitted by zran.c. "; -static const char __pyx_k_Exception_raised_by_the_class__I[] = "Exception raised by the :class:`_IndexedGzipFile` when an attempt is\n made to seek to/read from a location that is not covered by the\n index. If the ``_IndexedGzipFile`` was created with ``auto_build=True``,\n this error will only occur on attempts to call the ``seek`` method\n with ``whence=SEEK_END``, where the index has not been completely built.\n "; -static const char __pyx_k_File_should_be_opened_in_writeab[] = "File should be opened in writeable binary mode."; -static const char __pyx_k_Index_does_not_cover_current_off[] = "Index does not cover current offset"; -static const char __pyx_k_Index_must_be_completely_built_i[] = "Index must be completely built in order to seek from SEEK_END"; -static const char __pyx_k_Invalid_mode_fileobj_must_be_ope[] = "Invalid mode - fileobj must be opened in read-only binary (\"rb\") mode"; -static const char __pyx_k_The_IndexedGzipFile_class_allows[] = "The ``IndexedGzipFile`` class allows for fast random access of a gzip\n file by using the ``zran`` library to build and maintain an index of seek\n points into the file.\n\n ``IndexedGzipFile`` is an ``io.BufferedReader`` which wraps an\n :class:`_IndexedGzipFile` instance. By accessing the ``_IndexedGzipFile``\n instance through an ``io.BufferedReader``, read performance is improved\n through buffering, and access to the I/O methods is made thread-safe.\n\n A :meth:`pread` method is also implemented, as it is not implemented by\n the ``io.BufferedReader``.\n "; -static const char __pyx_k_This_module_provides_the_class_I[] = "This module provides the :class:`IndexedGzipFile` class, a drop-in\nreplacement for the built-in ``gzip.GzipFile`` class, for faster read-only\nrandom access to gzip files.\n"; -static const char __pyx_k_export_index_returned_error_file[] = "export_index returned error: {} (file: {})"; -static const char __pyx_k_import_index_returned_error_file[] = "import_index returned error: {} (file: {})"; -static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__"; -static const char __pyx_k_self_index_cannot_be_converted_t[] = "self.index cannot be converted to a Python object for pickling"; -static const char __pyx_k_Exception_raised_by_the_class__I_2[] = "Exception raised by the :class:`_IndexedGzipFile` when the ``zran``\n library signals an error.\n "; -static const char __pyx_k_Exception_raised_by_the_class__I_3[] = "Exception raised by the :class:`_IndexedGzipFile` when a CRC/size\n validation check fails, which suggests that the GZIP data might be\n corrupt.\n "; -static const char __pyx_k_Exception_raised_by_the_class__I_4[] = "Exception raised by the :class:`_IndexedGzipFile` when\n ``drop_handles is True`` and an attempt is made to access the underlying\n file object.\n "; -static PyObject *__pyx_n_s_BufferedReader; -static PyObject *__pyx_n_s_BytesIO; -static PyObject *__pyx_kp_s_CRC_size_validation_failed_the_G; -static PyObject *__pyx_kp_s_Cannot_pickle_IndexedGzipFile_th; -static PyObject *__pyx_kp_s_Contains_text_versions_of_all_er; -static PyObject *__pyx_n_s_CrcError; -static PyObject *__pyx_kp_s_Exception_raised_by_the_class__I; -static PyObject *__pyx_kp_s_Exception_raised_by_the_class__I_2; -static PyObject *__pyx_kp_s_Exception_raised_by_the_class__I_3; -static PyObject *__pyx_kp_s_Exception_raised_by_the_class__I_4; -static PyObject *__pyx_kp_s_File_does_not_exist; -static PyObject *__pyx_kp_s_File_should_be_opened_in_writeab; -static PyObject *__pyx_kp_s_File_should_be_opened_read_only; -static PyObject *__pyx_n_s_IOError; -static PyObject *__pyx_kp_s_Index_does_not_cover_current_off; -static PyObject *__pyx_kp_s_Index_does_not_cover_offset; -static PyObject *__pyx_kp_s_Index_must_be_completely_built_i; -static PyObject *__pyx_n_s_IndexedGzipFile; -static PyObject *__pyx_n_s_IndexedGzipFile_2; -static PyObject *__pyx_n_s_IndexedGzipFile___enter; -static PyObject *__pyx_n_s_IndexedGzipFile___exit; -static PyObject *__pyx_n_s_IndexedGzipFile___file_handle; -static PyObject *__pyx_n_s_IndexedGzipFile___init; -static PyObject *__pyx_n_s_IndexedGzipFile___reduce; -static PyObject *__pyx_n_s_IndexedGzipFile___reduce_cython; -static PyObject *__pyx_n_s_IndexedGzipFile___setstate_cyth; -static PyObject *__pyx_n_s_IndexedGzipFile__buffer_size; -static PyObject *__pyx_n_s_IndexedGzipFile__file_lock; -static PyObject *__pyx_n_s_IndexedGzipFile__igz_fobj; -static PyObject *__pyx_n_s_IndexedGzipFile_build_full_inde; -static PyObject *__pyx_n_s_IndexedGzipFile_close; -static PyObject *__pyx_kp_s_IndexedGzipFile_does_not_suppor; -static PyObject *__pyx_n_s_IndexedGzipFile_export_index; -static PyObject *__pyx_n_s_IndexedGzipFile_fileno; -static PyObject *__pyx_n_s_IndexedGzipFile_fileobj; -static PyObject *__pyx_n_s_IndexedGzipFile_flush; -static PyObject *__pyx_n_s_IndexedGzipFile_import_index; -static PyObject *__pyx_kp_s_IndexedGzipFile_is_already_clos; -static PyObject *__pyx_n_s_IndexedGzipFile_pread; -static PyObject *__pyx_n_s_IndexedGzipFile_pread_2; -static PyObject *__pyx_n_s_IndexedGzipFile_read; -static PyObject *__pyx_n_s_IndexedGzipFile_readable; -static PyObject *__pyx_n_s_IndexedGzipFile_readinto; -static PyObject *__pyx_n_s_IndexedGzipFile_readline; -static PyObject *__pyx_n_s_IndexedGzipFile_readlines; -static PyObject *__pyx_n_s_IndexedGzipFile_seek; -static PyObject *__pyx_n_s_IndexedGzipFile_seek_points; -static PyObject *__pyx_n_s_IndexedGzipFile_seekable; -static PyObject *__pyx_n_s_IndexedGzipFile_tell; -static PyObject *__pyx_n_s_IndexedGzipFile_writable; -static PyObject *__pyx_n_s_IndexedGzipFile_write; -static PyObject *__pyx_kp_s_Invalid_mode_fileobj_must_be_ope; -static PyObject *__pyx_kp_s_Invalid_mode_must_be_r_or_rb; -static PyObject *__pyx_kp_s_Invalid_value_for_whence; -static PyObject *__pyx_n_s_MemoryError; -static PyObject *__pyx_n_s_NoHandleError; -static PyObject *__pyx_n_s_NotCoveredError; -static PyObject *__pyx_n_s_NotImplementedError; -static PyObject *__pyx_n_s_OSError; -static PyObject *__pyx_kp_s_One_of_filename_or_fileobj_must; -static PyObject *__pyx_kp_s_One_of_fileobj_or_filename_must; -static PyObject *__pyx_kp_s_Only_one_of_filename_or_fileobj; -static PyObject *__pyx_n_s_PicklingError; -static PyObject *__pyx_kp_s_PyMem_Malloc_fail; -static PyObject *__pyx_kp_s_PyMem_Realloc_fail; -static PyObject *__pyx_n_s_RLock; -static PyObject *__pyx_n_s_ReadBuffer; -static PyObject *__pyx_kp_s_ReadBuffer___cinit___s; -static PyObject *__pyx_kp_s_ReadBuffer___dealloc; -static PyObject *__pyx_n_s_ReadBuffer___reduce_cython; -static PyObject *__pyx_n_s_ReadBuffer___setstate_cython; -static PyObject *__pyx_n_s_ReadBuffer_resize; -static PyObject *__pyx_kp_s_ReadBuffer_resize_s; -static PyObject *__pyx_n_s_StopIteration; -static PyObject *__pyx_kp_s_The_IndexedGzipFile_class_allows; -static PyObject *__pyx_n_s_TypeError; -static PyObject *__pyx_n_s_UnsupportedOperation; -static PyObject *__pyx_n_s_ValueError; -static PyObject *__pyx_n_s_ZRAN_BUILD; -static PyObject *__pyx_n_s_ZRAN_BUILD_INDEX_CRC_ERROR; -static PyObject *__pyx_n_s_ZRAN_BUILD_INDEX_FAIL; -static PyObject *__pyx_n_s_ZRAN_ERRORS; -static PyObject *__pyx_n_s_ZRAN_EXPORT; -static PyObject *__pyx_n_s_ZRAN_EXPORT_WRITE_ERROR; -static PyObject *__pyx_n_s_ZRAN_IMPORT; -static PyObject *__pyx_n_s_ZRAN_IMPORT_EOF; -static PyObject *__pyx_n_s_ZRAN_IMPORT_FAIL; -static PyObject *__pyx_n_s_ZRAN_IMPORT_INCONSISTENT; -static PyObject *__pyx_n_s_ZRAN_IMPORT_MEMORY_ERROR; -static PyObject *__pyx_n_s_ZRAN_IMPORT_OK; -static PyObject *__pyx_n_s_ZRAN_IMPORT_READ_ERROR; -static PyObject *__pyx_n_s_ZRAN_IMPORT_UNKNOWN_FORMAT; -static PyObject *__pyx_n_s_ZRAN_IMPORT_UNSUPPORTED_VERSION; -static PyObject *__pyx_n_s_ZRAN_READ; -static PyObject *__pyx_n_s_ZRAN_READ_CRC_ERROR; -static PyObject *__pyx_n_s_ZRAN_READ_EOF; -static PyObject *__pyx_n_s_ZRAN_READ_FAIL; -static PyObject *__pyx_n_s_ZRAN_READ_NOT_COVERED; -static PyObject *__pyx_n_s_ZRAN_SEEK; -static PyObject *__pyx_n_s_ZRAN_SEEK_CRC_ERROR; -static PyObject *__pyx_n_s_ZRAN_SEEK_EOF; -static PyObject *__pyx_n_s_ZRAN_SEEK_FAIL; -static PyObject *__pyx_n_s_ZRAN_SEEK_INDEX_NOT_BUILT; -static PyObject *__pyx_n_s_ZRAN_SEEK_NOT_COVERED; -static PyObject *__pyx_n_s_ZranError; -static PyObject *__pyx_kp_b__27; -static PyObject *__pyx_kp_b__28; -static PyObject *__pyx_n_s__51; -static PyObject *__pyx_n_s_args; -static PyObject *__pyx_n_s_auto_build; -static PyObject *__pyx_n_s_buf; -static PyObject *__pyx_n_s_buffer; -static PyObject *__pyx_n_s_buffer_size; -static PyObject *__pyx_n_s_bufsz; -static PyObject *__pyx_n_s_build_full_index; -static PyObject *__pyx_n_s_builtin_open; -static PyObject *__pyx_n_s_c_whence; -static PyObject *__pyx_n_s_cline_in_traceback; -static PyObject *__pyx_n_s_close; -static PyObject *__pyx_n_s_close_file; -static PyObject *__pyx_n_s_closed; -static PyObject *__pyx_n_s_contextlib; -static PyObject *__pyx_n_s_contextmanager; -static PyObject *__pyx_n_s_debug; -static PyObject *__pyx_n_s_doc; -static PyObject *__pyx_n_s_drop_handles; -static PyObject *__pyx_n_s_encode; -static PyObject *__pyx_n_s_enter; -static PyObject *__pyx_n_s_eof; -static PyObject *__pyx_n_s_errname; -static PyObject *__pyx_n_s_exit; -static PyObject *__pyx_n_s_export_index; -static PyObject *__pyx_kp_s_export_index_returned_error_file; -static PyObject *__pyx_n_s_fd; -static PyObject *__pyx_n_s_file_handle; -static PyObject *__pyx_n_s_file_handle_locals_proxy; -static PyObject *__pyx_n_s_filename; -static PyObject *__pyx_n_s_fileno; -static PyObject *__pyx_n_s_fileobj; -static PyObject *__pyx_n_s_find; -static PyObject *__pyx_n_s_flush; -static PyObject *__pyx_n_s_fobj; -static PyObject *__pyx_n_s_format; -static PyObject *__pyx_n_s_getLogger; -static PyObject *__pyx_n_s_getstate; -static PyObject *__pyx_n_s_getvalue; -static PyObject *__pyx_n_s_gzobj; -static PyObject *__pyx_n_s_haveline; -static PyObject *__pyx_n_s_hint; -static PyObject *__pyx_n_s_i; -static PyObject *__pyx_n_s_import; -static PyObject *__pyx_n_s_import_index; -static PyObject *__pyx_kp_s_import_index_returned_error_file; -static PyObject *__pyx_n_s_index; -static PyObject *__pyx_n_s_index_file; -static PyObject *__pyx_n_s_indexed_gzip_indexed_gzip; -static PyObject *__pyx_kp_s_indexed_gzip_indexed_gzip_pyx; -static PyObject *__pyx_n_s_init; -static PyObject *__pyx_n_s_io; -static PyObject *__pyx_n_s_isfile; -static PyObject *__pyx_n_s_kwargs; -static PyObject *__pyx_n_s_line; -static PyObject *__pyx_n_s_linebuf; -static PyObject *__pyx_n_s_lineidx; -static PyObject *__pyx_n_s_lines; -static PyObject *__pyx_n_s_log; -static PyObject *__pyx_n_s_logging; -static PyObject *__pyx_n_s_main; -static PyObject *__pyx_n_s_metaclass; -static PyObject *__pyx_n_s_mode; -static PyObject *__pyx_n_s_module; -static PyObject *__pyx_kp_s_n_a; -static PyObject *__pyx_n_s_name; -static PyObject *__pyx_n_s_name_2; -static PyObject *__pyx_n_s_nbytes; -static PyObject *__pyx_kp_s_no_default___reduce___due_to_non; -static PyObject *__pyx_n_s_npoints; -static PyObject *__pyx_n_s_nread; -static PyObject *__pyx_n_s_object; -static PyObject *__pyx_n_s_off; -static PyObject *__pyx_n_s_offset; -static PyObject *__pyx_n_s_op; -static PyObject *__pyx_n_s_open; -static PyObject *__pyx_n_s_os; -static PyObject *__pyx_n_s_os_path; -static PyObject *__pyx_n_s_own_file; -static PyObject *__pyx_n_s_pbuf; -static PyObject *__pyx_n_s_pickle; -static PyObject *__pyx_n_s_point; -static PyObject *__pyx_n_s_pop; -static PyObject *__pyx_n_s_pread; -static PyObject *__pyx_n_s_prepare; -static PyObject *__pyx_n_s_proxy; -static PyObject *__pyx_n_s_pybuf; -static PyObject *__pyx_n_s_pyx_state; -static PyObject *__pyx_n_s_qualname; -static PyObject *__pyx_n_s_r; -static PyObject *__pyx_n_s_range; -static PyObject *__pyx_n_s_rb; -static PyObject *__pyx_n_s_read; -static PyObject *__pyx_n_s_readable; -static PyObject *__pyx_n_s_readall_buf_size; -static PyObject *__pyx_n_s_readbuf_size; -static PyObject *__pyx_n_s_readinto; -static PyObject *__pyx_n_s_readline; -static PyObject *__pyx_n_s_readlines; -static PyObject *__pyx_n_s_reduce; -static PyObject *__pyx_n_s_reduce_cython; -static PyObject *__pyx_n_s_reduce_ex; -static PyObject *__pyx_n_s_resize; -static PyObject *__pyx_n_s_ret; -static PyObject *__pyx_kp_s_s___init___s_s_s_s_s_s_s; -static PyObject *__pyx_kp_s_s_build_full_index; -static PyObject *__pyx_kp_s_s_close; -static PyObject *__pyx_kp_s_s_export_index_s_s; -static PyObject *__pyx_kp_s_s_import_index_s_s; -static PyObject *__pyx_kp_s_s_read_s; -static PyObject *__pyx_kp_s_s_seek_s; -static PyObject *__pyx_n_s_seek; -static PyObject *__pyx_n_s_seek_points; -static PyObject *__pyx_n_s_seekable; -static PyObject *__pyx_n_s_self; -static PyObject *__pyx_kp_s_self_index_cannot_be_converted_t; -static PyObject *__pyx_n_s_send; -static PyObject *__pyx_n_s_setstate; -static PyObject *__pyx_n_s_setstate_cython; -static PyObject *__pyx_n_s_size; -static PyObject *__pyx_n_s_skip_crc_check; -static PyObject *__pyx_n_s_spacing; -static PyObject *__pyx_n_s_startpos; -static PyObject *__pyx_n_s_state; -static PyObject *__pyx_kp_s_stringsource; -static PyObject *__pyx_n_s_super; -static PyObject *__pyx_n_s_tell; -static PyObject *__pyx_n_s_test; -static PyObject *__pyx_n_s_threading; -static PyObject *__pyx_n_s_throw; -static PyObject *__pyx_n_s_totalsize; -static PyObject *__pyx_n_s_unpickle; -static PyObject *__pyx_n_s_vbuf; -static PyObject *__pyx_n_s_warnings; -static PyObject *__pyx_n_s_wb; -static PyObject *__pyx_n_s_whence; -static PyObject *__pyx_n_s_window_size; -static PyObject *__pyx_n_s_writable; -static PyObject *__pyx_n_s_write; -static PyObject *__pyx_kp_s_zran_build_index_returned_error; -static PyObject *__pyx_kp_s_zran_init_returned_error_file; -static PyObject *__pyx_kp_s_zran_read_returned_error_file; -static PyObject *__pyx_kp_s_zran_seek_returned_error_file; -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_open(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj, CYTHON_UNUSED PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_nbytes, PyObject *__pyx_v_offset); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static int __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj, PyObject *__pyx_v_mode, PyObject *__pyx_v_auto_build, PyObject *__pyx_v_spacing, PyObject *__pyx_v_window_size, PyObject *__pyx_v_readbuf_size, PyObject *__pyx_v_readall_buf_size, PyObject *__pyx_v_drop_handles, PyObject *__pyx_v_index_file, PyObject *__pyx_v_skip_crc_check); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_proxy(PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode___get__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */ -static void __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_25__dealloc__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_whence); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_nbytes); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_buf); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_nbytes, PyObject *__pyx_v_offset); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_size); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_hint); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ -static int __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer___cinit__(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, size_t __pyx_v_size); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, size_t __pyx_v_size); /* proto */ -static void __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_4__dealloc__(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_2unpickle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip_ReadBuffer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_pop = {0, &__pyx_n_s_pop, 0, 0, 0}; -static PyObject *__pyx_int_0; -static PyObject *__pyx_int_1; -static PyObject *__pyx_int_4; -static PyObject *__pyx_int_32768; -static PyObject *__pyx_int_1048576; -static PyObject *__pyx_int_4194304; -static PyObject *__pyx_int_16777216; -static PyObject *__pyx_int_neg_1; -static PyObject *__pyx_k__21; -static PyObject *__pyx_codeobj_; -static PyObject *__pyx_tuple__4; -static PyObject *__pyx_tuple__6; -static PyObject *__pyx_tuple__7; -static PyObject *__pyx_tuple__31; -static PyObject *__pyx_tuple__34; -static PyObject *__pyx_tuple__35; -static PyObject *__pyx_tuple__36; -static PyObject *__pyx_tuple__38; -static PyObject *__pyx_tuple__40; -static PyObject *__pyx_tuple__42; -static PyObject *__pyx_tuple__43; -static PyObject *__pyx_tuple__45; -static PyObject *__pyx_tuple__47; -static PyObject *__pyx_tuple__49; -static PyObject *__pyx_tuple__52; -static PyObject *__pyx_tuple__53; -static PyObject *__pyx_tuple__54; -static PyObject *__pyx_tuple__55; -static PyObject *__pyx_tuple__56; -static PyObject *__pyx_tuple__57; -static PyObject *__pyx_tuple__58; -static PyObject *__pyx_tuple__59; -static PyObject *__pyx_tuple__60; -static PyObject *__pyx_tuple__61; -static PyObject *__pyx_tuple__62; -static PyObject *__pyx_tuple__63; -static PyObject *__pyx_tuple__64; -static PyObject *__pyx_tuple__65; -static PyObject *__pyx_tuple__66; -static PyObject *__pyx_tuple__67; -static PyObject *__pyx_tuple__68; -static PyObject *__pyx_tuple__69; -static PyObject *__pyx_tuple__70; -static PyObject *__pyx_tuple__71; -static PyObject *__pyx_tuple__72; -static PyObject *__pyx_tuple__73; -static PyObject *__pyx_tuple__74; -static PyObject *__pyx_tuple__75; -static PyObject *__pyx_tuple__76; -static PyObject *__pyx_tuple__77; -static PyObject *__pyx_tuple__78; -static PyObject *__pyx_tuple__79; -static PyObject *__pyx_tuple__80; -static PyObject *__pyx_tuple__81; -static PyObject *__pyx_tuple__82; -static PyObject *__pyx_tuple__83; -static PyObject *__pyx_tuple__84; -static PyObject *__pyx_tuple__85; -static PyObject *__pyx_tuple__86; -static PyObject *__pyx_tuple__87; -static PyObject *__pyx_tuple__88; -static PyObject *__pyx_tuple__89; -static PyObject *__pyx_codeobj__2; -static PyObject *__pyx_codeobj__3; -static PyObject *__pyx_codeobj__5; -static PyObject *__pyx_codeobj__8; -static PyObject *__pyx_codeobj__9; -static PyObject *__pyx_codeobj__10; -static PyObject *__pyx_codeobj__11; -static PyObject *__pyx_codeobj__12; -static PyObject *__pyx_codeobj__13; -static PyObject *__pyx_codeobj__14; -static PyObject *__pyx_codeobj__15; -static PyObject *__pyx_codeobj__16; -static PyObject *__pyx_codeobj__17; -static PyObject *__pyx_codeobj__18; -static PyObject *__pyx_codeobj__19; -static PyObject *__pyx_codeobj__20; -static PyObject *__pyx_codeobj__22; -static PyObject *__pyx_codeobj__23; -static PyObject *__pyx_codeobj__24; -static PyObject *__pyx_codeobj__25; -static PyObject *__pyx_codeobj__26; -static PyObject *__pyx_codeobj__29; -static PyObject *__pyx_codeobj__30; -static PyObject *__pyx_codeobj__32; -static PyObject *__pyx_codeobj__33; -static PyObject *__pyx_codeobj__37; -static PyObject *__pyx_codeobj__39; -static PyObject *__pyx_codeobj__41; -static PyObject *__pyx_codeobj__44; -static PyObject *__pyx_codeobj__46; -static PyObject *__pyx_codeobj__48; -static PyObject *__pyx_codeobj__50; -/* Late includes */ - -/* "indexed_gzip/indexed_gzip.pyx":60 - * - * - * def open(filename=None, fileobj=None, *args, **kwargs): # <<<<<<<<<<<<<< - * """Create and return an ``IndexedGzipFile``. - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_open[] = "open(filename=None, fileobj=None, *args, **kwargs)\nCreate and return an ``IndexedGzipFile``.\n\n :arg filename: File name or open file handle.\n :arg fileobj: Open file handle.\n\n See the ``IndexedGzipFile`` class for details on the other arguments.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_1open = {"open", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_1open, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_open}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_filename = 0; - PyObject *__pyx_v_fileobj = 0; - CYTHON_UNUSED PyObject *__pyx_v_args = 0; - PyObject *__pyx_v_kwargs = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("open (wrapper)", 0); - __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; - __Pyx_GOTREF(__pyx_v_kwargs); - if (PyTuple_GET_SIZE(__pyx_args) > 2) { - __pyx_v_args = PyTuple_GetSlice(__pyx_args, 2, PyTuple_GET_SIZE(__pyx_args)); - if (unlikely(!__pyx_v_args)) { - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_RefNannyFinishContext(); - return NULL; - } - __Pyx_GOTREF(__pyx_v_args); - } else { - __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple); - } - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_fileobj,0}; - PyObject* values[2] = {0,0}; - values[0] = ((PyObject *)((PyObject *)Py_None)); - values[1] = ((PyObject *)((PyObject *)Py_None)); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - default: - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename); - if (value) { values[0] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t used_pos_args = (pos_args < 2) ? pos_args : 2; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "open") < 0)) __PYX_ERR(0, 60, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - default: - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - } - } - __pyx_v_filename = values[0]; - __pyx_v_fileobj = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_open(__pyx_self, __pyx_v_filename, __pyx_v_fileobj, __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XDECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_open(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj, CYTHON_UNUSED PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj_) - __Pyx_RefNannySetupContext("open", 0); - __Pyx_TraceCall("open", __pyx_f[0], 60, 0, __PYX_ERR(0, 60, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":68 - * See the ``IndexedGzipFile`` class for details on the other arguments. - * """ - * return IndexedGzipFile(filename, fileobj, **kwargs) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(68,0,__PYX_ERR(0, 68, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_filename); - __Pyx_INCREF(__pyx_v_fileobj); - __Pyx_GIVEREF(__pyx_v_fileobj); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_fileobj); - __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":60 - * - * - * def open(filename=None, fileobj=None, *args, **kwargs): # <<<<<<<<<<<<<< - * """Create and return an ``IndexedGzipFile``. - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.open", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":86 - * - * - * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< - * """Create an ``IndexedGzipFile``. The file may be specified either - * with an open file handle (``fileobj``), or with a ``filename``. If the - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__[] = "IndexedGzipFile.__init__(self, *args, **kwargs)\nCreate an ``IndexedGzipFile``. The file may be specified either\n with an open file handle (``fileobj``), or with a ``filename``. If the\n former, the file must have been opened in ``'rb'`` mode.\n\n .. note:: The ``auto_build`` behaviour only takes place on calls to\n :meth:`seek`.\n\n :arg filename: File name or open file handle.\n\n :arg fileobj: Open file handle.\n\n :arg mode: Opening mode. Must be either ``'r'`` or ``'rb``.\n\n :arg auto_build: If ``True`` (the default), the index is\n automatically built on calls to :meth:`seek`.\n\n :arg skip_crc_check: Defaults to ``False``. If ``True``, CRC/size\n validation of the uncompressed data is not\n performed.\n\n :arg spacing: Number of bytes between index seek points.\n\n :arg window_size: Number of bytes of uncompressed data stored with\n each seek point.\n\n :arg readbuf_size: Size of buffer in bytes for storing compressed\n data read in from the file.\n\n :arg readall_buf_size: Size of buffer in bytes used by :meth:`read`\n when reading until EOF.\n\n :arg drop_handles: Has no effect if an open ``fid`` is specified,\n rather than a ``filename``. If ``True`` (the\n default), a handle to the file is opened and\n closed on every access. Otherwise the file is\n opened at ``__cinit__``, and kept open until\n this ``_IndexedGzipFile`` is destroyed.\n\n :arg index_file: Pre-generated index for this ``gz`` file -\n if provided, passed thr""ough to\n :meth:`import_index`.\n\n :arg buffer_size: Optional, must be passed as a keyword argument.\n Passed through to\n ``io.BufferedReader.__init__``. If not provided,\n a default value of 4 * spacing is used if spacing\n is given else 4 MiB is used.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_args = 0; - PyObject *__pyx_v_kwargs = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; - __Pyx_GOTREF(__pyx_v_kwargs); - if (PyTuple_GET_SIZE(__pyx_args) > 1) { - __pyx_v_args = PyTuple_GetSlice(__pyx_args, 1, PyTuple_GET_SIZE(__pyx_args)); - if (unlikely(!__pyx_v_args)) { - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_RefNannyFinishContext(); - return NULL; - } - __Pyx_GOTREF(__pyx_v_args); - } else { - __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple); - } - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,0}; - PyObject* values[1] = {0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - default: - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "__init__") < 0)) __PYX_ERR(0, 86, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) < 1) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - } - __pyx_v_self = values[0]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 86, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; - __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__(__pyx_self, __pyx_v_self, __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XDECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { - PyObject *__pyx_v_spacing = NULL; - PyObject *__pyx_v_buffer_size = NULL; - struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_fobj = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - long __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__2) - __Pyx_RefNannySetupContext("__init__", 0); - __Pyx_TraceCall("__init__", __pyx_f[0], 86, 0, __PYX_ERR(0, 86, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":144 - * # Note that setting the buffer_size too high might incur performance - * # penalties for usecases with a lot of seeks and only small reads. - * spacing = kwargs['spacing'] if ('spacing' in kwargs # <<<<<<<<<<<<<< - * and kwargs['spacing'] > 0) else 1024 * 1024 - * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) - */ - __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error)) - __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_n_s_spacing, __pyx_v_kwargs, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 144, __pyx_L1_error) - __pyx_t_4 = (__pyx_t_3 != 0); - if (__pyx_t_4) { - } else { - __pyx_t_2 = __pyx_t_4; - goto __pyx_L3_bool_binop_done; - } - - /* "indexed_gzip/indexed_gzip.pyx":145 - * # penalties for usecases with a lot of seeks and only small reads. - * spacing = kwargs['spacing'] if ('spacing' in kwargs - * and kwargs['spacing'] > 0) else 1024 * 1024 # <<<<<<<<<<<<<< - * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) - * - */ - __Pyx_TraceLine(145,0,__PYX_ERR(0, 145, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_n_s_spacing); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __pyx_t_4; - __pyx_L3_bool_binop_done:; - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":144 - * # Note that setting the buffer_size too high might incur performance - * # penalties for usecases with a lot of seeks and only small reads. - * spacing = kwargs['spacing'] if ('spacing' in kwargs # <<<<<<<<<<<<<< - * and kwargs['spacing'] > 0) else 1024 * 1024 - * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) - */ - __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_n_s_spacing); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __pyx_t_6; - __pyx_t_6 = 0; - } else { - __Pyx_INCREF(__pyx_int_1048576); - __pyx_t_1 = __pyx_int_1048576; - } - __pyx_v_spacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":146 - * spacing = kwargs['spacing'] if ('spacing' in kwargs - * and kwargs['spacing'] > 0) else 1024 * 1024 - * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) # <<<<<<<<<<<<<< - * - * fobj = _IndexedGzipFile(*args, **kwargs) - */ - __Pyx_TraceLine(146,0,__PYX_ERR(0, 146, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_int_4, __pyx_v_spacing); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = 0x1000; - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_2) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_6 = __pyx_t_1; - } else { - __pyx_t_8 = __Pyx_PyInt_From_long(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_6 = __pyx_t_8; - __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_Pop(__pyx_v_kwargs, __pyx_n_s_buffer_size, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_buffer_size = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":148 - * buffer_size = kwargs.pop('buffer_size', max(4096, 4 * spacing)) - * - * fobj = _IndexedGzipFile(*args, **kwargs) # <<<<<<<<<<<<<< - * self.__file_lock = threading.RLock() - * self.__igz_fobj = fobj - */ - __Pyx_TraceLine(148,0,__PYX_ERR(0, 148, __pyx_L1_error)) - __pyx_t_1 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile), __pyx_v_args, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_fobj = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_t_6); - __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":149 - * - * fobj = _IndexedGzipFile(*args, **kwargs) - * self.__file_lock = threading.RLock() # <<<<<<<<<<<<<< - * self.__igz_fobj = fobj - * self.__buffer_size = buffer_size - */ - __Pyx_TraceLine(149,0,__PYX_ERR(0, 149, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_threading); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_RLock); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - } - } - __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__file_lock, __pyx_t_6) < 0) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":150 - * fobj = _IndexedGzipFile(*args, **kwargs) - * self.__file_lock = threading.RLock() - * self.__igz_fobj = fobj # <<<<<<<<<<<<<< - * self.__buffer_size = buffer_size - * - */ - __Pyx_TraceLine(150,0,__PYX_ERR(0, 150, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__igz_fobj, ((PyObject *)__pyx_v_fobj)) < 0) __PYX_ERR(0, 150, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":151 - * self.__file_lock = threading.RLock() - * self.__igz_fobj = fobj - * self.__buffer_size = buffer_size # <<<<<<<<<<<<<< - * - * self.build_full_index = fobj.build_full_index - */ - __Pyx_TraceLine(151,0,__PYX_ERR(0, 151, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__buffer_size, __pyx_v_buffer_size) < 0) __PYX_ERR(0, 151, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":153 - * self.__buffer_size = buffer_size - * - * self.build_full_index = fobj.build_full_index # <<<<<<<<<<<<<< - * self.import_index = fobj.import_index - * self.export_index = fobj.export_index - */ - __Pyx_TraceLine(153,0,__PYX_ERR(0, 153, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_build_full_index, __pyx_t_6) < 0) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":154 - * - * self.build_full_index = fobj.build_full_index - * self.import_index = fobj.import_index # <<<<<<<<<<<<<< - * self.export_index = fobj.export_index - * self.fileobj = fobj.fileobj - */ - __Pyx_TraceLine(154,0,__PYX_ERR(0, 154, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_import_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_import_index, __pyx_t_6) < 0) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":155 - * self.build_full_index = fobj.build_full_index - * self.import_index = fobj.import_index - * self.export_index = fobj.export_index # <<<<<<<<<<<<<< - * self.fileobj = fobj.fileobj - * self.drop_handles = fobj.drop_handles - */ - __Pyx_TraceLine(155,0,__PYX_ERR(0, 155, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_export_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_export_index, __pyx_t_6) < 0) __PYX_ERR(0, 155, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":156 - * self.import_index = fobj.import_index - * self.export_index = fobj.export_index - * self.fileobj = fobj.fileobj # <<<<<<<<<<<<<< - * self.drop_handles = fobj.drop_handles - * self.seek_points = fobj.seek_points - */ - __Pyx_TraceLine(156,0,__PYX_ERR(0, 156, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_fileobj); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_fileobj, __pyx_t_6) < 0) __PYX_ERR(0, 156, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":157 - * self.export_index = fobj.export_index - * self.fileobj = fobj.fileobj - * self.drop_handles = fobj.drop_handles # <<<<<<<<<<<<<< - * self.seek_points = fobj.seek_points - * - */ - __Pyx_TraceLine(157,0,__PYX_ERR(0, 157, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_fobj->drop_handles); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_drop_handles, __pyx_t_6) < 0) __PYX_ERR(0, 157, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":158 - * self.fileobj = fobj.fileobj - * self.drop_handles = fobj.drop_handles - * self.seek_points = fobj.seek_points # <<<<<<<<<<<<<< - * - * super(IndexedGzipFile, self).__init__(fobj, buffer_size) - */ - __Pyx_TraceLine(158,0,__PYX_ERR(0, 158, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_fobj), __pyx_n_s_seek_points); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_seek_points, __pyx_t_6) < 0) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":160 - * self.seek_points = fobj.seek_points - * - * super(IndexedGzipFile, self).__init__(fobj, buffer_size) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(160,0,__PYX_ERR(0, 160, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_8); - __Pyx_INCREF(__pyx_v_self); - __Pyx_GIVEREF(__pyx_v_self); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self); - __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_8, ((PyObject *)__pyx_v_fobj), __pyx_v_buffer_size}; - __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_8, ((PyObject *)__pyx_v_fobj), __pyx_v_buffer_size}; - __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GOTREF(__pyx_t_6); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_8) { - __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL; - } - __Pyx_INCREF(((PyObject *)__pyx_v_fobj)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_fobj)); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, ((PyObject *)__pyx_v_fobj)); - __Pyx_INCREF(__pyx_v_buffer_size); - __Pyx_GIVEREF(__pyx_v_buffer_size); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_buffer_size); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":86 - * - * - * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< - * """Create an ``IndexedGzipFile``. The file may be specified either - * with an open file handle (``fileobj``), or with a ``filename``. If the - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_spacing); - __Pyx_XDECREF(__pyx_v_buffer_size); - __Pyx_XDECREF((PyObject *)__pyx_v_fobj); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":163 - * - * - * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< - * """Seeks to ``offset``, then reads and returns up to ``nbytes``. - * The calls to seek and read are protected by a ``threading.RLock``. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread[] = "IndexedGzipFile.pread(self, nbytes, offset)\nSeeks to ``offset``, then reads and returns up to ``nbytes``.\n The calls to seek and read are protected by a ``threading.RLock``.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread = {"pread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_nbytes = 0; - PyObject *__pyx_v_offset = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("pread (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_nbytes,&__pyx_n_s_offset,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nbytes)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("pread", 1, 3, 3, 1); __PYX_ERR(0, 163, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("pread", 1, 3, 3, 2); __PYX_ERR(0, 163, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pread") < 0)) __PYX_ERR(0, 163, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_self = values[0]; - __pyx_v_nbytes = values[1]; - __pyx_v_offset = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("pread", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 163, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread(__pyx_self, __pyx_v_self, __pyx_v_nbytes, __pyx_v_offset); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_2pread(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_nbytes, PyObject *__pyx_v_offset) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - int __pyx_t_11; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__3) - __Pyx_RefNannySetupContext("pread", 0); - __Pyx_TraceCall("pread", __pyx_f[0], 163, 0, __PYX_ERR(0, 163, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":167 - * The calls to seek and read are protected by a ``threading.RLock``. - * """ - * with self.__file_lock: # <<<<<<<<<<<<<< - * self.seek(offset) - * return self.read(nbytes) - */ - __Pyx_TraceLine(167,0,__PYX_ERR(0, 167, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__file_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 167, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":168 - * """ - * with self.__file_lock: - * self.seek(offset) # <<<<<<<<<<<<<< - * return self.read(nbytes) - * - */ - __Pyx_TraceLine(168,0,__PYX_ERR(0, 168, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":169 - * with self.__file_lock: - * self.seek(offset) - * return self.read(nbytes) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(169,0,__PYX_ERR(0, 169, __pyx_L7_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_nbytes) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_nbytes); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L11_try_return; - - /* "indexed_gzip/indexed_gzip.pyx":167 - * The calls to seek and read are protected by a ``threading.RLock``. - * """ - * with self.__file_lock: # <<<<<<<<<<<<<< - * self.seek(offset) - * return self.read(nbytes) - */ - } - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 167, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 167, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 167, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_10 < 0) __PYX_ERR(0, 167, __pyx_L9_except_error) - __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); - __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 167, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L11_try_return:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L4_return; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_2) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L4_return: { - __pyx_t_8 = __pyx_r; - __pyx_r = 0; - if (__pyx_t_2) { - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/indexed_gzip.pyx":163 - * - * - * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< - * """Seeks to ``offset``, then reads and returns up to ``nbytes``. - * The calls to seek and read are protected by a ``threading.RLock``. - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":172 - * - * - * def __reduce__(self): # <<<<<<<<<<<<<< - * """Used to pickle an ``IndexedGzipFile``. - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__[] = "IndexedGzipFile.__reduce__(self)\nUsed to pickle an ``IndexedGzipFile``.\n\n Returns a tuple containing:\n - a reference to the ``unpickle`` function\n - a tuple containing a \"state\" object, which can be passed\n to ``unpickle``.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__ = {"__reduce__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_4__reduce__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_v_fobj = NULL; - PyObject *__pyx_v_index = NULL; - PyObject *__pyx_v_state = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__5) - __Pyx_RefNannySetupContext("__reduce__", 0); - __Pyx_TraceCall("__reduce__", __pyx_f[0], 172, 0, __PYX_ERR(0, 172, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":181 - * """ - * - * fobj = self.__igz_fobj # <<<<<<<<<<<<<< - * - * if (not fobj.drop_handles) or (not fobj.own_file): - */ - __Pyx_TraceLine(181,0,__PYX_ERR(0, 181, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__igz_fobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_fobj = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":183 - * fobj = self.__igz_fobj - * - * if (not fobj.drop_handles) or (not fobj.own_file): # <<<<<<<<<<<<<< - * raise pickle.PicklingError( - * 'Cannot pickle IndexedGzipFile that has been created ' - */ - __Pyx_TraceLine(183,0,__PYX_ERR(0, 183, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = ((!__pyx_t_3) != 0); - if (!__pyx_t_4) { - } else { - __pyx_t_2 = __pyx_t_4; - goto __pyx_L4_bool_binop_done; - } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_own_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = ((!__pyx_t_4) != 0); - __pyx_t_2 = __pyx_t_3; - __pyx_L4_bool_binop_done:; - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":184 - * - * if (not fobj.drop_handles) or (not fobj.own_file): - * raise pickle.PicklingError( # <<<<<<<<<<<<<< - * 'Cannot pickle IndexedGzipFile that has been created ' - * 'with an open file object, or that has been created ' - */ - __Pyx_TraceLine(184,0,__PYX_ERR(0, 184, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_kp_s_Cannot_pickle_IndexedGzipFile_th) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_kp_s_Cannot_pickle_IndexedGzipFile_th); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 184, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":183 - * fobj = self.__igz_fobj - * - * if (not fobj.drop_handles) or (not fobj.own_file): # <<<<<<<<<<<<<< - * raise pickle.PicklingError( - * 'Cannot pickle IndexedGzipFile that has been created ' - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":193 - * # The index data is serialised as a - * # bytes object. - * if fobj.npoints == 0: # <<<<<<<<<<<<<< - * index = None - * - */ - __Pyx_TraceLine(193,0,__PYX_ERR(0, 193, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_npoints); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":194 - * # bytes object. - * if fobj.npoints == 0: - * index = None # <<<<<<<<<<<<<< - * - * else: - */ - __Pyx_TraceLine(194,0,__PYX_ERR(0, 194, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_index = Py_None; - - /* "indexed_gzip/indexed_gzip.pyx":193 - * # The index data is serialised as a - * # bytes object. - * if fobj.npoints == 0: # <<<<<<<<<<<<<< - * index = None - * - */ - goto __pyx_L6; - } - - /* "indexed_gzip/indexed_gzip.pyx":197 - * - * else: - * index = io.BytesIO() # <<<<<<<<<<<<<< - * self.export_index(fileobj=index) - * index = index.getvalue() - */ - __Pyx_TraceLine(197,0,__PYX_ERR(0, 197, __pyx_L1_error)) - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_io); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_index = __pyx_t_6; - __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":198 - * else: - * index = io.BytesIO() - * self.export_index(fileobj=index) # <<<<<<<<<<<<<< - * index = index.getvalue() - * - */ - __Pyx_TraceLine(198,0,__PYX_ERR(0, 198, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_export_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_index) < 0) __PYX_ERR(0, 198, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":199 - * index = io.BytesIO() - * self.export_index(fileobj=index) - * index = index.getvalue() # <<<<<<<<<<<<<< - * - * state = { - */ - __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_n_s_getvalue); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_1); - __pyx_t_1 = 0; - } - __pyx_L6:; - - /* "indexed_gzip/indexed_gzip.pyx":202 - * - * state = { - * 'filename' : fobj.filename, # <<<<<<<<<<<<<< - * 'auto_build' : fobj.auto_build, - * 'spacing' : fobj.spacing, - */ - __Pyx_TraceLine(202,0,__PYX_ERR(0, 202, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":203 - * state = { - * 'filename' : fobj.filename, - * 'auto_build' : fobj.auto_build, # <<<<<<<<<<<<<< - * 'spacing' : fobj.spacing, - * 'window_size' : fobj.window_size, - */ - __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_auto_build); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_auto_build, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":204 - * 'filename' : fobj.filename, - * 'auto_build' : fobj.auto_build, - * 'spacing' : fobj.spacing, # <<<<<<<<<<<<<< - * 'window_size' : fobj.window_size, - * 'readbuf_size' : fobj.readbuf_size, - */ - __Pyx_TraceLine(204,0,__PYX_ERR(0, 204, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_spacing); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":205 - * 'auto_build' : fobj.auto_build, - * 'spacing' : fobj.spacing, - * 'window_size' : fobj.window_size, # <<<<<<<<<<<<<< - * 'readbuf_size' : fobj.readbuf_size, - * 'readall_buf_size' : fobj.readall_buf_size, - */ - __Pyx_TraceLine(205,0,__PYX_ERR(0, 205, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_window_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_window_size, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":206 - * 'spacing' : fobj.spacing, - * 'window_size' : fobj.window_size, - * 'readbuf_size' : fobj.readbuf_size, # <<<<<<<<<<<<<< - * 'readall_buf_size' : fobj.readall_buf_size, - * 'buffer_size' : self.__buffer_size, - */ - __Pyx_TraceLine(206,0,__PYX_ERR(0, 206, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_readbuf_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_readbuf_size, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":207 - * 'window_size' : fobj.window_size, - * 'readbuf_size' : fobj.readbuf_size, - * 'readall_buf_size' : fobj.readall_buf_size, # <<<<<<<<<<<<<< - * 'buffer_size' : self.__buffer_size, - * 'tell' : self.tell(), - */ - __Pyx_TraceLine(207,0,__PYX_ERR(0, 207, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fobj, __pyx_n_s_readall_buf_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_readall_buf_size, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":208 - * 'readbuf_size' : fobj.readbuf_size, - * 'readall_buf_size' : fobj.readall_buf_size, - * 'buffer_size' : self.__buffer_size, # <<<<<<<<<<<<<< - * 'tell' : self.tell(), - * 'index' : index} - */ - __Pyx_TraceLine(208,0,__PYX_ERR(0, 208, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_IndexedGzipFile__buffer_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_buffer_size, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":209 - * 'readall_buf_size' : fobj.readall_buf_size, - * 'buffer_size' : self.__buffer_size, - * 'tell' : self.tell(), # <<<<<<<<<<<<<< - * 'index' : index} - * - */ - __Pyx_TraceLine(209,0,__PYX_ERR(0, 209, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tell); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_tell, __pyx_t_5) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":210 - * 'buffer_size' : self.__buffer_size, - * 'tell' : self.tell(), - * 'index' : index} # <<<<<<<<<<<<<< - * - * return (unpickle, (state, )) - */ - __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L1_error)) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_index, __pyx_v_index) < 0) __PYX_ERR(0, 202, __pyx_L1_error) - __pyx_v_state = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":212 - * 'index' : index} - * - * return (unpickle, (state, )) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(212,0,__PYX_ERR(0, 212, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_unpickle); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_state); - __Pyx_GIVEREF(__pyx_v_state); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_state); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __pyx_t_1 = 0; - __pyx_t_5 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":172 - * - * - * def __reduce__(self): # <<<<<<<<<<<<<< - * """Used to pickle an ``IndexedGzipFile``. - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.IndexedGzipFile.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fobj); - __Pyx_XDECREF(__pyx_v_index); - __Pyx_XDECREF(__pyx_v_state); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":289 - * - * - * def __init__(self, # <<<<<<<<<<<<<< - * filename=None, - * fileobj=None, - */ - -/* Python wrapper */ -static int __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__[] = "Create an ``_IndexedGzipFile``. The file may be specified either\n with an open file handle (``fileobj``), or with a ``filename``. If the\n former, the file is assumed have been opened for reading in binary\n mode.\n\n .. note:: The ``auto_build`` behaviour only takes place on calls to\n :meth:`seek`.\n\n :arg filename: File name or open file handle.\n\n :arg fileobj: Open file handle.\n\n :arg mode: Opening mode. Must be either ``'r'`` or ``'rb``.\n\n :arg auto_build: If ``True`` (the default), the index is\n automatically built on calls to :meth:`seek`.\n\n :arg skip_crc_check: Defaults to ``False``. If ``True``, CRC/size\n validation of the uncompressed data is not\n performed. Automatically enabled if an\n ``index_file`` is provided, or if\n :meth:`import_index` is called.\n\n :arg spacing: Number of bytes between index seek points.\n\n :arg window_size: Number of bytes of uncompressed data stored with\n each seek point.\n\n :arg readbuf_size: Size of buffer in bytes for storing compressed\n data read in from the file.\n\n :arg readall_buf_size: Size of buffer in bytes used by :meth:`read`\n when reading until EOF.\n\n :arg drop_handles: Has no effect if an open ``fid`` is specified,\n rather than a ``filename``. If ``True`` (the\n default), a handle to the file is opened and\n closed on every access. Otherwise the file is\n opened at ``__cinit__``, and kept open until\n this ``_IndexedGzipFile`` is destroye""d.\n\n :arg index_file: Pre-generated index for this ``gz`` file -\n if provided, passed through to\n :meth:`import_index`.\n "; -#if CYTHON_UPDATE_DESCRIPTOR_DOC -struct wrapperbase __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__; -#endif -static int __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_filename = 0; - PyObject *__pyx_v_fileobj = 0; - PyObject *__pyx_v_mode = 0; - PyObject *__pyx_v_auto_build = 0; - PyObject *__pyx_v_spacing = 0; - PyObject *__pyx_v_window_size = 0; - PyObject *__pyx_v_readbuf_size = 0; - PyObject *__pyx_v_readall_buf_size = 0; - PyObject *__pyx_v_drop_handles = 0; - PyObject *__pyx_v_index_file = 0; - PyObject *__pyx_v_skip_crc_check = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_fileobj,&__pyx_n_s_mode,&__pyx_n_s_auto_build,&__pyx_n_s_spacing,&__pyx_n_s_window_size,&__pyx_n_s_readbuf_size,&__pyx_n_s_readall_buf_size,&__pyx_n_s_drop_handles,&__pyx_n_s_index_file,&__pyx_n_s_skip_crc_check,0}; - PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0}; - - /* "indexed_gzip/indexed_gzip.pyx":290 - * - * def __init__(self, - * filename=None, # <<<<<<<<<<<<<< - * fileobj=None, - * mode=None, - */ - values[0] = ((PyObject *)Py_None); - - /* "indexed_gzip/indexed_gzip.pyx":291 - * def __init__(self, - * filename=None, - * fileobj=None, # <<<<<<<<<<<<<< - * mode=None, - * auto_build=True, - */ - values[1] = ((PyObject *)Py_None); - - /* "indexed_gzip/indexed_gzip.pyx":292 - * filename=None, - * fileobj=None, - * mode=None, # <<<<<<<<<<<<<< - * auto_build=True, - * spacing=4194304, - */ - values[2] = ((PyObject *)Py_None); - - /* "indexed_gzip/indexed_gzip.pyx":293 - * fileobj=None, - * mode=None, - * auto_build=True, # <<<<<<<<<<<<<< - * spacing=4194304, - * window_size=32768, - */ - values[3] = ((PyObject *)Py_True); - values[4] = ((PyObject *)__pyx_int_4194304); - values[5] = ((PyObject *)__pyx_int_32768); - values[6] = ((PyObject *)__pyx_int_1048576); - values[7] = ((PyObject *)__pyx_int_16777216); - - /* "indexed_gzip/indexed_gzip.pyx":298 - * readbuf_size=1048576, - * readall_buf_size=16777216, - * drop_handles=True, # <<<<<<<<<<<<<< - * index_file=None, - * skip_crc_check=False): - */ - values[8] = ((PyObject *)Py_True); - - /* "indexed_gzip/indexed_gzip.pyx":299 - * readall_buf_size=16777216, - * drop_handles=True, - * index_file=None, # <<<<<<<<<<<<<< - * skip_crc_check=False): - * """Create an ``_IndexedGzipFile``. The file may be specified either - */ - values[9] = ((PyObject *)Py_None); - - /* "indexed_gzip/indexed_gzip.pyx":300 - * drop_handles=True, - * index_file=None, - * skip_crc_check=False): # <<<<<<<<<<<<<< - * """Create an ``_IndexedGzipFile``. The file may be specified either - * with an open file handle (``fileobj``), or with a ``filename``. If the - */ - values[10] = ((PyObject *)Py_False); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); - CYTHON_FALLTHROUGH; - case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); - CYTHON_FALLTHROUGH; - case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); - CYTHON_FALLTHROUGH; - case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); - CYTHON_FALLTHROUGH; - case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - CYTHON_FALLTHROUGH; - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename); - if (value) { values[0] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj); - if (value) { values[1] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 2: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_mode); - if (value) { values[2] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 3: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_auto_build); - if (value) { values[3] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 4: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_spacing); - if (value) { values[4] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 5: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_window_size); - if (value) { values[5] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 6: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_readbuf_size); - if (value) { values[6] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 7: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_readall_buf_size); - if (value) { values[7] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 8: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop_handles); - if (value) { values[8] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 9: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index_file); - if (value) { values[9] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 10: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_skip_crc_check); - if (value) { values[10] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 289, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); - CYTHON_FALLTHROUGH; - case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); - CYTHON_FALLTHROUGH; - case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); - CYTHON_FALLTHROUGH; - case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); - CYTHON_FALLTHROUGH; - case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); - CYTHON_FALLTHROUGH; - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_filename = values[0]; - __pyx_v_fileobj = values[1]; - __pyx_v_mode = values[2]; - __pyx_v_auto_build = values[3]; - __pyx_v_spacing = values[4]; - __pyx_v_window_size = values[5]; - __pyx_v_readbuf_size = values[6]; - __pyx_v_readall_buf_size = values[7]; - __pyx_v_drop_handles = values[8]; - __pyx_v_index_file = values[9]; - __pyx_v_skip_crc_check = values[10]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 289, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_filename, __pyx_v_fileobj, __pyx_v_mode, __pyx_v_auto_build, __pyx_v_spacing, __pyx_v_window_size, __pyx_v_readbuf_size, __pyx_v_readall_buf_size, __pyx_v_drop_handles, __pyx_v_index_file, __pyx_v_skip_crc_check); - - /* "indexed_gzip/indexed_gzip.pyx":289 - * - * - * def __init__(self, # <<<<<<<<<<<<<< - * filename=None, - * fileobj=None, - */ - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj, PyObject *__pyx_v_mode, PyObject *__pyx_v_auto_build, PyObject *__pyx_v_spacing, PyObject *__pyx_v_window_size, PyObject *__pyx_v_readbuf_size, PyObject *__pyx_v_readall_buf_size, PyObject *__pyx_v_drop_handles, PyObject *__pyx_v_index_file, PyObject *__pyx_v_skip_crc_check) { - FILE *__pyx_v_fd; - PyObject *__pyx_v_own_file = NULL; - PyObject *__pyx_v_flags = NULL; - int __pyx_r; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - uint32_t __pyx_t_13; - unsigned int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - uint32_t __pyx_t_16; - uint32_t __pyx_t_17; - uint16_t __pyx_t_18; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__init__", 0); - __Pyx_TraceCall("__init__", __pyx_f[0], 289, 0, __PYX_ERR(0, 289, __pyx_L1_error)); - __Pyx_INCREF(__pyx_v_filename); - __Pyx_INCREF(__pyx_v_fileobj); - __Pyx_INCREF(__pyx_v_mode); - __Pyx_INCREF(__pyx_v_drop_handles); - - /* "indexed_gzip/indexed_gzip.pyx":347 - * """ - * - * cdef FILE *fd = NULL # <<<<<<<<<<<<<< - * - * if (fileobj is None and filename is None) or \ - */ - __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L1_error)) - __pyx_v_fd = NULL; - - /* "indexed_gzip/indexed_gzip.pyx":349 - * cdef FILE *fd = NULL - * - * if (fileobj is None and filename is None) or \ # <<<<<<<<<<<<<< - * (fileobj is not None and filename is not None): - * raise ValueError('One of fileobj or filename must be specified') - */ - __Pyx_TraceLine(349,0,__PYX_ERR(0, 349, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_fileobj == Py_None); - __pyx_t_3 = (__pyx_t_2 != 0); - if (!__pyx_t_3) { - goto __pyx_L5_next_or; - } else { - } - __pyx_t_3 = (__pyx_v_filename == Py_None); - __pyx_t_2 = (__pyx_t_3 != 0); - if (!__pyx_t_2) { - } else { - __pyx_t_1 = __pyx_t_2; - goto __pyx_L4_bool_binop_done; - } - __pyx_L5_next_or:; - - /* "indexed_gzip/indexed_gzip.pyx":350 - * - * if (fileobj is None and filename is None) or \ - * (fileobj is not None and filename is not None): # <<<<<<<<<<<<<< - * raise ValueError('One of fileobj or filename must be specified') - * - */ - __Pyx_TraceLine(350,0,__PYX_ERR(0, 350, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_fileobj != Py_None); - __pyx_t_3 = (__pyx_t_2 != 0); - if (__pyx_t_3) { - } else { - __pyx_t_1 = __pyx_t_3; - goto __pyx_L4_bool_binop_done; - } - __pyx_t_3 = (__pyx_v_filename != Py_None); - __pyx_t_2 = (__pyx_t_3 != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L4_bool_binop_done:; - - /* "indexed_gzip/indexed_gzip.pyx":349 - * cdef FILE *fd = NULL - * - * if (fileobj is None and filename is None) or \ # <<<<<<<<<<<<<< - * (fileobj is not None and filename is not None): - * raise ValueError('One of fileobj or filename must be specified') - */ - __Pyx_TraceLine(349,0,__PYX_ERR(0, 349, __pyx_L1_error)) - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":351 - * if (fileobj is None and filename is None) or \ - * (fileobj is not None and filename is not None): - * raise ValueError('One of fileobj or filename must be specified') # <<<<<<<<<<<<<< - * - * # filename can be either a - */ - __Pyx_TraceLine(351,0,__PYX_ERR(0, 351, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 351, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":349 - * cdef FILE *fd = NULL - * - * if (fileobj is None and filename is None) or \ # <<<<<<<<<<<<<< - * (fileobj is not None and filename is not None): - * raise ValueError('One of fileobj or filename must be specified') - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":355 - * # filename can be either a - * # name or a file object - * if hasattr(filename, 'read'): # <<<<<<<<<<<<<< - * fileobj = filename - * filename = None - */ - __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L1_error)) - __pyx_t_1 = __Pyx_HasAttr(__pyx_v_filename, __pyx_n_s_read); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 355, __pyx_L1_error) - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":356 - * # name or a file object - * if hasattr(filename, 'read'): - * fileobj = filename # <<<<<<<<<<<<<< - * filename = None - * - */ - __Pyx_TraceLine(356,0,__PYX_ERR(0, 356, __pyx_L1_error)) - __Pyx_INCREF(__pyx_v_filename); - __Pyx_DECREF_SET(__pyx_v_fileobj, __pyx_v_filename); - - /* "indexed_gzip/indexed_gzip.pyx":357 - * if hasattr(filename, 'read'): - * fileobj = filename - * filename = None # <<<<<<<<<<<<<< - * - * if fileobj is not None and \ - */ - __Pyx_TraceLine(357,0,__PYX_ERR(0, 357, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __Pyx_DECREF_SET(__pyx_v_filename, Py_None); - - /* "indexed_gzip/indexed_gzip.pyx":355 - * # filename can be either a - * # name or a file object - * if hasattr(filename, 'read'): # <<<<<<<<<<<<<< - * fileobj = filename - * filename = None - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":359 - * filename = None - * - * if fileobj is not None and \ # <<<<<<<<<<<<<< - * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): - * raise ValueError('Invalid mode - fileobj must be opened ' - */ - __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_fileobj != Py_None); - __pyx_t_3 = (__pyx_t_1 != 0); - if (__pyx_t_3) { - } else { - __pyx_t_2 = __pyx_t_3; - goto __pyx_L10_bool_binop_done; - } - - /* "indexed_gzip/indexed_gzip.pyx":360 - * - * if fileobj is not None and \ - * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): # <<<<<<<<<<<<<< - * raise ValueError('Invalid mode - fileobj must be opened ' - * 'in read-only binary ("rb") mode') - */ - __Pyx_TraceLine(360,0,__PYX_ERR(0, 360, __pyx_L1_error)) - __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_fileobj, __pyx_n_s_mode, __pyx_n_s_rb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 360, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 360, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_1) { - } else { - __pyx_t_3 = __pyx_t_1; - goto __pyx_L12_bool_binop_done; - } - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_r, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 360, __pyx_L1_error) - if (__pyx_t_1) { - } else { - __pyx_t_3 = __pyx_t_1; - goto __pyx_L12_bool_binop_done; - } - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 360, __pyx_L1_error) - __pyx_t_3 = __pyx_t_1; - __pyx_L12_bool_binop_done:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_1 = (__pyx_t_3 != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L10_bool_binop_done:; - - /* "indexed_gzip/indexed_gzip.pyx":359 - * filename = None - * - * if fileobj is not None and \ # <<<<<<<<<<<<<< - * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): - * raise ValueError('Invalid mode - fileobj must be opened ' - */ - __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":361 - * if fileobj is not None and \ - * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): - * raise ValueError('Invalid mode - fileobj must be opened ' # <<<<<<<<<<<<<< - * 'in read-only binary ("rb") mode') - * - */ - __Pyx_TraceLine(361,0,__PYX_ERR(0, 361, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 361, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":359 - * filename = None - * - * if fileobj is not None and \ # <<<<<<<<<<<<<< - * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): - * raise ValueError('Invalid mode - fileobj must be opened ' - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":364 - * 'in read-only binary ("rb") mode') - * - * if (fileobj is None) and (mode not in (None, 'r', 'rb')): # <<<<<<<<<<<<<< - * raise ValueError('Invalid mode ({}), must be ' - * '"r" or "rb"'.format(mode)) - */ - __Pyx_TraceLine(364,0,__PYX_ERR(0, 364, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_fileobj == Py_None); - __pyx_t_3 = (__pyx_t_1 != 0); - if (__pyx_t_3) { - } else { - __pyx_t_2 = __pyx_t_3; - goto __pyx_L16_bool_binop_done; - } - __Pyx_INCREF(__pyx_v_mode); - __pyx_t_4 = __pyx_v_mode; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 364, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_1) { - } else { - __pyx_t_3 = __pyx_t_1; - goto __pyx_L18_bool_binop_done; - } - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_r, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 364, __pyx_L1_error) - if (__pyx_t_1) { - } else { - __pyx_t_3 = __pyx_t_1; - goto __pyx_L18_bool_binop_done; - } - __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_NE)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 364, __pyx_L1_error) - __pyx_t_3 = __pyx_t_1; - __pyx_L18_bool_binop_done:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_1 = (__pyx_t_3 != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L16_bool_binop_done:; - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":366 - * if (fileobj is None) and (mode not in (None, 'r', 'rb')): - * raise ValueError('Invalid mode ({}), must be ' - * '"r" or "rb"'.format(mode)) # <<<<<<<<<<<<<< - * - * # If __file_handle is called on a file - */ - __Pyx_TraceLine(366,0,__PYX_ERR(0, 366, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Invalid_mode_must_be_r_or_rb, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_mode) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_mode); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":365 - * - * if (fileobj is None) and (mode not in (None, 'r', 'rb')): - * raise ValueError('Invalid mode ({}), must be ' # <<<<<<<<<<<<<< - * '"r" or "rb"'.format(mode)) - * - */ - __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 365, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":364 - * 'in read-only binary ("rb") mode') - * - * if (fileobj is None) and (mode not in (None, 'r', 'rb')): # <<<<<<<<<<<<<< - * raise ValueError('Invalid mode ({}), must be ' - * '"r" or "rb"'.format(mode)) - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":373 - * # a segmentation fault on linux. So - * # let's check before that happens. - * if (filename is not None) and (not op.isfile(filename)): # <<<<<<<<<<<<<< - * raise ValueError('File {} does not exist'.format(filename)) - * - */ - __Pyx_TraceLine(373,0,__PYX_ERR(0, 373, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_filename != Py_None); - __pyx_t_3 = (__pyx_t_1 != 0); - if (__pyx_t_3) { - } else { - __pyx_t_2 = __pyx_t_3; - goto __pyx_L22_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_op); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_isfile); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_filename); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 373, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 373, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_1 = ((!__pyx_t_3) != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L22_bool_binop_done:; - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":374 - * # let's check before that happens. - * if (filename is not None) and (not op.isfile(filename)): - * raise ValueError('File {} does not exist'.format(filename)) # <<<<<<<<<<<<<< - * - * mode = 'rb' - */ - __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_File_does_not_exist, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_filename); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_6, 0, 0, 0); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __PYX_ERR(0, 374, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":373 - * # a segmentation fault on linux. So - * # let's check before that happens. - * if (filename is not None) and (not op.isfile(filename)): # <<<<<<<<<<<<<< - * raise ValueError('File {} does not exist'.format(filename)) - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":376 - * raise ValueError('File {} does not exist'.format(filename)) - * - * mode = 'rb' # <<<<<<<<<<<<<< - * own_file = fileobj is None - * - */ - __Pyx_TraceLine(376,0,__PYX_ERR(0, 376, __pyx_L1_error)) - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_DECREF_SET(__pyx_v_mode, __pyx_n_s_rb); - - /* "indexed_gzip/indexed_gzip.pyx":377 - * - * mode = 'rb' - * own_file = fileobj is None # <<<<<<<<<<<<<< - * - * # if file is specified with an open - */ - __Pyx_TraceLine(377,0,__PYX_ERR(0, 377, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_fileobj == Py_None); - __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_v_own_file = __pyx_t_6; - __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":381 - * # if file is specified with an open - * # file handle, drop_handles is ignored - * if fileobj is not None: # <<<<<<<<<<<<<< - * drop_handles = False - * - */ - __Pyx_TraceLine(381,0,__PYX_ERR(0, 381, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_fileobj != Py_None); - __pyx_t_1 = (__pyx_t_2 != 0); - if (__pyx_t_1) { - - /* "indexed_gzip/indexed_gzip.pyx":382 - * # file handle, drop_handles is ignored - * if fileobj is not None: - * drop_handles = False # <<<<<<<<<<<<<< - * - * # if not drop_handles, we open a - */ - __Pyx_TraceLine(382,0,__PYX_ERR(0, 382, __pyx_L1_error)) - __Pyx_INCREF(Py_False); - __Pyx_DECREF_SET(__pyx_v_drop_handles, Py_False); - - /* "indexed_gzip/indexed_gzip.pyx":381 - * # if file is specified with an open - * # file handle, drop_handles is ignored - * if fileobj is not None: # <<<<<<<<<<<<<< - * drop_handles = False - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":387 - * # file handle and keep it open for - * # the lifetime of this object. - * if not drop_handles: # <<<<<<<<<<<<<< - * if fileobj is None: - * fileobj = builtin_open(filename, mode) - */ - __Pyx_TraceLine(387,0,__PYX_ERR(0, 387, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_drop_handles); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 387, __pyx_L1_error) - __pyx_t_2 = ((!__pyx_t_1) != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":388 - * # the lifetime of this object. - * if not drop_handles: - * if fileobj is None: # <<<<<<<<<<<<<< - * fileobj = builtin_open(filename, mode) - * try: - */ - __Pyx_TraceLine(388,0,__PYX_ERR(0, 388, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_fileobj == Py_None); - __pyx_t_1 = (__pyx_t_2 != 0); - if (__pyx_t_1) { - - /* "indexed_gzip/indexed_gzip.pyx":389 - * if not drop_handles: - * if fileobj is None: - * fileobj = builtin_open(filename, mode) # <<<<<<<<<<<<<< - * try: - * fd = fdopen(fileobj.fileno(), 'rb') - */ - __Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_builtin_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_filename, __pyx_v_mode}; - __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_6); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_filename, __pyx_v_mode}; - __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_6); - } else - #endif - { - __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_filename); - __Pyx_INCREF(__pyx_v_mode); - __Pyx_GIVEREF(__pyx_v_mode); - PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_mode); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 389, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_fileobj, __pyx_t_6); - __pyx_t_6 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":388 - * # the lifetime of this object. - * if not drop_handles: - * if fileobj is None: # <<<<<<<<<<<<<< - * fileobj = builtin_open(filename, mode) - * try: - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":390 - * if fileobj is None: - * fileobj = builtin_open(filename, mode) - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: - */ - __Pyx_TraceLine(390,0,__PYX_ERR(0, 390, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":391 - * fileobj = builtin_open(filename, mode) - * try: - * fd = fdopen(fileobj.fileno(), 'rb') # <<<<<<<<<<<<<< - * except io.UnsupportedOperation: - * fd = NULL - */ - __Pyx_TraceLine(391,0,__PYX_ERR(0, 391, __pyx_L27_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_fileno); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 391, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 391, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 391, __pyx_L27_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_fd = fdopen(__pyx_t_7, ((char const *)"rb")); - - /* "indexed_gzip/indexed_gzip.pyx":390 - * if fileobj is None: - * fileobj = builtin_open(filename, mode) - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: - */ - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L32_try_end; - __pyx_L27_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":392 - * try: - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: # <<<<<<<<<<<<<< - * fd = NULL - * - */ - __Pyx_TraceLine(392,0,__PYX_ERR(0, 392, __pyx_L29_except_error)) - __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_5, &__pyx_t_8); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_io); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 392, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_UnsupportedOperation); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 392, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_6, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_5, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; - if (__pyx_t_7) { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 392, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - - /* "indexed_gzip/indexed_gzip.pyx":393 - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: - * fd = NULL # <<<<<<<<<<<<<< - * - * self.spacing = spacing - */ - __Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L29_except_error)) - __pyx_v_fd = NULL; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L28_exception_handled; - } - goto __pyx_L29_except_error; - __pyx_L29_except_error:; - - /* "indexed_gzip/indexed_gzip.pyx":390 - * if fileobj is None: - * fileobj = builtin_open(filename, mode) - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: - */ - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - goto __pyx_L1_error; - __pyx_L28_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_L32_try_end:; - } - - /* "indexed_gzip/indexed_gzip.pyx":387 - * # file handle and keep it open for - * # the lifetime of this object. - * if not drop_handles: # <<<<<<<<<<<<<< - * if fileobj is None: - * fileobj = builtin_open(filename, mode) - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":395 - * fd = NULL - * - * self.spacing = spacing # <<<<<<<<<<<<<< - * self.window_size = window_size - * self.readbuf_size = readbuf_size - */ - __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L1_error)) - __pyx_t_13 = __Pyx_PyInt_As_uint32_t(__pyx_v_spacing); if (unlikely((__pyx_t_13 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 395, __pyx_L1_error) - __pyx_v_self->spacing = __pyx_t_13; - - /* "indexed_gzip/indexed_gzip.pyx":396 - * - * self.spacing = spacing - * self.window_size = window_size # <<<<<<<<<<<<<< - * self.readbuf_size = readbuf_size - * self.readall_buf_size = readall_buf_size - */ - __Pyx_TraceLine(396,0,__PYX_ERR(0, 396, __pyx_L1_error)) - __pyx_t_13 = __Pyx_PyInt_As_uint32_t(__pyx_v_window_size); if (unlikely((__pyx_t_13 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 396, __pyx_L1_error) - __pyx_v_self->window_size = __pyx_t_13; - - /* "indexed_gzip/indexed_gzip.pyx":397 - * self.spacing = spacing - * self.window_size = window_size - * self.readbuf_size = readbuf_size # <<<<<<<<<<<<<< - * self.readall_buf_size = readall_buf_size - * self.auto_build = auto_build - */ - __Pyx_TraceLine(397,0,__PYX_ERR(0, 397, __pyx_L1_error)) - __pyx_t_13 = __Pyx_PyInt_As_uint32_t(__pyx_v_readbuf_size); if (unlikely((__pyx_t_13 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 397, __pyx_L1_error) - __pyx_v_self->readbuf_size = __pyx_t_13; - - /* "indexed_gzip/indexed_gzip.pyx":398 - * self.window_size = window_size - * self.readbuf_size = readbuf_size - * self.readall_buf_size = readall_buf_size # <<<<<<<<<<<<<< - * self.auto_build = auto_build - * self.skip_crc_check = skip_crc_check - */ - __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L1_error)) - __pyx_t_14 = __Pyx_PyInt_As_unsigned_int(__pyx_v_readall_buf_size); if (unlikely((__pyx_t_14 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 398, __pyx_L1_error) - __pyx_v_self->readall_buf_size = __pyx_t_14; - - /* "indexed_gzip/indexed_gzip.pyx":399 - * self.readbuf_size = readbuf_size - * self.readall_buf_size = readall_buf_size - * self.auto_build = auto_build # <<<<<<<<<<<<<< - * self.skip_crc_check = skip_crc_check - * self.drop_handles = drop_handles - */ - __Pyx_TraceLine(399,0,__PYX_ERR(0, 399, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_auto_build); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 399, __pyx_L1_error) - __pyx_v_self->auto_build = __pyx_t_1; - - /* "indexed_gzip/indexed_gzip.pyx":400 - * self.readall_buf_size = readall_buf_size - * self.auto_build = auto_build - * self.skip_crc_check = skip_crc_check # <<<<<<<<<<<<<< - * self.drop_handles = drop_handles - * self.filename = filename - */ - __Pyx_TraceLine(400,0,__PYX_ERR(0, 400, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_skip_crc_check); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L1_error) - __pyx_v_self->skip_crc_check = __pyx_t_1; - - /* "indexed_gzip/indexed_gzip.pyx":401 - * self.auto_build = auto_build - * self.skip_crc_check = skip_crc_check - * self.drop_handles = drop_handles # <<<<<<<<<<<<<< - * self.filename = filename - * self.own_file = own_file - */ - __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_drop_handles); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 401, __pyx_L1_error) - __pyx_v_self->drop_handles = __pyx_t_1; - - /* "indexed_gzip/indexed_gzip.pyx":402 - * self.skip_crc_check = skip_crc_check - * self.drop_handles = drop_handles - * self.filename = filename # <<<<<<<<<<<<<< - * self.own_file = own_file - * self.pyfid = fileobj - */ - __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L1_error)) - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - __Pyx_GOTREF(__pyx_v_self->filename); - __Pyx_DECREF(__pyx_v_self->filename); - __pyx_v_self->filename = __pyx_v_filename; - - /* "indexed_gzip/indexed_gzip.pyx":403 - * self.drop_handles = drop_handles - * self.filename = filename - * self.own_file = own_file # <<<<<<<<<<<<<< - * self.pyfid = fileobj - * - */ - __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_own_file); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 403, __pyx_L1_error) - __pyx_v_self->own_file = __pyx_t_1; - - /* "indexed_gzip/indexed_gzip.pyx":404 - * self.filename = filename - * self.own_file = own_file - * self.pyfid = fileobj # <<<<<<<<<<<<<< - * - * flags = 0 - */ - __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L1_error)) - __Pyx_INCREF(__pyx_v_fileobj); - __Pyx_GIVEREF(__pyx_v_fileobj); - __Pyx_GOTREF(__pyx_v_self->pyfid); - __Pyx_DECREF(__pyx_v_self->pyfid); - __pyx_v_self->pyfid = __pyx_v_fileobj; - - /* "indexed_gzip/indexed_gzip.pyx":406 - * self.pyfid = fileobj - * - * flags = 0 # <<<<<<<<<<<<<< - * - * if auto_build: flags |= zran.ZRAN_AUTO_BUILD - */ - __Pyx_TraceLine(406,0,__PYX_ERR(0, 406, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_v_flags = __pyx_int_0; - - /* "indexed_gzip/indexed_gzip.pyx":408 - * flags = 0 - * - * if auto_build: flags |= zran.ZRAN_AUTO_BUILD # <<<<<<<<<<<<<< - * if skip_crc_check: flags |= zran.ZRAN_SKIP_CRC_CHECK - * - */ - __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_auto_build); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 408, __pyx_L1_error) - if (__pyx_t_1) { - __pyx_t_6 = __Pyx_PyInt_From_int(ZRAN_AUTO_BUILD); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyNumber_InPlaceOr(__pyx_v_flags, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_flags, __pyx_t_5); - __pyx_t_5 = 0; - } - - /* "indexed_gzip/indexed_gzip.pyx":409 - * - * if auto_build: flags |= zran.ZRAN_AUTO_BUILD - * if skip_crc_check: flags |= zran.ZRAN_SKIP_CRC_CHECK # <<<<<<<<<<<<<< - * - * # Set index.fd here just for the initial - */ - __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_skip_crc_check); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 409, __pyx_L1_error) - if (__pyx_t_1) { - __pyx_t_5 = __Pyx_PyInt_From_int(ZRAN_SKIP_CRC_CHECK); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyNumber_InPlaceOr(__pyx_v_flags, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_flags, __pyx_t_6); - __pyx_t_6 = 0; - } - - /* "indexed_gzip/indexed_gzip.pyx":414 - * # call, as __file_handle may otherwise - * # manipulate it incorrectly - * self.index.fd = fd # <<<<<<<<<<<<<< - * with self.__file_handle(): - * if zran.zran_init(index=&self.index, - */ - __Pyx_TraceLine(414,0,__PYX_ERR(0, 414, __pyx_L1_error)) - __pyx_v_self->index.fd = __pyx_v_fd; - - /* "indexed_gzip/indexed_gzip.pyx":415 - * # manipulate it incorrectly - * self.index.fd = fd - * with self.__file_handle(): # <<<<<<<<<<<<<< - * if zran.zran_init(index=&self.index, - * fd=self.index.fd, - */ - __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L1_error)) - /*with:*/ { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_enter); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 415, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - } - } - __pyx_t_5 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_9, &__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_15); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":419 - * fd=self.index.fd, - * f=fileobj, - * spacing=spacing, # <<<<<<<<<<<<<< - * window_size=window_size, - * readbuf_size=readbuf_size, - */ - __Pyx_TraceLine(419,0,__PYX_ERR(0, 419, __pyx_L41_error)) - __pyx_t_13 = __Pyx_PyInt_As_uint32_t(__pyx_v_spacing); if (unlikely((__pyx_t_13 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 419, __pyx_L41_error) - - /* "indexed_gzip/indexed_gzip.pyx":420 - * f=fileobj, - * spacing=spacing, - * window_size=window_size, # <<<<<<<<<<<<<< - * readbuf_size=readbuf_size, - * flags=flags): - */ - __Pyx_TraceLine(420,0,__PYX_ERR(0, 420, __pyx_L41_error)) - __pyx_t_16 = __Pyx_PyInt_As_uint32_t(__pyx_v_window_size); if (unlikely((__pyx_t_16 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 420, __pyx_L41_error) - - /* "indexed_gzip/indexed_gzip.pyx":421 - * spacing=spacing, - * window_size=window_size, - * readbuf_size=readbuf_size, # <<<<<<<<<<<<<< - * flags=flags): - * raise ZranError('zran_init returned error (file: ' - */ - __Pyx_TraceLine(421,0,__PYX_ERR(0, 421, __pyx_L41_error)) - __pyx_t_17 = __Pyx_PyInt_As_uint32_t(__pyx_v_readbuf_size); if (unlikely((__pyx_t_17 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 421, __pyx_L41_error) - - /* "indexed_gzip/indexed_gzip.pyx":422 - * window_size=window_size, - * readbuf_size=readbuf_size, - * flags=flags): # <<<<<<<<<<<<<< - * raise ZranError('zran_init returned error (file: ' - * '{})'.format(self.errname)) - */ - __Pyx_TraceLine(422,0,__PYX_ERR(0, 422, __pyx_L41_error)) - __pyx_t_18 = __Pyx_PyInt_As_uint16_t(__pyx_v_flags); if (unlikely((__pyx_t_18 == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 422, __pyx_L41_error) - - /* "indexed_gzip/indexed_gzip.pyx":416 - * self.index.fd = fd - * with self.__file_handle(): - * if zran.zran_init(index=&self.index, # <<<<<<<<<<<<<< - * fd=self.index.fd, - * f=fileobj, - */ - __Pyx_TraceLine(416,0,__PYX_ERR(0, 416, __pyx_L41_error)) - __pyx_t_1 = (zran_init((&__pyx_v_self->index), __pyx_v_self->index.fd, ((PyObject *)__pyx_v_fileobj), __pyx_t_13, __pyx_t_16, __pyx_t_17, __pyx_t_18) != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":423 - * readbuf_size=readbuf_size, - * flags=flags): - * raise ZranError('zran_init returned error (file: ' # <<<<<<<<<<<<<< - * '{})'.format(self.errname)) - * - */ - __Pyx_TraceLine(423,0,__PYX_ERR(0, 423, __pyx_L41_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 423, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/indexed_gzip.pyx":424 - * flags=flags): - * raise ZranError('zran_init returned error (file: ' - * '{})'.format(self.errname)) # <<<<<<<<<<<<<< - * - * log.debug('%s.__init__(%s, %s, %s, %s, %s, %s, %s)', - */ - __Pyx_TraceLine(424,0,__PYX_ERR(0, 424, __pyx_L41_error)) - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_init_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 424, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 424, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_19 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - __pyx_t_8 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_19, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_4); - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 424, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_6 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 423, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_6, 0, 0, 0); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __PYX_ERR(0, 423, __pyx_L41_error) - - /* "indexed_gzip/indexed_gzip.pyx":416 - * self.index.fd = fd - * with self.__file_handle(): - * if zran.zran_init(index=&self.index, # <<<<<<<<<<<<<< - * fd=self.index.fd, - * f=fileobj, - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":415 - * # manipulate it incorrectly - * self.index.fd = fd - * with self.__file_handle(): # <<<<<<<<<<<<<< - * if zran.zran_init(index=&self.index, - * fd=self.index.fd, - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L46_try_end; - __pyx_L41_error:; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_8) < 0) __PYX_ERR(0, 415, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_12 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 415, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_12, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 415, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_1 < 0) __PYX_ERR(0, 415, __pyx_L43_except_error) - __pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_5, __pyx_t_8); - __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; - __PYX_ERR(0, 415, __pyx_L43_except_error) - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L42_exception_handled; - } - __pyx_L43_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_9, __pyx_t_15); - goto __pyx_L1_error; - __pyx_L42_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_9, __pyx_t_15); - __pyx_L46_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 415, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - goto __pyx_L40; - } - __pyx_L40:; - } - goto __pyx_L51; - __pyx_L37_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L1_error; - __pyx_L51:; - } - - /* "indexed_gzip/indexed_gzip.pyx":426 - * '{})'.format(self.errname)) - * - * log.debug('%s.__init__(%s, %s, %s, %s, %s, %s, %s)', # <<<<<<<<<<<<<< - * type(self).__name__, - * fileobj, - */ - __Pyx_TraceLine(426,0,__PYX_ERR(0, 426, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":427 - * - * log.debug('%s.__init__(%s, %s, %s, %s, %s, %s, %s)', - * type(self).__name__, # <<<<<<<<<<<<<< - * fileobj, - * filename, - */ - __Pyx_TraceLine(427,0,__PYX_ERR(0, 427, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 427, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/indexed_gzip.pyx":434 - * window_size, - * readbuf_size, - * drop_handles) # <<<<<<<<<<<<<< - * - * if index_file is not None: - */ - __Pyx_TraceLine(434,0,__PYX_ERR(0, 434, __pyx_L1_error)) - __pyx_t_12 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_6)) { - PyObject *__pyx_temp[10] = {__pyx_t_12, __pyx_kp_s_s___init___s_s_s_s_s_s_s, __pyx_t_5, __pyx_v_fileobj, __pyx_v_filename, __pyx_v_auto_build, __pyx_v_spacing, __pyx_v_window_size, __pyx_v_readbuf_size, __pyx_v_drop_handles}; - __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 9+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 426, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { - PyObject *__pyx_temp[10] = {__pyx_t_12, __pyx_kp_s_s___init___s_s_s_s_s_s_s, __pyx_t_5, __pyx_v_fileobj, __pyx_v_filename, __pyx_v_auto_build, __pyx_v_spacing, __pyx_v_window_size, __pyx_v_readbuf_size, __pyx_v_drop_handles}; - __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 9+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 426, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - { - __pyx_t_4 = PyTuple_New(9+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_12); __pyx_t_12 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_s___init___s_s_s_s_s_s_s); - __Pyx_GIVEREF(__pyx_kp_s_s___init___s_s_s_s_s_s_s); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_kp_s_s___init___s_s_s_s_s_s_s); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_t_5); - __Pyx_INCREF(__pyx_v_fileobj); - __Pyx_GIVEREF(__pyx_v_fileobj); - PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_7, __pyx_v_fileobj); - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_7, __pyx_v_filename); - __Pyx_INCREF(__pyx_v_auto_build); - __Pyx_GIVEREF(__pyx_v_auto_build); - PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_7, __pyx_v_auto_build); - __Pyx_INCREF(__pyx_v_spacing); - __Pyx_GIVEREF(__pyx_v_spacing); - PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_7, __pyx_v_spacing); - __Pyx_INCREF(__pyx_v_window_size); - __Pyx_GIVEREF(__pyx_v_window_size); - PyTuple_SET_ITEM(__pyx_t_4, 6+__pyx_t_7, __pyx_v_window_size); - __Pyx_INCREF(__pyx_v_readbuf_size); - __Pyx_GIVEREF(__pyx_v_readbuf_size); - PyTuple_SET_ITEM(__pyx_t_4, 7+__pyx_t_7, __pyx_v_readbuf_size); - __Pyx_INCREF(__pyx_v_drop_handles); - __Pyx_GIVEREF(__pyx_v_drop_handles); - PyTuple_SET_ITEM(__pyx_t_4, 8+__pyx_t_7, __pyx_v_drop_handles); - __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 426, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":436 - * drop_handles) - * - * if index_file is not None: # <<<<<<<<<<<<<< - * self.import_index(index_file) - * - */ - __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_index_file != Py_None); - __pyx_t_1 = (__pyx_t_2 != 0); - if (__pyx_t_1) { - - /* "indexed_gzip/indexed_gzip.pyx":437 - * - * if index_file is not None: - * self.import_index(index_file) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_import_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_8 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_v_index_file) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_index_file); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":436 - * drop_handles) - * - * if index_file is not None: # <<<<<<<<<<<<<< - * self.import_index(index_file) - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":289 - * - * - * def __init__(self, # <<<<<<<<<<<<<< - * filename=None, - * fileobj=None, - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_own_file); - __Pyx_XDECREF(__pyx_v_flags); - __Pyx_XDECREF(__pyx_v_filename); - __Pyx_XDECREF(__pyx_v_fileobj); - __Pyx_XDECREF(__pyx_v_mode); - __Pyx_XDECREF(__pyx_v_drop_handles); - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":440 - * - * - * def __file_handle(self): # <<<<<<<<<<<<<< - * """This method is used as a context manager whenever access to the - * underlying file stream is required. It makes sure that ``index.fd`` - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle[] = "_IndexedGzipFile.__file_handle(self)\nThis method is used as a context manager whenever access to the\n underlying file stream is required. It makes sure that ``index.fd``\n field is set appropriately, opening/closing the file handle as\n necessary (depending on the value of :attr:`drop_handles`).\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle = {"__file_handle", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__file_handle (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - -/* "indexed_gzip/indexed_gzip.pyx":453 - * # dropping support for cython < 0.26. - * @contextlib.contextmanager - * def proxy(): # <<<<<<<<<<<<<< - * - * # If a file handle already exists, - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy = {"proxy", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("proxy (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_proxy(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_proxy(PyObject *__pyx_self) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("proxy", 0); - __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 453, __pyx_L1_error) - } else { - __Pyx_GOTREF(__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *) __Pyx_CyFunction_GetClosure(__pyx_self); - __Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope)); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope); - { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_proxy, __pyx_n_s_file_handle_locals_proxy, __pyx_n_s_indexed_gzip_indexed_gzip); if (unlikely(!gen)) __PYX_ERR(0, 453, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__file_handle.proxy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *__pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - char const *__pyx_t_6; - int __pyx_t_7; - int __pyx_t_8; - char const *__pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("proxy", 0); - __Pyx_TraceCall("proxy", __pyx_f[0], 453, 0, __PYX_ERR(0, 453, __pyx_L1_error)); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_yield; - case 2: goto __pyx_L6_resume_from_yield; - case 3: goto __pyx_L10_resume_from_yield; - default: /* CPython raises the right error here */ - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 453, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":458 - * # return it. This clause makes this - * # context manager reentrant. - * if self.index.fd is not NULL: # <<<<<<<<<<<<<< - * yield - * - */ - __Pyx_TraceLine(458,0,__PYX_ERR(0, 458, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 458, __pyx_L1_error) } - __pyx_t_1 = ((__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd != NULL) != 0); - if (__pyx_t_1) { - - /* "indexed_gzip/indexed_gzip.pyx":459 - * # context manager reentrant. - * if self.index.fd is not NULL: - * yield # <<<<<<<<<<<<<< - * - * # If a file-like object exists (without an associated - */ - __Pyx_TraceLine(459,0,__PYX_ERR(0, 459, __pyx_L1_error)) - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, yielding value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_yield:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 459, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":458 - * # return it. This clause makes this - * # context manager reentrant. - * if self.index.fd is not NULL: # <<<<<<<<<<<<<< - * yield - * - */ - goto __pyx_L4; - } - - /* "indexed_gzip/indexed_gzip.pyx":464 - * # file descriptor, since self.index.fd is NULL), - * # also return it. - * elif self.pyfid is not None: # <<<<<<<<<<<<<< - * yield - * - */ - __Pyx_TraceLine(464,0,__PYX_ERR(0, 464, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 464, __pyx_L1_error) } - __pyx_t_1 = (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->pyfid != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":465 - * # also return it. - * elif self.pyfid is not None: - * yield # <<<<<<<<<<<<<< - * - * # otherwise we open a new - */ - __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L1_error)) - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, yielding value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L6_resume_from_yield:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 465, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":464 - * # file descriptor, since self.index.fd is NULL), - * # also return it. - * elif self.pyfid is not None: # <<<<<<<<<<<<<< - * yield - * - */ - goto __pyx_L4; - } - - /* "indexed_gzip/indexed_gzip.pyx":470 - * # file handle on each access - * else: - * try: # <<<<<<<<<<<<<< - * self.index.fd = fopen(self.filename.encode(), 'rb') - * yield - */ - __Pyx_TraceLine(470,0,__PYX_ERR(0, 470, __pyx_L1_error)) - /*else*/ { - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":471 - * else: - * try: - * self.index.fd = fopen(self.filename.encode(), 'rb') # <<<<<<<<<<<<<< - * yield - * - */ - __Pyx_TraceLine(471,0,__PYX_ERR(0, 471, __pyx_L8_error)) - if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 471, __pyx_L8_error) } - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->filename, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 471, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_t_3); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 471, __pyx_L8_error) - if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 471, __pyx_L8_error) } - __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd = fopen(__pyx_t_6, ((char const *)"rb")); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":472 - * try: - * self.index.fd = fopen(self.filename.encode(), 'rb') - * yield # <<<<<<<<<<<<<< - * - * finally: - */ - __Pyx_TraceLine(472,0,__PYX_ERR(0, 472, __pyx_L8_error)) - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, yielding value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L10_resume_from_yield:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 472, __pyx_L8_error) - } - - /* "indexed_gzip/indexed_gzip.pyx":475 - * - * finally: - * fclose(self.index.fd) # <<<<<<<<<<<<<< - * self.index.fd = NULL - * - */ - __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L8_error)) - /*finally:*/ { - /*normal exit:*/{ - if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 475, __pyx_L1_error) } - (void)(fclose(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd)); - - /* "indexed_gzip/indexed_gzip.pyx":476 - * finally: - * fclose(self.index.fd) - * self.index.fd = NULL # <<<<<<<<<<<<<< - * - * return proxy() - */ - __Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 476, __pyx_L1_error) } - __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd = NULL; - goto __pyx_L9; - } - __pyx_L8_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; - { - - /* "indexed_gzip/indexed_gzip.pyx":475 - * - * finally: - * fclose(self.index.fd) # <<<<<<<<<<<<<< - * self.index.fd = NULL - * - */ - __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L12_error)) - if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 475, __pyx_L12_error) } - (void)(fclose(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd)); - - /* "indexed_gzip/indexed_gzip.pyx":476 - * finally: - * fclose(self.index.fd) - * self.index.fd = NULL # <<<<<<<<<<<<<< - * - * return proxy() - */ - __Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L12_error)) - if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 476, __pyx_L12_error) } - __pyx_cur_scope->__pyx_outer_scope->__pyx_v_self->index.fd = NULL; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; - goto __pyx_L1_error; - __pyx_L12_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - goto __pyx_L1_error; - } - __pyx_L9:; - } - } - __pyx_L4:; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - /* "indexed_gzip/indexed_gzip.pyx":453 - * # dropping support for cython < 0.26. - * @contextlib.contextmanager - * def proxy(): # <<<<<<<<<<<<<< - * - * # If a file handle already exists, - */ - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("proxy", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":440 - * - * - * def __file_handle(self): # <<<<<<<<<<<<<< - * """This method is used as a context manager whenever access to the - * underlying file stream is required. It makes sure that ``index.fd`` - */ - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *__pyx_cur_scope; - PyObject *__pyx_v_proxy = 0; - PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1 = 0; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__8) - __Pyx_RefNannySetupContext("__file_handle", 0); - __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 440, __pyx_L1_error) - } else { - __Pyx_GOTREF(__pyx_cur_scope); - } - __Pyx_TraceCall("__file_handle", __pyx_f[0], 440, 0, __PYX_ERR(0, 440, __pyx_L1_error)); - __pyx_cur_scope->__pyx_v_self = __pyx_v_self; - __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self); - __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self); - - /* "indexed_gzip/indexed_gzip.pyx":452 - * # can be removed when you are happy - * # dropping support for cython < 0.26. - * @contextlib.contextmanager # <<<<<<<<<<<<<< - * def proxy(): - * - */ - __Pyx_TraceLine(452,0,__PYX_ERR(0, 452, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_contextlib); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 452, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_contextmanager); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":453 - * # dropping support for cython < 0.26. - * @contextlib.contextmanager - * def proxy(): # <<<<<<<<<<<<<< - * - * # If a file handle already exists, - */ - __Pyx_TraceLine(453,0,__PYX_ERR(0, 453, __pyx_L1_error)) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_1proxy, 0, __pyx_n_s_file_handle_locals_proxy, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_proxy = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":478 - * self.index.fd = NULL - * - * return proxy() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(478,0,__PYX_ERR(0, 478, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_proxy); - __pyx_t_3 = __pyx_v_proxy; __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":440 - * - * - * def __file_handle(self): # <<<<<<<<<<<<<< - * """This method is used as a context manager whenever access to the - * underlying file stream is required. It makes sure that ``index.fd`` - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__file_handle", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_proxy); - __Pyx_XDECREF(__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13__file_handle_2generator1); - __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - -/* "indexed_gzip/indexed_gzip.pyx":481 - * - * - * def seek_points(self): # <<<<<<<<<<<<<< - * """Return the seek point locations that currently exist in the index. - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points[] = "_IndexedGzipFile.seek_points(self)\nReturn the seek point locations that currently exist in the index.\n\n Yields a sequence of tuples, with each tuple containing the\n uncompressed and compressed offsets for one seek point in the index.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points = {"seek_points", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("seek_points (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("seek_points", 0); - __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(__pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 481, __pyx_L1_error) - } else { - __Pyx_GOTREF(__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_self = __pyx_v_self; - __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self); - __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self); - { - __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6generator, __pyx_codeobj__10, (PyObject *) __pyx_cur_scope, __pyx_n_s_seek_points, __pyx_n_s_IndexedGzipFile_seek_points, __pyx_n_s_indexed_gzip_indexed_gzip); if (unlikely(!gen)) __PYX_ERR(0, 481, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *__pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - uint32_t __pyx_t_1; - uint32_t __pyx_t_2; - uint32_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("seek_points", 0); - __Pyx_TraceFrameInit(__pyx_codeobj__10) - __Pyx_TraceCall("seek_points", __pyx_f[0], 481, 0, __PYX_ERR(0, 481, __pyx_L1_error)); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L6_resume_from_yield; - default: /* CPython raises the right error here */ - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 481, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":487 - * uncompressed and compressed offsets for one seek point in the index. - * """ - * for i in range(self.index.npoints): # <<<<<<<<<<<<<< - * point = self.index.list[i] - * yield (point.uncmp_offset, point.cmp_offset) - */ - __Pyx_TraceLine(487,0,__PYX_ERR(0, 487, __pyx_L1_error)) - __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->index.npoints; - __pyx_t_2 = __pyx_t_1; - for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) { - __pyx_cur_scope->__pyx_v_i = __pyx_t_3; - - /* "indexed_gzip/indexed_gzip.pyx":488 - * """ - * for i in range(self.index.npoints): - * point = self.index.list[i] # <<<<<<<<<<<<<< - * yield (point.uncmp_offset, point.cmp_offset) - * - */ - __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L1_error)) - __pyx_cur_scope->__pyx_v_point = (__pyx_cur_scope->__pyx_v_self->index.list[__pyx_cur_scope->__pyx_v_i]); - - /* "indexed_gzip/indexed_gzip.pyx":489 - * for i in range(self.index.npoints): - * point = self.index.list[i] - * yield (point.uncmp_offset, point.cmp_offset) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(489,0,__PYX_ERR(0, 489, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_cur_scope->__pyx_v_point.uncmp_offset); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_cur_scope->__pyx_v_point.cmp_offset); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 489, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); - __pyx_t_4 = 0; - __pyx_t_5 = 0; - __pyx_r = __pyx_t_6; - __pyx_t_6 = 0; - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, yielding value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L6_resume_from_yield:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 489, __pyx_L1_error) - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - /* "indexed_gzip/indexed_gzip.pyx":481 - * - * - * def seek_points(self): # <<<<<<<<<<<<<< - * """Return the seek point locations that currently exist in the index. - * - */ - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":492 - * - * - * def fileno(self): # <<<<<<<<<<<<<< - * """Calls ``fileno`` on the underlying file object. Raises a - * :exc:`NoHandleError` if ``drop_handles is True``. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno[] = "_IndexedGzipFile.fileno(self)\nCalls ``fileno`` on the underlying file object. Raises a\n :exc:`NoHandleError` if ``drop_handles is True``.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno = {"fileno", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("fileno (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__11) - __Pyx_RefNannySetupContext("fileno", 0); - __Pyx_TraceCall("fileno", __pyx_f[0], 492, 0, __PYX_ERR(0, 492, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":496 - * :exc:`NoHandleError` if ``drop_handles is True``. - * """ - * if self.drop_handles: # <<<<<<<<<<<<<< - * raise NoHandleError() - * return self.pyfid.fileno() - */ - __Pyx_TraceLine(496,0,__PYX_ERR(0, 496, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_self->drop_handles != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":497 - * """ - * if self.drop_handles: - * raise NoHandleError() # <<<<<<<<<<<<<< - * return self.pyfid.fileno() - * - */ - __Pyx_TraceLine(497,0,__PYX_ERR(0, 497, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 497, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 497, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":496 - * :exc:`NoHandleError` if ``drop_handles is True``. - * """ - * if self.drop_handles: # <<<<<<<<<<<<<< - * raise NoHandleError() - * return self.pyfid.fileno() - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":498 - * if self.drop_handles: - * raise NoHandleError() - * return self.pyfid.fileno() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(498,0,__PYX_ERR(0, 498, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 498, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":492 - * - * - * def fileno(self): # <<<<<<<<<<<<<< - * """Calls ``fileno`` on the underlying file object. Raises a - * :exc:`NoHandleError` if ``drop_handles is True``. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.fileno", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":501 - * - * - * def fileobj(self): # <<<<<<<<<<<<<< - * """Returns a reference to the python file object. Raises a - * :exc:`NoHandleError` if ``drop_handles is True``. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj[] = "_IndexedGzipFile.fileobj(self)\nReturns a reference to the python file object. Raises a\n :exc:`NoHandleError` if ``drop_handles is True``.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj = {"fileobj", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("fileobj (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__12) - __Pyx_RefNannySetupContext("fileobj", 0); - __Pyx_TraceCall("fileobj", __pyx_f[0], 501, 0, __PYX_ERR(0, 501, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":505 - * :exc:`NoHandleError` if ``drop_handles is True``. - * """ - * if self.drop_handles: # <<<<<<<<<<<<<< - * raise NoHandleError() - * return self.pyfid - */ - __Pyx_TraceLine(505,0,__PYX_ERR(0, 505, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_self->drop_handles != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":506 - * """ - * if self.drop_handles: - * raise NoHandleError() # <<<<<<<<<<<<<< - * return self.pyfid - * - */ - __Pyx_TraceLine(506,0,__PYX_ERR(0, 506, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 506, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":505 - * :exc:`NoHandleError` if ``drop_handles is True``. - * """ - * if self.drop_handles: # <<<<<<<<<<<<<< - * raise NoHandleError() - * return self.pyfid - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":507 - * if self.drop_handles: - * raise NoHandleError() - * return self.pyfid # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(507,0,__PYX_ERR(0, 507, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_self->pyfid); - __pyx_r = __pyx_v_self->pyfid; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":501 - * - * - * def fileobj(self): # <<<<<<<<<<<<<< - * """Returns a reference to the python file object. Raises a - * :exc:`NoHandleError` if ``drop_handles is True``. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.fileobj", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":511 - * - * @property - * def errname(self): # <<<<<<<<<<<<<< - * """Used in exception messages. Returns the file name associated with - * this ``_IndexedGzipFile``, or ``'n/a'`` if a file name cannot be - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 511, 0, __PYX_ERR(0, 511, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":516 - * identified. - * """ - * if self.filename is not None: # <<<<<<<<<<<<<< - * return self.filename - * if self.pyfid is not None: - */ - __Pyx_TraceLine(516,0,__PYX_ERR(0, 516, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_self->filename != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":517 - * """ - * if self.filename is not None: - * return self.filename # <<<<<<<<<<<<<< - * if self.pyfid is not None: - * if getattr(self.pyfid, 'name', None) is not None: - */ - __Pyx_TraceLine(517,0,__PYX_ERR(0, 517, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_self->filename); - __pyx_r = __pyx_v_self->filename; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":516 - * identified. - * """ - * if self.filename is not None: # <<<<<<<<<<<<<< - * return self.filename - * if self.pyfid is not None: - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":518 - * if self.filename is not None: - * return self.filename - * if self.pyfid is not None: # <<<<<<<<<<<<<< - * if getattr(self.pyfid, 'name', None) is not None: - * return self.pyfid.name - */ - __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_self->pyfid != Py_None); - __pyx_t_1 = (__pyx_t_2 != 0); - if (__pyx_t_1) { - - /* "indexed_gzip/indexed_gzip.pyx":519 - * return self.filename - * if self.pyfid is not None: - * if getattr(self.pyfid, 'name', None) is not None: # <<<<<<<<<<<<<< - * return self.pyfid.name - * return 'n/a' - */ - __Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L1_error)) - __pyx_t_3 = __pyx_v_self->pyfid; - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = __Pyx_GetAttr3(__pyx_t_3, __pyx_n_s_name_2, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 519, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_1 = (__pyx_t_4 != Py_None); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":520 - * if self.pyfid is not None: - * if getattr(self.pyfid, 'name', None) is not None: - * return self.pyfid.name # <<<<<<<<<<<<<< - * return 'n/a' - * - */ - __Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->pyfid, __pyx_n_s_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 520, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":519 - * return self.filename - * if self.pyfid is not None: - * if getattr(self.pyfid, 'name', None) is not None: # <<<<<<<<<<<<<< - * return self.pyfid.name - * return 'n/a' - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":518 - * if self.filename is not None: - * return self.filename - * if self.pyfid is not None: # <<<<<<<<<<<<<< - * if getattr(self.pyfid, 'name', None) is not None: - * return self.pyfid.name - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":521 - * if getattr(self.pyfid, 'name', None) is not None: - * return self.pyfid.name - * return 'n/a' # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_kp_s_n_a); - __pyx_r = __pyx_kp_s_n_a; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":511 - * - * @property - * def errname(self): # <<<<<<<<<<<<<< - * """Used in exception messages. Returns the file name associated with - * this ``_IndexedGzipFile``, or ``'n/a'`` if a file name cannot be - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.errname.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":525 - * - * @property - * def npoints(self): # <<<<<<<<<<<<<< - * """Returns the number of index points that have been created. """ - * return self.index.npoints - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 525, 0, __PYX_ERR(0, 525, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":527 - * def npoints(self): - * """Returns the number of index points that have been created. """ - * return self.index.npoints # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(527,0,__PYX_ERR(0, 527, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->index.npoints); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 527, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":525 - * - * @property - * def npoints(self): # <<<<<<<<<<<<<< - * """Returns the number of index points that have been created. """ - * return self.index.npoints - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.npoints.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":531 - * - * @property - * def mode(self): # <<<<<<<<<<<<<< - * """Returns the mode that this file was opened in. Currently always - * returns ``'rb'``. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode___get__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 531, 0, __PYX_ERR(0, 531, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":535 - * returns ``'rb'``. - * """ - * return 'rb' # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(535,0,__PYX_ERR(0, 535, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_n_s_rb); - __pyx_r = __pyx_n_s_rb; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":531 - * - * @property - * def mode(self): # <<<<<<<<<<<<<< - * """Returns the mode that this file was opened in. Currently always - * returns ``'rb'``. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":538 - * - * - * def close(self): # <<<<<<<<<<<<<< - * """Closes this ``_IndexedGzipFile``. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close[] = "_IndexedGzipFile.close(self)\nCloses this ``_IndexedGzipFile``. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close = {"close", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("close (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__13) - __Pyx_RefNannySetupContext("close", 0); - __Pyx_TraceCall("close", __pyx_f[0], 538, 0, __PYX_ERR(0, 538, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":541 - * """Closes this ``_IndexedGzipFile``. """ - * - * if self.closed: # <<<<<<<<<<<<<< - * raise IOError('_IndexedGzipFile is already closed ' - * '(file: {})'.format(self.errname)) - */ - __Pyx_TraceLine(541,0,__PYX_ERR(0, 541, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 541, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":543 - * if self.closed: - * raise IOError('_IndexedGzipFile is already closed ' - * '(file: {})'.format(self.errname)) # <<<<<<<<<<<<<< - * - * if self.own_file and self.pyfid is not None: self.pyfid.close() - */ - __Pyx_TraceLine(543,0,__PYX_ERR(0, 543, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_IndexedGzipFile_is_already_clos, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":542 - * - * if self.closed: - * raise IOError('_IndexedGzipFile is already closed ' # <<<<<<<<<<<<<< - * '(file: {})'.format(self.errname)) - * - */ - __Pyx_TraceLine(542,0,__PYX_ERR(0, 542, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IOError, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 542, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":541 - * """Closes this ``_IndexedGzipFile``. """ - * - * if self.closed: # <<<<<<<<<<<<<< - * raise IOError('_IndexedGzipFile is already closed ' - * '(file: {})'.format(self.errname)) - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":545 - * '(file: {})'.format(self.errname)) - * - * if self.own_file and self.pyfid is not None: self.pyfid.close() # <<<<<<<<<<<<<< - * elif self.own_file and self.index.fd is not NULL: fclose(self.index.fd) - * - */ - __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L1_error)) - __pyx_t_6 = (__pyx_v_self->own_file != 0); - if (__pyx_t_6) { - } else { - __pyx_t_2 = __pyx_t_6; - goto __pyx_L5_bool_binop_done; - } - __pyx_t_6 = (__pyx_v_self->pyfid != Py_None); - __pyx_t_7 = (__pyx_t_6 != 0); - __pyx_t_2 = __pyx_t_7; - __pyx_L5_bool_binop_done:; - if (__pyx_t_2) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->pyfid, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L4; - } - - /* "indexed_gzip/indexed_gzip.pyx":546 - * - * if self.own_file and self.pyfid is not None: self.pyfid.close() - * elif self.own_file and self.index.fd is not NULL: fclose(self.index.fd) # <<<<<<<<<<<<<< - * - * zran.zran_free(&self.index) - */ - __Pyx_TraceLine(546,0,__PYX_ERR(0, 546, __pyx_L1_error)) - __pyx_t_7 = (__pyx_v_self->own_file != 0); - if (__pyx_t_7) { - } else { - __pyx_t_2 = __pyx_t_7; - goto __pyx_L7_bool_binop_done; - } - __pyx_t_7 = ((__pyx_v_self->index.fd != NULL) != 0); - __pyx_t_2 = __pyx_t_7; - __pyx_L7_bool_binop_done:; - if (__pyx_t_2) { - (void)(fclose(__pyx_v_self->index.fd)); - } - __pyx_L4:; - - /* "indexed_gzip/indexed_gzip.pyx":548 - * elif self.own_file and self.index.fd is not NULL: fclose(self.index.fd) - * - * zran.zran_free(&self.index) # <<<<<<<<<<<<<< - * - * self.index.f = NULL - */ - __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L1_error)) - zran_free((&__pyx_v_self->index)); - - /* "indexed_gzip/indexed_gzip.pyx":550 - * zran.zran_free(&self.index) - * - * self.index.f = NULL # <<<<<<<<<<<<<< - * self.index.fd = NULL - * self.filename = None - */ - __Pyx_TraceLine(550,0,__PYX_ERR(0, 550, __pyx_L1_error)) - __pyx_v_self->index.f = NULL; - - /* "indexed_gzip/indexed_gzip.pyx":551 - * - * self.index.f = NULL - * self.index.fd = NULL # <<<<<<<<<<<<<< - * self.filename = None - * self.pyfid = None - */ - __Pyx_TraceLine(551,0,__PYX_ERR(0, 551, __pyx_L1_error)) - __pyx_v_self->index.fd = NULL; - - /* "indexed_gzip/indexed_gzip.pyx":552 - * self.index.f = NULL - * self.index.fd = NULL - * self.filename = None # <<<<<<<<<<<<<< - * self.pyfid = None - * self.finalized = True - */ - __Pyx_TraceLine(552,0,__PYX_ERR(0, 552, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_self->filename); - __Pyx_DECREF(__pyx_v_self->filename); - __pyx_v_self->filename = Py_None; - - /* "indexed_gzip/indexed_gzip.pyx":553 - * self.index.fd = NULL - * self.filename = None - * self.pyfid = None # <<<<<<<<<<<<<< - * self.finalized = True - * - */ - __Pyx_TraceLine(553,0,__PYX_ERR(0, 553, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_self->pyfid); - __Pyx_DECREF(__pyx_v_self->pyfid); - __pyx_v_self->pyfid = Py_None; - - /* "indexed_gzip/indexed_gzip.pyx":554 - * self.filename = None - * self.pyfid = None - * self.finalized = True # <<<<<<<<<<<<<< - * - * if log is not None: - */ - __Pyx_TraceLine(554,0,__PYX_ERR(0, 554, __pyx_L1_error)) - __pyx_v_self->finalized = 1; - - /* "indexed_gzip/indexed_gzip.pyx":556 - * self.finalized = True - * - * if log is not None: # <<<<<<<<<<<<<< - * log.debug('%s.close()', type(self).__name__) - * - */ - __Pyx_TraceLine(556,0,__PYX_ERR(0, 556, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 556, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = (__pyx_t_3 != Py_None); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = (__pyx_t_2 != 0); - if (__pyx_t_7) { - - /* "indexed_gzip/indexed_gzip.pyx":557 - * - * if log is not None: - * log.debug('%s.close()', type(self).__name__) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(557,0,__PYX_ERR(0, 557, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_log); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - __pyx_t_8 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_8 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_s_close, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_s_close, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - { - __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_s_close); - __Pyx_GIVEREF(__pyx_kp_s_s_close); - PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_kp_s_s_close); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 557, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":556 - * self.finalized = True - * - * if log is not None: # <<<<<<<<<<<<<< - * log.debug('%s.close()', type(self).__name__) - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":538 - * - * - * def close(self): # <<<<<<<<<<<<<< - * """Closes this ``_IndexedGzipFile``. """ - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":561 - * - * @property - * def closed(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` is closed, ``False`` - * otherwise. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 561, 0, __PYX_ERR(0, 561, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":565 - * otherwise. - * """ - * return self.finalized # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(565,0,__PYX_ERR(0, 565, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->finalized); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":561 - * - * @property - * def closed(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` is closed, ``False`` - * otherwise. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.closed.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":568 - * - * - * def readable(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` is readable, ``False`` - * otherwise. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable[] = "_IndexedGzipFile.readable(self)\nReturns ``True`` if this ``_IndexedGzipFile`` is readable, ``False``\n otherwise.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable = {"readable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("readable (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__14) - __Pyx_RefNannySetupContext("readable", 0); - __Pyx_TraceCall("readable", __pyx_f[0], 568, 0, __PYX_ERR(0, 568, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":572 - * otherwise. - * """ - * return not self.closed # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":568 - * - * - * def readable(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` is readable, ``False`` - * otherwise. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":575 - * - * - * def writable(self): # <<<<<<<<<<<<<< - * """Currently always returns ``False`` - the ``_IndexedGzipFile`` does - * not support writing yet. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable[] = "_IndexedGzipFile.writable(self)\nCurrently always returns ``False`` - the ``_IndexedGzipFile`` does\n not support writing yet.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable = {"writable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("writable (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__15) - __Pyx_RefNannySetupContext("writable", 0); - __Pyx_TraceCall("writable", __pyx_f[0], 575, 0, __PYX_ERR(0, 575, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":579 - * not support writing yet. - * """ - * return False # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(579,0,__PYX_ERR(0, 579, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_False); - __pyx_r = Py_False; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":575 - * - * - * def writable(self): # <<<<<<<<<<<<<< - * """Currently always returns ``False`` - the ``_IndexedGzipFile`` does - * not support writing yet. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.writable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":582 - * - * - * def seekable(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` supports seeking, - * ``False`` otherwise. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable[] = "_IndexedGzipFile.seekable(self)\nReturns ``True`` if this ``_IndexedGzipFile`` supports seeking,\n ``False`` otherwise.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable = {"seekable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("seekable (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__16) - __Pyx_RefNannySetupContext("seekable", 0); - __Pyx_TraceCall("seekable", __pyx_f[0], 582, 0, __PYX_ERR(0, 582, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":586 - * ``False`` otherwise. - * """ - * return not self.closed # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(586,0,__PYX_ERR(0, 586, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 586, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":582 - * - * - * def seekable(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` supports seeking, - * ``False`` otherwise. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":589 - * - * - * def tell(self): # <<<<<<<<<<<<<< - * """Returns the current seek offset into the uncompressed data stream. - * """ - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell[] = "_IndexedGzipFile.tell(self)\nReturns the current seek offset into the uncompressed data stream.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell = {"tell", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("tell (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__17) - __Pyx_RefNannySetupContext("tell", 0); - __Pyx_TraceCall("tell", __pyx_f[0], 589, 0, __PYX_ERR(0, 589, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":592 - * """Returns the current seek offset into the uncompressed data stream. - * """ - * return zran.zran_tell(&self.index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(592,0,__PYX_ERR(0, 592, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_self->index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":589 - * - * - * def tell(self): # <<<<<<<<<<<<<< - * """Returns the current seek offset into the uncompressed data stream. - * """ - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.tell", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":595 - * - * - * def __enter__(self): # <<<<<<<<<<<<<< - * """Returns this ``_IndexedGzipFile``. """ - * return self - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__[] = "_IndexedGzipFile.__enter__(self)\nReturns this ``_IndexedGzipFile``. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__ = {"__enter__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__18) - __Pyx_RefNannySetupContext("__enter__", 0); - __Pyx_TraceCall("__enter__", __pyx_f[0], 595, 0, __PYX_ERR(0, 595, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":597 - * def __enter__(self): - * """Returns this ``_IndexedGzipFile``. """ - * return self # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(597,0,__PYX_ERR(0, 597, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_self)); - __pyx_r = ((PyObject *)__pyx_v_self); - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":595 - * - * - * def __enter__(self): # <<<<<<<<<<<<<< - * """Returns this ``_IndexedGzipFile``. """ - * return self - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":600 - * - * - * def __exit__(self, *args): # <<<<<<<<<<<<<< - * """Calls close on this ``_IndexedGzipFile``. """ - * if not self.closed: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__[] = "_IndexedGzipFile.__exit__(self, *args)\nCalls close on this ``_IndexedGzipFile``. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__ = {"__exit__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - CYTHON_UNUSED PyObject *__pyx_v_args = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0); - if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__exit__", 0))) return NULL; - __Pyx_INCREF(__pyx_args); - __pyx_v_args = __pyx_args; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_args); - - /* function exit code */ - __Pyx_XDECREF(__pyx_v_args); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__19) - __Pyx_RefNannySetupContext("__exit__", 0); - __Pyx_TraceCall("__exit__", __pyx_f[0], 600, 0, __PYX_ERR(0, 600, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":602 - * def __exit__(self, *args): - * """Calls close on this ``_IndexedGzipFile``. """ - * if not self.closed: # <<<<<<<<<<<<<< - * self.close() - * - */ - __Pyx_TraceLine(602,0,__PYX_ERR(0, 602, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 602, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = ((!__pyx_t_2) != 0); - if (__pyx_t_3) { - - /* "indexed_gzip/indexed_gzip.pyx":603 - * """Calls close on this ``_IndexedGzipFile``. """ - * if not self.closed: - * self.close() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(603,0,__PYX_ERR(0, 603, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 603, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":602 - * def __exit__(self, *args): - * """Calls close on this ``_IndexedGzipFile``. """ - * if not self.closed: # <<<<<<<<<<<<<< - * self.close() - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":600 - * - * - * def __exit__(self, *args): # <<<<<<<<<<<<<< - * """Calls close on this ``_IndexedGzipFile``. """ - * if not self.closed: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":606 - * - * - * def __dealloc__(self): # <<<<<<<<<<<<<< - * """Frees the memory used by this ``_IndexedGzipFile``. If a file name - * was passed to :meth:`__cinit__`, the file handle is closed. - */ - -/* Python wrapper */ -static void __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_26__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_26__dealloc__(PyObject *__pyx_v_self) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_25__dealloc__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_25__dealloc__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__dealloc__", 0); - __Pyx_TraceCall("__dealloc__", __pyx_f[0], 606, 0, __PYX_ERR(0, 606, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":610 - * was passed to :meth:`__cinit__`, the file handle is closed. - * """ - * if not self.closed: # <<<<<<<<<<<<<< - * self.close() - * - */ - __Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 610, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = ((!__pyx_t_2) != 0); - if (__pyx_t_3) { - - /* "indexed_gzip/indexed_gzip.pyx":611 - * """ - * if not self.closed: - * self.close() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(611,0,__PYX_ERR(0, 611, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 611, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":610 - * was passed to :meth:`__cinit__`, the file handle is closed. - * """ - * if not self.closed: # <<<<<<<<<<<<<< - * self.close() - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":606 - * - * - * def __dealloc__(self): # <<<<<<<<<<<<<< - * """Frees the memory used by this ``_IndexedGzipFile``. If a file name - * was passed to :meth:`__cinit__`, the file handle is closed. - */ - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_WriteUnraisable("indexed_gzip.indexed_gzip._IndexedGzipFile.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); -} - -/* "indexed_gzip/indexed_gzip.pyx":614 - * - * - * def build_full_index(self): # <<<<<<<<<<<<<< - * """Re-builds the full file index. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index[] = "_IndexedGzipFile.build_full_index(self)\nRe-builds the full file index. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index = {"build_full_index", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("build_full_index (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - int __pyx_v_ret; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - int __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__20) - __Pyx_RefNannySetupContext("build_full_index", 0); - __Pyx_TraceCall("build_full_index", __pyx_f[0], 614, 0, __PYX_ERR(0, 614, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":617 - * """Re-builds the full file index. """ - * - * with self.__file_handle(): # <<<<<<<<<<<<<< - * ret = zran.zran_build_index(&self.index, 0, 0) - * - */ - __Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L1_error)) - /*with:*/ { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 617, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":618 - * - * with self.__file_handle(): - * ret = zran.zran_build_index(&self.index, 0, 0) # <<<<<<<<<<<<<< - * - * if ret != zran.ZRAN_BUILD_INDEX_OK: - */ - __Pyx_TraceLine(618,0,__PYX_ERR(0, 618, __pyx_L7_error)) - __pyx_v_ret = zran_build_index((&__pyx_v_self->index), 0, 0); - - /* "indexed_gzip/indexed_gzip.pyx":617 - * """Re-builds the full file index. """ - * - * with self.__file_handle(): # <<<<<<<<<<<<<< - * ret = zran.zran_build_index(&self.index, 0, 0) - * - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.build_full_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 617, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 617, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_10 < 0) __PYX_ERR(0, 617, __pyx_L9_except_error) - __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 617, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 617, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/indexed_gzip.pyx":620 - * ret = zran.zran_build_index(&self.index, 0, 0) - * - * if ret != zran.ZRAN_BUILD_INDEX_OK: # <<<<<<<<<<<<<< - * raise ZranError('zran_build_index returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) - */ - __Pyx_TraceLine(620,0,__PYX_ERR(0, 620, __pyx_L1_error)) - __pyx_t_11 = ((__pyx_v_ret != ZRAN_BUILD_INDEX_OK) != 0); - if (unlikely(__pyx_t_11)) { - - /* "indexed_gzip/indexed_gzip.pyx":621 - * - * if ret != zran.ZRAN_BUILD_INDEX_OK: - * raise ZranError('zran_build_index returned error: {} (file: {})' # <<<<<<<<<<<<<< - * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) - * - */ - __Pyx_TraceLine(621,0,__PYX_ERR(0, 621, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - /* "indexed_gzip/indexed_gzip.pyx":622 - * if ret != zran.ZRAN_BUILD_INDEX_OK: - * raise ZranError('zran_build_index returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) # <<<<<<<<<<<<<< - * - * log.debug('%s.build_full_index()', type(self).__name__) - */ - __Pyx_TraceLine(622,0,__PYX_ERR(0, 622, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_build_index_returned_error, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_ZRAN_BUILD); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_ret, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = NULL; - __pyx_t_15 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_15 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_12, __pyx_t_13}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_12, __pyx_t_13}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - { - __pyx_t_16 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_14); __pyx_t_14 = NULL; - } - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_15, __pyx_t_12); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_15, __pyx_t_13); - __pyx_t_12 = 0; - __pyx_t_13 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_16, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 621, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 621, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":620 - * ret = zran.zran_build_index(&self.index, 0, 0) - * - * if ret != zran.ZRAN_BUILD_INDEX_OK: # <<<<<<<<<<<<<< - * raise ZranError('zran_build_index returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":624 - * .format(ZRAN_ERRORS.ZRAN_BUILD[ret], self.errname)) - * - * log.debug('%s.build_full_index()', type(self).__name__) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_15 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_15 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_s_build_full_index, __pyx_t_2}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_s_build_full_index, __pyx_t_2}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - { - __pyx_t_16 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_s_build_full_index); - __Pyx_GIVEREF(__pyx_kp_s_s_build_full_index); - PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_15, __pyx_kp_s_s_build_full_index); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_15, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_16, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":614 - * - * - * def build_full_index(self): # <<<<<<<<<<<<<< - * """Re-builds the full file index. """ - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.build_full_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":627 - * - * - * def seek(self, offset, whence=SEEK_SET): # <<<<<<<<<<<<<< - * """Seeks to the specified position in the uncompressed data stream. - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek[] = "_IndexedGzipFile.seek(self, offset, whence=SEEK_SET)\nSeeks to the specified position in the uncompressed data stream.\n\n If this ``_IndexedGzipFile`` was created with ``auto_build=False``,\n and the requested offset is not covered by the index, a\n :exc:`NotCoveredError` is raised.\n\n :arg offset: Desired seek offset into the uncompressed data\n\n :arg whence: Either ``SEEK_SET``, ``SEEK_CUR``, or ``SEEK_END``. If\n not one of these, a :exc:`ValueError` is raised.\n\n :returns: The final seek location into the uncompressed stream.\n\n .. note:: This method releases the GIL while ``zran_seek`` is\n running.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek = {"seek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_offset = 0; - PyObject *__pyx_v_whence = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("seek (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_offset,&__pyx_n_s_whence,0}; - PyObject* values[2] = {0,0}; - values[1] = __pyx_k__21; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_whence); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "seek") < 0)) __PYX_ERR(0, 627, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_offset = values[0]; - __pyx_v_whence = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("seek", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 627, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_offset, __pyx_v_whence); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_whence) { - int __pyx_v_ret; - int64_t __pyx_v_off; - uint8_t __pyx_v_c_whence; - zran_index_t *__pyx_v_index; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int64_t __pyx_t_1; - uint8_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__22) - __Pyx_RefNannySetupContext("seek", 0); - __Pyx_TraceCall("seek", __pyx_f[0], 627, 0, __PYX_ERR(0, 627, __pyx_L1_error)); - __Pyx_INCREF(__pyx_v_offset); - - /* "indexed_gzip/indexed_gzip.pyx":646 - * - * cdef int ret - * cdef int64_t off = offset # <<<<<<<<<<<<<< - * cdef uint8_t c_whence = whence - * cdef zran.zran_index_t *index = &self.index - */ - __Pyx_TraceLine(646,0,__PYX_ERR(0, 646, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_offset); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 646, __pyx_L1_error) - __pyx_v_off = __pyx_t_1; - - /* "indexed_gzip/indexed_gzip.pyx":647 - * cdef int ret - * cdef int64_t off = offset - * cdef uint8_t c_whence = whence # <<<<<<<<<<<<<< - * cdef zran.zran_index_t *index = &self.index - * - */ - __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyInt_As_uint8_t(__pyx_v_whence); if (unlikely((__pyx_t_2 == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 647, __pyx_L1_error) - __pyx_v_c_whence = __pyx_t_2; - - /* "indexed_gzip/indexed_gzip.pyx":648 - * cdef int64_t off = offset - * cdef uint8_t c_whence = whence - * cdef zran.zran_index_t *index = &self.index # <<<<<<<<<<<<<< - * - * if whence not in (SEEK_SET, SEEK_CUR, SEEK_END): - */ - __Pyx_TraceLine(648,0,__PYX_ERR(0, 648, __pyx_L1_error)) - __pyx_v_index = (&__pyx_v_self->index); - - /* "indexed_gzip/indexed_gzip.pyx":650 - * cdef zran.zran_index_t *index = &self.index - * - * if whence not in (SEEK_SET, SEEK_CUR, SEEK_END): # <<<<<<<<<<<<<< - * raise ValueError('Invalid value for whence: {}'.format(whence)) - * - */ - __Pyx_TraceLine(650,0,__PYX_ERR(0, 650, __pyx_L1_error)) - __Pyx_INCREF(__pyx_v_whence); - __pyx_t_3 = __pyx_v_whence; - __pyx_t_5 = __Pyx_PyInt_From_int(SEEK_SET); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_7) { - } else { - __pyx_t_4 = __pyx_t_7; - goto __pyx_L4_bool_binop_done; - } - __pyx_t_6 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_7) { - } else { - __pyx_t_4 = __pyx_t_7; - goto __pyx_L4_bool_binop_done; - } - __pyx_t_5 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 650, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_4 = __pyx_t_7; - __pyx_L4_bool_binop_done:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = (__pyx_t_4 != 0); - if (unlikely(__pyx_t_7)) { - - /* "indexed_gzip/indexed_gzip.pyx":651 - * - * if whence not in (SEEK_SET, SEEK_CUR, SEEK_END): - * raise ValueError('Invalid value for whence: {}'.format(whence)) # <<<<<<<<<<<<<< - * - * with self.__file_handle(), nogil: - */ - __Pyx_TraceLine(651,0,__PYX_ERR(0, 651, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Invalid_value_for_whence, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_whence) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_whence); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_6, 0, 0, 0); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __PYX_ERR(0, 651, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":650 - * cdef zran.zran_index_t *index = &self.index - * - * if whence not in (SEEK_SET, SEEK_CUR, SEEK_END): # <<<<<<<<<<<<<< - * raise ValueError('Invalid value for whence: {}'.format(whence)) - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":653 - * raise ValueError('Invalid value for whence: {}'.format(whence)) - * - * with self.__file_handle(), nogil: # <<<<<<<<<<<<<< - * ret = zran.zran_seek(index, off, c_whence, NULL) - * - */ - __Pyx_TraceLine(653,0,__PYX_ERR(0, 653, __pyx_L1_error)) - /*with:*/ { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 653, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 653, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - __Pyx_FastGIL_Remember(); - #endif - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":654 - * - * with self.__file_handle(), nogil: - * ret = zran.zran_seek(index, off, c_whence, NULL) # <<<<<<<<<<<<<< - * - * if ret == zran.ZRAN_SEEK_NOT_COVERED: - */ - __Pyx_TraceLine(654,1,__PYX_ERR(0, 654, __pyx_L18_error)) - __pyx_v_ret = zran_seek(__pyx_v_index, __pyx_v_off, __pyx_v_c_whence, NULL); - } - - /* "indexed_gzip/indexed_gzip.pyx":653 - * raise ValueError('Invalid value for whence: {}'.format(whence)) - * - * with self.__file_handle(), nogil: # <<<<<<<<<<<<<< - * ret = zran.zran_seek(index, off, c_whence, NULL) - * - */ - __Pyx_TraceLine(653,1,__PYX_ERR(0, 653, __pyx_L18_error)) - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - __Pyx_FastGIL_Forget(); - Py_BLOCK_THREADS - #endif - goto __pyx_L19; - } - __pyx_L18_error: { - #ifdef WITH_THREAD - __Pyx_FastGIL_Forget(); - Py_BLOCK_THREADS - #endif - goto __pyx_L11_error; - } - __pyx_L19:; - } - } - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L16_try_end; - __pyx_L11_error:; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 653, __pyx_L13_except_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 653, __pyx_L13_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 653, __pyx_L13_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_7 < 0) __PYX_ERR(0, 653, __pyx_L13_except_error) - __pyx_t_4 = ((!(__pyx_t_7 != 0)) != 0); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_3, __pyx_t_5); - __pyx_t_6 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 653, __pyx_L13_except_error) - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L12_exception_handled; - } - __pyx_L13_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L1_error; - __pyx_L12_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L16_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_8) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 653, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L10; - } - __pyx_L10:; - } - goto __pyx_L23; - __pyx_L7_error:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L1_error; - __pyx_L23:; - } - - /* "indexed_gzip/indexed_gzip.pyx":656 - * ret = zran.zran_seek(index, off, c_whence, NULL) - * - * if ret == zran.ZRAN_SEEK_NOT_COVERED: # <<<<<<<<<<<<<< - * raise NotCoveredError('Index does not cover ' - * 'offset {}'.format(offset)) - */ - __Pyx_TraceLine(656,0,__PYX_ERR(0, 656, __pyx_L1_error)) - __pyx_t_4 = ((__pyx_v_ret == ZRAN_SEEK_NOT_COVERED) != 0); - if (unlikely(__pyx_t_4)) { - - /* "indexed_gzip/indexed_gzip.pyx":657 - * - * if ret == zran.ZRAN_SEEK_NOT_COVERED: - * raise NotCoveredError('Index does not cover ' # <<<<<<<<<<<<<< - * 'offset {}'.format(offset)) - * - */ - __Pyx_TraceLine(657,0,__PYX_ERR(0, 657, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/indexed_gzip.pyx":658 - * if ret == zran.ZRAN_SEEK_NOT_COVERED: - * raise NotCoveredError('Index does not cover ' - * 'offset {}'.format(offset)) # <<<<<<<<<<<<<< - * - * elif ret == zran.ZRAN_SEEK_INDEX_NOT_BUILT: - */ - __Pyx_TraceLine(658,0,__PYX_ERR(0, 658, __pyx_L1_error)) - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Index_does_not_cover_offset, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 658, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - __pyx_t_6 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_14, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 658, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 657, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":656 - * ret = zran.zran_seek(index, off, c_whence, NULL) - * - * if ret == zran.ZRAN_SEEK_NOT_COVERED: # <<<<<<<<<<<<<< - * raise NotCoveredError('Index does not cover ' - * 'offset {}'.format(offset)) - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":660 - * 'offset {}'.format(offset)) - * - * elif ret == zran.ZRAN_SEEK_INDEX_NOT_BUILT: # <<<<<<<<<<<<<< - * raise NotCoveredError('Index must be completely built ' - * 'in order to seek from SEEK_END') - */ - __Pyx_TraceLine(660,0,__PYX_ERR(0, 660, __pyx_L1_error)) - __pyx_t_4 = ((__pyx_v_ret == ZRAN_SEEK_INDEX_NOT_BUILT) != 0); - if (unlikely(__pyx_t_4)) { - - /* "indexed_gzip/indexed_gzip.pyx":661 - * - * elif ret == zran.ZRAN_SEEK_INDEX_NOT_BUILT: - * raise NotCoveredError('Index must be completely built ' # <<<<<<<<<<<<<< - * 'in order to seek from SEEK_END') - * - */ - __Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_kp_s_Index_must_be_completely_built_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_Index_must_be_completely_built_i); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 661, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":660 - * 'offset {}'.format(offset)) - * - * elif ret == zran.ZRAN_SEEK_INDEX_NOT_BUILT: # <<<<<<<<<<<<<< - * raise NotCoveredError('Index must be completely built ' - * 'in order to seek from SEEK_END') - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":664 - * 'in order to seek from SEEK_END') - * - * elif ret == zran.ZRAN_SEEK_CRC_ERROR: # <<<<<<<<<<<<<< - * raise CrcError('CRC/size validation failed - the ' - * 'GZIP data might be corrupt (file: ' - */ - __Pyx_TraceLine(664,0,__PYX_ERR(0, 664, __pyx_L1_error)) - __pyx_t_4 = ((__pyx_v_ret == ZRAN_SEEK_CRC_ERROR) != 0); - if (unlikely(__pyx_t_4)) { - - /* "indexed_gzip/indexed_gzip.pyx":665 - * - * elif ret == zran.ZRAN_SEEK_CRC_ERROR: - * raise CrcError('CRC/size validation failed - the ' # <<<<<<<<<<<<<< - * 'GZIP data might be corrupt (file: ' - * '{})'.format(self.errname)) - */ - __Pyx_TraceLine(665,0,__PYX_ERR(0, 665, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CrcError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 665, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/indexed_gzip.pyx":667 - * raise CrcError('CRC/size validation failed - the ' - * 'GZIP data might be corrupt (file: ' - * '{})'.format(self.errname)) # <<<<<<<<<<<<<< - * - * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): - */ - __Pyx_TraceLine(667,0,__PYX_ERR(0, 667, __pyx_L1_error)) - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_CRC_size_validation_failed_the_G, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 667, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 667, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_15)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_15); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - } - } - __pyx_t_6 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_15, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 667, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 665, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 665, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":664 - * 'in order to seek from SEEK_END') - * - * elif ret == zran.ZRAN_SEEK_CRC_ERROR: # <<<<<<<<<<<<<< - * raise CrcError('CRC/size validation failed - the ' - * 'GZIP data might be corrupt (file: ' - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":669 - * '{})'.format(self.errname)) - * - * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): # <<<<<<<<<<<<<< - * raise ZranError('zran_seek returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) - */ - __Pyx_TraceLine(669,0,__PYX_ERR(0, 669, __pyx_L1_error)) - switch (__pyx_v_ret) { - case ZRAN_SEEK_OK: - CYTHON_FALLTHROUGH; - case ZRAN_SEEK_EOF: - __pyx_t_4 = 0; - break; - default: - __pyx_t_4 = 1; - break; - } - __pyx_t_7 = (__pyx_t_4 != 0); - if (unlikely(__pyx_t_7)) { - - /* "indexed_gzip/indexed_gzip.pyx":670 - * - * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): - * raise ZranError('zran_seek returned error: {} (file: {})' # <<<<<<<<<<<<<< - * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) - * - */ - __Pyx_TraceLine(670,0,__PYX_ERR(0, 670, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/indexed_gzip.pyx":671 - * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): - * raise ZranError('zran_seek returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) # <<<<<<<<<<<<<< - * - * offset = self.tell() - */ - __Pyx_TraceLine(671,0,__PYX_ERR(0, 671, __pyx_L1_error)) - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_seek_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_ZRAN_SEEK); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_15, __pyx_v_ret, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_16)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_16); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_9)) { - PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_t_14, __pyx_t_15}; - __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { - PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_t_14, __pyx_t_15}; - __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } else - #endif - { - __pyx_t_18 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __pyx_t_16 = NULL; - } - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_17, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_15); - PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_17, __pyx_t_15); - __pyx_t_14 = 0; - __pyx_t_15 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_18, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 671, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 670, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 670, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":669 - * '{})'.format(self.errname)) - * - * elif ret not in (zran.ZRAN_SEEK_OK, zran.ZRAN_SEEK_EOF): # <<<<<<<<<<<<<< - * raise ZranError('zran_seek returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":673 - * .format(ZRAN_ERRORS.ZRAN_SEEK[ret], self.errname)) - * - * offset = self.tell() # <<<<<<<<<<<<<< - * - * log.debug('%s.seek(%s)', type(self).__name__, offset) - */ - __Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_tell); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_offset, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":675 - * offset = self.tell() - * - * log.debug('%s.seek(%s)', type(self).__name__, offset) # <<<<<<<<<<<<<< - * - * return offset - */ - __Pyx_TraceLine(675,0,__PYX_ERR(0, 675, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_6)) { - PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_kp_s_s_seek_s, __pyx_t_3, __pyx_v_offset}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_17, 3+__pyx_t_17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { - PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_kp_s_s_seek_s, __pyx_t_3, __pyx_v_offset}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_17, 3+__pyx_t_17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_18 = PyTuple_New(3+__pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - if (__pyx_t_9) { - __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_9); __pyx_t_9 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_s_seek_s); - __Pyx_GIVEREF(__pyx_kp_s_s_seek_s); - PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_17, __pyx_kp_s_s_seek_s); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_17, __pyx_t_3); - __Pyx_INCREF(__pyx_v_offset); - __Pyx_GIVEREF(__pyx_v_offset); - PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_17, __pyx_v_offset); - __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 675, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":677 - * log.debug('%s.seek(%s)', type(self).__name__, offset) - * - * return offset # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(677,0,__PYX_ERR(0, 677, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_offset); - __pyx_r = __pyx_v_offset; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":627 - * - * - * def seek(self, offset, whence=SEEK_SET): # <<<<<<<<<<<<<< - * """Seeks to the specified position in the uncompressed data stream. - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_offset); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":680 - * - * - * def read(self, nbytes=-1): # <<<<<<<<<<<<<< - * """Reads up to ``nbytes`` bytes from the uncompressed data stream. - * If ``nbytes < 0`` the stream is read until EOF. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read[] = "_IndexedGzipFile.read(self, nbytes=-1)\nReads up to ``nbytes`` bytes from the uncompressed data stream.\n If ``nbytes < 0`` the stream is read until EOF.\n\n If the stream is already at EOF, ``b''`` is returned.\n\n .. note:: This method releases the GIL while ``zran_read`` is\n running.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read = {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_nbytes = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("read (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nbytes,0}; - PyObject* values[1] = {0}; - values[0] = ((PyObject *)__pyx_int_neg_1); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nbytes); - if (value) { values[0] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 680, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_nbytes = values[0]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("read", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 680, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_nbytes); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_nbytes) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_buf = NULL; - zran_index_t *__pyx_v_index; - size_t __pyx_v_nread; - uint64_t __pyx_v_bufsz; - size_t __pyx_v_offset; - void *__pyx_v_buffer; - int64_t __pyx_v_ret; - PyObject *__pyx_v_pybuf = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - size_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - Py_ssize_t __pyx_t_18; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__23) - __Pyx_RefNannySetupContext("read", 0); - __Pyx_TraceCall("read", __pyx_f[0], 680, 0, __PYX_ERR(0, 680, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":690 - * """ - * - * if nbytes == 0: return bytes() # <<<<<<<<<<<<<< - * elif nbytes < 0: buf = ReadBuffer(self.readall_buf_size) - * else: buf = ReadBuffer(nbytes) - */ - __Pyx_TraceLine(690,0,__PYX_ERR(0, 690, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_nbytes, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 690, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyBytes_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - } - - /* "indexed_gzip/indexed_gzip.pyx":691 - * - * if nbytes == 0: return bytes() - * elif nbytes < 0: buf = ReadBuffer(self.readall_buf_size) # <<<<<<<<<<<<<< - * else: buf = ReadBuffer(nbytes) - * - */ - __Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L1_error)) - __pyx_t_1 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->readall_buf_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_t_3); - __pyx_t_3 = 0; - goto __pyx_L3; - } - - /* "indexed_gzip/indexed_gzip.pyx":692 - * if nbytes == 0: return bytes() - * elif nbytes < 0: buf = ReadBuffer(self.readall_buf_size) - * else: buf = ReadBuffer(nbytes) # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t *index = &self.index - */ - __Pyx_TraceLine(692,0,__PYX_ERR(0, 692, __pyx_L1_error)) - /*else*/ { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer), __pyx_v_nbytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_t_3); - __pyx_t_3 = 0; - } - __pyx_L3:; - - /* "indexed_gzip/indexed_gzip.pyx":694 - * else: buf = ReadBuffer(nbytes) - * - * cdef zran.zran_index_t *index = &self.index # <<<<<<<<<<<<<< - * cdef size_t nread = 0 - * cdef uint64_t bufsz = buf.size - */ - __Pyx_TraceLine(694,0,__PYX_ERR(0, 694, __pyx_L1_error)) - __pyx_v_index = (&__pyx_v_self->index); - - /* "indexed_gzip/indexed_gzip.pyx":695 - * - * cdef zran.zran_index_t *index = &self.index - * cdef size_t nread = 0 # <<<<<<<<<<<<<< - * cdef uint64_t bufsz = buf.size - * cdef size_t offset = 0 - */ - __Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L1_error)) - __pyx_v_nread = 0; - - /* "indexed_gzip/indexed_gzip.pyx":696 - * cdef zran.zran_index_t *index = &self.index - * cdef size_t nread = 0 - * cdef uint64_t bufsz = buf.size # <<<<<<<<<<<<<< - * cdef size_t offset = 0 - * cdef void *buffer - */ - __Pyx_TraceLine(696,0,__PYX_ERR(0, 696, __pyx_L1_error)) - __pyx_t_4 = __pyx_v_buf->size; - __pyx_v_bufsz = __pyx_t_4; - - /* "indexed_gzip/indexed_gzip.pyx":697 - * cdef size_t nread = 0 - * cdef uint64_t bufsz = buf.size - * cdef size_t offset = 0 # <<<<<<<<<<<<<< - * cdef void *buffer - * cdef int64_t ret - */ - __Pyx_TraceLine(697,0,__PYX_ERR(0, 697, __pyx_L1_error)) - __pyx_v_offset = 0; - - /* "indexed_gzip/indexed_gzip.pyx":701 - * cdef int64_t ret - * - * with self.__file_handle(): # <<<<<<<<<<<<<< - * - * # Read until EOF or enough - */ - __Pyx_TraceLine(701,0,__PYX_ERR(0, 701, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":705 - * # Read until EOF or enough - * # bytes have been read - * while True: # <<<<<<<<<<<<<< - * - * # read some bytes into the correct - */ - __Pyx_TraceLine(705,0,__PYX_ERR(0, 705, __pyx_L8_error)) - while (1) { - - /* "indexed_gzip/indexed_gzip.pyx":709 - * # read some bytes into the correct - * # buffer location - * buffer = buf.buffer + offset # <<<<<<<<<<<<<< - * - * with nogil: - */ - __Pyx_TraceLine(709,0,__PYX_ERR(0, 709, __pyx_L8_error)) - __pyx_v_buffer = (((char *)__pyx_v_buf->buffer) + __pyx_v_offset); - - /* "indexed_gzip/indexed_gzip.pyx":711 - * buffer = buf.buffer + offset - * - * with nogil: # <<<<<<<<<<<<<< - * ret = zran.zran_read(index, buffer, bufsz) - * - */ - __Pyx_TraceLine(711,0,__PYX_ERR(0, 711, __pyx_L8_error)) - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - __Pyx_FastGIL_Remember(); - #endif - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":712 - * - * with nogil: - * ret = zran.zran_read(index, buffer, bufsz) # <<<<<<<<<<<<<< - * - * # No bytes were read, and there are - */ - __Pyx_TraceLine(712,1,__PYX_ERR(0, 712, __pyx_L19_error)) - __pyx_v_ret = zran_read(__pyx_v_index, __pyx_v_buffer, __pyx_v_bufsz); - } - - /* "indexed_gzip/indexed_gzip.pyx":711 - * buffer = buf.buffer + offset - * - * with nogil: # <<<<<<<<<<<<<< - * ret = zran.zran_read(index, buffer, bufsz) - * - */ - __Pyx_TraceLine(711,1,__PYX_ERR(0, 711, __pyx_L19_error)) - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - __Pyx_FastGIL_Forget(); - Py_BLOCK_THREADS - #endif - goto __pyx_L20; - } - __pyx_L19_error: { - #ifdef WITH_THREAD - __Pyx_FastGIL_Forget(); - Py_BLOCK_THREADS - #endif - goto __pyx_L8_error; - } - __pyx_L20:; - } - } - - /* "indexed_gzip/indexed_gzip.pyx":719 - * # or beyond EOF when zran_read was - * # called - * if ret == zran.ZRAN_READ_EOF: # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L8_error)) - __pyx_t_2 = ((__pyx_v_ret == ZRAN_READ_EOF) != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":720 - * # called - * if ret == zran.ZRAN_READ_EOF: - * break # <<<<<<<<<<<<<< - * - * # This will happen if the current - */ - __Pyx_TraceLine(720,0,__PYX_ERR(0, 720, __pyx_L8_error)) - goto __pyx_L15_break; - - /* "indexed_gzip/indexed_gzip.pyx":719 - * # or beyond EOF when zran_read was - * # called - * if ret == zran.ZRAN_READ_EOF: # <<<<<<<<<<<<<< - * break - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":725 - * # seek point is not covered by the - * # index, and auto-build is disabled - * elif ret == zran.ZRAN_READ_NOT_COVERED: # <<<<<<<<<<<<<< - * raise NotCoveredError('Index does not cover ' - * 'current offset') - */ - __Pyx_TraceLine(725,0,__PYX_ERR(0, 725, __pyx_L8_error)) - __pyx_t_2 = ((__pyx_v_ret == ZRAN_READ_NOT_COVERED) != 0); - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":726 - * # index, and auto-build is disabled - * elif ret == zran.ZRAN_READ_NOT_COVERED: - * raise NotCoveredError('Index does not cover ' # <<<<<<<<<<<<<< - * 'current offset') - * - */ - __Pyx_TraceLine(726,0,__PYX_ERR(0, 726, __pyx_L8_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_kp_s_Index_does_not_cover_current_off) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_s_Index_does_not_cover_current_off); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 726, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 726, __pyx_L8_error) - - /* "indexed_gzip/indexed_gzip.pyx":725 - * # seek point is not covered by the - * # index, and auto-build is disabled - * elif ret == zran.ZRAN_READ_NOT_COVERED: # <<<<<<<<<<<<<< - * raise NotCoveredError('Index does not cover ' - * 'current offset') - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":731 - * # CRC or size check failed - data - * # might be corrupt - * elif ret == zran.ZRAN_READ_CRC_ERROR: # <<<<<<<<<<<<<< - * raise CrcError('CRC/size validation failed - the ' - * 'GZIP data might be corrupt (file: ' - */ - __Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L8_error)) - __pyx_t_2 = ((__pyx_v_ret == ZRAN_READ_CRC_ERROR) != 0); - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":732 - * # might be corrupt - * elif ret == zran.ZRAN_READ_CRC_ERROR: - * raise CrcError('CRC/size validation failed - the ' # <<<<<<<<<<<<<< - * 'GZIP data might be corrupt (file: ' - * '{})'.format(self.errname)) - */ - __Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L8_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CrcError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 732, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - - /* "indexed_gzip/indexed_gzip.pyx":734 - * raise CrcError('CRC/size validation failed - the ' - * 'GZIP data might be corrupt (file: ' - * '{})'.format(self.errname)) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(734,0,__PYX_ERR(0, 734, __pyx_L8_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_CRC_size_validation_failed_the_G, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 734, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 734, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_5 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_12, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 732, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 732, __pyx_L8_error) - - /* "indexed_gzip/indexed_gzip.pyx":731 - * # CRC or size check failed - data - * # might be corrupt - * elif ret == zran.ZRAN_READ_CRC_ERROR: # <<<<<<<<<<<<<< - * raise CrcError('CRC/size validation failed - the ' - * 'GZIP data might be corrupt (file: ' - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":738 - * - * # Unknown error - * elif ret < 0: # <<<<<<<<<<<<<< - * raise ZranError('zran_read returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], - */ - __Pyx_TraceLine(738,0,__PYX_ERR(0, 738, __pyx_L8_error)) - __pyx_t_2 = ((__pyx_v_ret < 0) != 0); - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":739 - * # Unknown error - * elif ret < 0: - * raise ZranError('zran_read returned error: {} (file: ' # <<<<<<<<<<<<<< - * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], - * self.errname)) - */ - __Pyx_TraceLine(739,0,__PYX_ERR(0, 739, __pyx_L8_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 739, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - - /* "indexed_gzip/indexed_gzip.pyx":740 - * elif ret < 0: - * raise ZranError('zran_read returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], # <<<<<<<<<<<<<< - * self.errname)) - * - */ - __Pyx_TraceLine(740,0,__PYX_ERR(0, 740, __pyx_L8_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_read_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 740, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 740, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_ZRAN_READ); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 740, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_12, __pyx_v_ret, int64_t, 1, __Pyx_PyInt_From_int64_t, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 740, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":741 - * raise ZranError('zran_read returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], - * self.errname)) # <<<<<<<<<<<<<< - * - * nread += ret - */ - __Pyx_TraceLine(741,0,__PYX_ERR(0, 741, __pyx_L8_error)) - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 741, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - __pyx_t_14 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_14 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_7)) { - PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_11, __pyx_t_12}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L8_error) - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { - PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_11, __pyx_t_12}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L8_error) - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } else - #endif - { - __pyx_t_15 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 740, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_15); - if (__pyx_t_13) { - __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __pyx_t_13 = NULL; - } - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_14, __pyx_t_11); - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_t_12); - __pyx_t_11 = 0; - __pyx_t_12 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 739, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 739, __pyx_L8_error) - - /* "indexed_gzip/indexed_gzip.pyx":738 - * - * # Unknown error - * elif ret < 0: # <<<<<<<<<<<<<< - * raise ZranError('zran_read returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_READ[ret], - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":743 - * self.errname)) - * - * nread += ret # <<<<<<<<<<<<<< - * offset += ret - * - */ - __Pyx_TraceLine(743,0,__PYX_ERR(0, 743, __pyx_L8_error)) - __pyx_v_nread = (__pyx_v_nread + __pyx_v_ret); - - /* "indexed_gzip/indexed_gzip.pyx":744 - * - * nread += ret - * offset += ret # <<<<<<<<<<<<<< - * - * # If we requested a specific number of - */ - __Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L8_error)) - __pyx_v_offset = (__pyx_v_offset + __pyx_v_ret); - - /* "indexed_gzip/indexed_gzip.pyx":750 - * # them all (or all until EOF), so we're - * # finished - * if nbytes > 0: # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L8_error)) - __pyx_t_3 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 750, __pyx_L8_error) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 750, __pyx_L8_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":751 - * # finished - * if nbytes > 0: - * break # <<<<<<<<<<<<<< - * - * # Otherwise if reading until EOF, check - */ - __Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L8_error)) - goto __pyx_L15_break; - - /* "indexed_gzip/indexed_gzip.pyx":750 - * # them all (or all until EOF), so we're - * # finished - * if nbytes > 0: # <<<<<<<<<<<<<< - * break - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":755 - * # Otherwise if reading until EOF, check - * # and increase the buffer size if necessary - * if (nread + self.readall_buf_size) > buf.size: # <<<<<<<<<<<<<< - * buf.resize(buf.size + self.readall_buf_size) - * offset = nread - */ - __Pyx_TraceLine(755,0,__PYX_ERR(0, 755, __pyx_L8_error)) - __pyx_t_2 = (((__pyx_v_nread + __pyx_v_self->readall_buf_size) > __pyx_v_buf->size) != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":756 - * # and increase the buffer size if necessary - * if (nread + self.readall_buf_size) > buf.size: - * buf.resize(buf.size + self.readall_buf_size) # <<<<<<<<<<<<<< - * offset = nread - * - */ - __Pyx_TraceLine(756,0,__PYX_ERR(0, 756, __pyx_L8_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_buf), __pyx_n_s_resize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 756, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyInt_FromSize_t((__pyx_v_buf->size + __pyx_v_self->readall_buf_size)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 756, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":757 - * if (nread + self.readall_buf_size) > buf.size: - * buf.resize(buf.size + self.readall_buf_size) - * offset = nread # <<<<<<<<<<<<<< - * - * buf.resize(nread) - */ - __Pyx_TraceLine(757,0,__PYX_ERR(0, 757, __pyx_L8_error)) - __pyx_v_offset = __pyx_v_nread; - - /* "indexed_gzip/indexed_gzip.pyx":755 - * # Otherwise if reading until EOF, check - * # and increase the buffer size if necessary - * if (nread + self.readall_buf_size) > buf.size: # <<<<<<<<<<<<<< - * buf.resize(buf.size + self.readall_buf_size) - * offset = nread - */ - } - } - __pyx_L15_break:; - - /* "indexed_gzip/indexed_gzip.pyx":701 - * cdef int64_t ret - * - * with self.__file_handle(): # <<<<<<<<<<<<<< - * - * # Read until EOF or enough - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L13_try_end; - __pyx_L8_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 701, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 701, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 701, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_2 < 0) __PYX_ERR(0, 701, __pyx_L10_except_error) - __pyx_t_17 = ((!(__pyx_t_2 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 701, __pyx_L10_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L9_exception_handled; - } - __pyx_L10_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L9_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L13_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_6) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L7; - } - __pyx_L7:; - } - goto __pyx_L27; - __pyx_L4_error:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L1_error; - __pyx_L27:; - } - - /* "indexed_gzip/indexed_gzip.pyx":759 - * offset = nread - * - * buf.resize(nread) # <<<<<<<<<<<<<< - * pybuf = (buf.buffer)[:nread] - * - */ - __Pyx_TraceLine(759,0,__PYX_ERR(0, 759, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_buf), __pyx_n_s_resize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_nread); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 759, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":760 - * - * buf.resize(nread) - * pybuf = (buf.buffer)[:nread] # <<<<<<<<<<<<<< - * - * log.debug('%s.read(%s)', type(self).__name__, len(pybuf)) - */ - __Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buf->buffer) + 0, __pyx_v_nread - 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __pyx_t_5; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_pybuf = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":762 - * pybuf = (buf.buffer)[:nread] - * - * log.debug('%s.read(%s)', type(self).__name__, len(pybuf)) # <<<<<<<<<<<<<< - * - * return pybuf - */ - __Pyx_TraceLine(762,0,__PYX_ERR(0, 762, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (unlikely(__pyx_v_pybuf == Py_None)) { - PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); - __PYX_ERR(0, 762, __pyx_L1_error) - } - __pyx_t_18 = PyBytes_GET_SIZE(__pyx_v_pybuf); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 762, __pyx_L1_error) - __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_15 = NULL; - __pyx_t_14 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_15)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_15); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_14 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_15, __pyx_kp_s_s_read_s, __pyx_t_5, __pyx_t_7}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_14, 3+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 762, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_15, __pyx_kp_s_s_read_s, __pyx_t_5, __pyx_t_7}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_14, 3+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 762, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } else - #endif - { - __pyx_t_12 = PyTuple_New(3+__pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_15); __pyx_t_15 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_s_read_s); - __Pyx_GIVEREF(__pyx_kp_s_s_read_s); - PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_14, __pyx_kp_s_s_read_s); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_14, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_14, __pyx_t_7); - __pyx_t_5 = 0; - __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 762, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":764 - * log.debug('%s.read(%s)', type(self).__name__, len(pybuf)) - * - * return pybuf # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_pybuf); - __pyx_r = __pyx_v_pybuf; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":680 - * - * - * def read(self, nbytes=-1): # <<<<<<<<<<<<<< - * """Reads up to ``nbytes`` bytes from the uncompressed data stream. - * If ``nbytes < 0`` the stream is read until EOF. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_pybuf); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":767 - * - * - * def readinto(self, buf): # <<<<<<<<<<<<<< - * """Reads up to ``len(buf)`` bytes directly into ``buf``, which is - * assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview`` - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto(PyObject *__pyx_v_self, PyObject *__pyx_v_buf); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto[] = "_IndexedGzipFile.readinto(self, buf)\nReads up to ``len(buf)`` bytes directly into ``buf``, which is\n assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview``\n or ``bytearray``.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto = {"readinto", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto(PyObject *__pyx_v_self, PyObject *__pyx_v_buf) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("readinto (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), ((PyObject *)__pyx_v_buf)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_buf) { - zran_index_t *__pyx_v_index; - uint64_t __pyx_v_bufsz; - Py_buffer __pyx_v_pbuf; - void *__pyx_v_vbuf; - int64_t __pyx_v_ret; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - Py_ssize_t __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - int __pyx_t_13; - int __pyx_t_14; - char const *__pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__24) - __Pyx_RefNannySetupContext("readinto", 0); - __Pyx_TraceCall("readinto", __pyx_f[0], 767, 0, __PYX_ERR(0, 767, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":773 - * """ - * - * cdef zran.zran_index_t *index = &self.index # <<<<<<<<<<<<<< - * cdef uint64_t bufsz = len(buf) - * cdef Py_buffer pbuf - */ - __Pyx_TraceLine(773,0,__PYX_ERR(0, 773, __pyx_L1_error)) - __pyx_v_index = (&__pyx_v_self->index); - - /* "indexed_gzip/indexed_gzip.pyx":774 - * - * cdef zran.zran_index_t *index = &self.index - * cdef uint64_t bufsz = len(buf) # <<<<<<<<<<<<<< - * cdef Py_buffer pbuf - * cdef void *vbuf - */ - __Pyx_TraceLine(774,0,__PYX_ERR(0, 774, __pyx_L1_error)) - __pyx_t_1 = PyObject_Length(__pyx_v_buf); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 774, __pyx_L1_error) - __pyx_v_bufsz = __pyx_t_1; - - /* "indexed_gzip/indexed_gzip.pyx":782 - * # us to access the memory managed - * # by the provided buf - * PyObject_GetBuffer(buf, &pbuf, PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS) # <<<<<<<<<<<<<< - * - * # read some bytes - */ - __Pyx_TraceLine(782,0,__PYX_ERR(0, 782, __pyx_L1_error)) - __pyx_t_2 = PyObject_GetBuffer(__pyx_v_buf, (&__pyx_v_pbuf), (PyBUF_SIMPLE | PyBUF_ANY_CONTIGUOUS)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 782, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":785 - * - * # read some bytes - * try: # <<<<<<<<<<<<<< - * - * vbuf = pbuf.buf - */ - __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L1_error)) - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":787 - * try: - * - * vbuf = pbuf.buf # <<<<<<<<<<<<<< - * with self.__file_handle(), nogil: - * ret = zran.zran_read(index, vbuf, bufsz) - */ - __Pyx_TraceLine(787,0,__PYX_ERR(0, 787, __pyx_L4_error)) - __pyx_v_vbuf = ((void *)__pyx_v_pbuf.buf); - - /* "indexed_gzip/indexed_gzip.pyx":788 - * - * vbuf = pbuf.buf - * with self.__file_handle(), nogil: # <<<<<<<<<<<<<< - * ret = zran.zran_read(index, vbuf, bufsz) - * - */ - __Pyx_TraceLine(788,0,__PYX_ERR(0, 788, __pyx_L4_error)) - /*with:*/ { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 788, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 788, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 788, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - { - #ifdef WITH_THREAD - PyThreadState *_save; - Py_UNBLOCK_THREADS - __Pyx_FastGIL_Remember(); - #endif - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":789 - * vbuf = pbuf.buf - * with self.__file_handle(), nogil: - * ret = zran.zran_read(index, vbuf, bufsz) # <<<<<<<<<<<<<< - * - * # release the py_buffer - */ - __Pyx_TraceLine(789,1,__PYX_ERR(0, 789, __pyx_L17_error)) - __pyx_v_ret = zran_read(__pyx_v_index, __pyx_v_vbuf, __pyx_v_bufsz); - } - - /* "indexed_gzip/indexed_gzip.pyx":788 - * - * vbuf = pbuf.buf - * with self.__file_handle(), nogil: # <<<<<<<<<<<<<< - * ret = zran.zran_read(index, vbuf, bufsz) - * - */ - __Pyx_TraceLine(788,1,__PYX_ERR(0, 788, __pyx_L17_error)) - /*finally:*/ { - /*normal exit:*/{ - #ifdef WITH_THREAD - __Pyx_FastGIL_Forget(); - Py_BLOCK_THREADS - #endif - goto __pyx_L18; - } - __pyx_L17_error: { - #ifdef WITH_THREAD - __Pyx_FastGIL_Forget(); - Py_BLOCK_THREADS - #endif - goto __pyx_L10_error; - } - __pyx_L18:; - } - } - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L15_try_end; - __pyx_L10_error:; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 788, __pyx_L12_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 788, __pyx_L12_except_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 788, __pyx_L12_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_12 < 0) __PYX_ERR(0, 788, __pyx_L12_except_error) - __pyx_t_13 = ((!(__pyx_t_12 != 0)) != 0); - if (__pyx_t_13) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_4, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 788, __pyx_L12_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L11_exception_handled; - } - __pyx_L12_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L4_error; - __pyx_L11_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L15_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_6) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 788, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L9; - } - __pyx_L9:; - } - goto __pyx_L22; - __pyx_L6_error:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L4_error; - __pyx_L22:; - } - } - - /* "indexed_gzip/indexed_gzip.pyx":793 - * # release the py_buffer - * finally: - * PyBuffer_Release(&pbuf) # <<<<<<<<<<<<<< - * - * # see how the read went - */ - __Pyx_TraceLine(793,0,__PYX_ERR(0, 793, __pyx_L4_error)) - /*finally:*/ { - /*normal exit:*/{ - PyBuffer_Release((&__pyx_v_pbuf)); - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_6 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_11 = 0; __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_11, &__pyx_t_16); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_6, &__pyx_t_10, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_10, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_2 = __pyx_lineno; __pyx_t_14 = __pyx_clineno; __pyx_t_15 = __pyx_filename; - { - PyBuffer_Release((&__pyx_v_pbuf)); - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_11, __pyx_t_16); - } - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_6, __pyx_t_10, __pyx_t_9); - __pyx_t_6 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_11 = 0; __pyx_t_16 = 0; - __pyx_lineno = __pyx_t_2; __pyx_clineno = __pyx_t_14; __pyx_filename = __pyx_t_15; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - /* "indexed_gzip/indexed_gzip.pyx":796 - * - * # see how the read went - * if ret == zran.ZRAN_READ_FAIL: # <<<<<<<<<<<<<< - * raise ZranError('zran_read returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_READ[ret], self.errname)) - */ - __Pyx_TraceLine(796,0,__PYX_ERR(0, 796, __pyx_L1_error)) - switch (__pyx_v_ret) { - case ZRAN_READ_FAIL: - - /* "indexed_gzip/indexed_gzip.pyx":797 - * # see how the read went - * if ret == zran.ZRAN_READ_FAIL: - * raise ZranError('zran_read returned error: {} (file: {})' # <<<<<<<<<<<<<< - * .format(ZRAN_ERRORS.ZRAN_READ[ret], self.errname)) - * - */ - __Pyx_TraceLine(797,0,__PYX_ERR(0, 797, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - /* "indexed_gzip/indexed_gzip.pyx":798 - * if ret == zran.ZRAN_READ_FAIL: - * raise ZranError('zran_read returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_READ[ret], self.errname)) # <<<<<<<<<<<<<< - * - * # This will happen if the current - */ - __Pyx_TraceLine(798,0,__PYX_ERR(0, 798, __pyx_L1_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_zran_read_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_ZRAN_READ); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_18, __pyx_v_ret, int64_t, 1, __Pyx_PyInt_From_int64_t, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_19 = NULL; - __pyx_t_14 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_14 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_7)) { - PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_17, __pyx_t_18}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { - PyObject *__pyx_temp[3] = {__pyx_t_19, __pyx_t_17, __pyx_t_18}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } else - #endif - { - __pyx_t_20 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_20); - if (__pyx_t_19) { - __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_19); __pyx_t_19 = NULL; - } - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_14, __pyx_t_17); - __Pyx_GIVEREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_14, __pyx_t_18); - __pyx_t_17 = 0; - __pyx_t_18 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_20, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 797, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 797, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":796 - * - * # see how the read went - * if ret == zran.ZRAN_READ_FAIL: # <<<<<<<<<<<<<< - * raise ZranError('zran_read returned error: {} (file: {})' - * .format(ZRAN_ERRORS.ZRAN_READ[ret], self.errname)) - */ - break; - case ZRAN_READ_NOT_COVERED: - - /* "indexed_gzip/indexed_gzip.pyx":804 - * # index, and auto-build is disabled - * elif ret == zran.ZRAN_READ_NOT_COVERED: - * raise NotCoveredError('Index does not cover current offset') # <<<<<<<<<<<<<< - * - * # No bytes were read, and there are - */ - __Pyx_TraceLine(804,0,__PYX_ERR(0, 804, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_s_Index_does_not_cover_current_off) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_Index_does_not_cover_current_off); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 804, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_Raise(__pyx_t_5, 0, 0, 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 804, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":803 - * # seek point is not covered by the - * # index, and auto-build is disabled - * elif ret == zran.ZRAN_READ_NOT_COVERED: # <<<<<<<<<<<<<< - * raise NotCoveredError('Index does not cover current offset') - * - */ - break; - case ZRAN_READ_EOF: - - /* "indexed_gzip/indexed_gzip.pyx":812 - * # called - * elif ret == zran.ZRAN_READ_EOF: - * return 0 # <<<<<<<<<<<<<< - * - * # Return the number of bytes that - */ - __Pyx_TraceLine(812,0,__PYX_ERR(0, 812, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_int_0); - __pyx_r = __pyx_int_0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":811 - * # or beyond EOF when zran_read was - * # called - * elif ret == zran.ZRAN_READ_EOF: # <<<<<<<<<<<<<< - * return 0 - * - */ - break; - default: - - /* "indexed_gzip/indexed_gzip.pyx":817 - * # were read - * else: - * return ret # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(817,0,__PYX_ERR(0, 817, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_r = __pyx_t_5; - __pyx_t_5 = 0; - goto __pyx_L0; - break; - } - - /* "indexed_gzip/indexed_gzip.pyx":767 - * - * - * def readinto(self, buf): # <<<<<<<<<<<<<< - * """Reads up to ``len(buf)`` bytes directly into ``buf``, which is - * assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview`` - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":820 - * - * - * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< - * """Seeks to the specified ``offset``, then reads and returns - * ``nbytes``. See :meth:`seek` and :meth:`read`. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread[] = "_IndexedGzipFile.pread(self, nbytes, offset)\nSeeks to the specified ``offset``, then reads and returns\n ``nbytes``. See :meth:`seek` and :meth:`read`.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread = {"pread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_nbytes = 0; - PyObject *__pyx_v_offset = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("pread (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_nbytes,&__pyx_n_s_offset,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nbytes)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("pread", 1, 2, 2, 1); __PYX_ERR(0, 820, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "pread") < 0)) __PYX_ERR(0, 820, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_nbytes = values[0]; - __pyx_v_offset = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("pread", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 820, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_nbytes, __pyx_v_offset); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_nbytes, PyObject *__pyx_v_offset) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - int __pyx_t_11; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__25) - __Pyx_RefNannySetupContext("pread", 0); - __Pyx_TraceCall("pread", __pyx_f[0], 820, 0, __PYX_ERR(0, 820, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":824 - * ``nbytes``. See :meth:`seek` and :meth:`read`. - * """ - * with self.__file_handle(): # <<<<<<<<<<<<<< - * self.seek(offset) - * return self.read(nbytes) - */ - __Pyx_TraceLine(824,0,__PYX_ERR(0, 824, __pyx_L1_error)) - /*with:*/ { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 824, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 824, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":825 - * """ - * with self.__file_handle(): - * self.seek(offset) # <<<<<<<<<<<<<< - * return self.read(nbytes) - * - */ - __Pyx_TraceLine(825,0,__PYX_ERR(0, 825, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 825, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 825, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":826 - * with self.__file_handle(): - * self.seek(offset) - * return self.read(nbytes) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(826,0,__PYX_ERR(0, 826, __pyx_L7_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 826, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_nbytes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_nbytes); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 826, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L11_try_return; - - /* "indexed_gzip/indexed_gzip.pyx":824 - * ``nbytes``. See :meth:`seek` and :meth:`read`. - * """ - * with self.__file_handle(): # <<<<<<<<<<<<<< - * self.seek(offset) - * return self.read(nbytes) - */ - } - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 824, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 824, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 824, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_10 < 0) __PYX_ERR(0, 824, __pyx_L9_except_error) - __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 824, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L11_try_return:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L4_return; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L4_return: { - __pyx_t_8 = __pyx_r; - __pyx_r = 0; - if (__pyx_t_4) { - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 824, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/indexed_gzip.pyx":820 - * - * - * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< - * """Seeks to the specified ``offset``, then reads and returns - * ``nbytes``. See :meth:`seek` and :meth:`read`. - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":829 - * - * - * def readline(self, size=-1): # <<<<<<<<<<<<<< - * """Read and return up to the next ``'\n'`` character (up to at most - * ``size`` bytes, if ``size >= 0``) from the uncompressed data stream. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline[] = "_IndexedGzipFile.readline(self, size=-1)\nRead and return up to the next ``'\n'`` character (up to at most\n ``size`` bytes, if ``size >= 0``) from the uncompressed data stream.\n\n If the end of the stream has been reached, ``b''`` is returned.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline = {"readline", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_size = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("readline (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,0}; - PyObject* values[1] = {0}; - values[0] = ((PyObject *)__pyx_int_neg_1); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size); - if (value) { values[0] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readline") < 0)) __PYX_ERR(0, 829, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_size = values[0]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("readline", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 829, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readline", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_size); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_size) { - PyObject *__pyx_v_linebuf = NULL; - PyObject *__pyx_v_startpos = NULL; - long __pyx_v_bufsz; - PyObject *__pyx_v_buf = NULL; - PyObject *__pyx_v_lineidx = NULL; - PyObject *__pyx_v_haveline = NULL; - PyObject *__pyx_v_eof = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - Py_ssize_t __pyx_t_10; - int __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__26) - __Pyx_RefNannySetupContext("readline", 0); - __Pyx_TraceCall("readline", __pyx_f[0], 829, 0, __PYX_ERR(0, 829, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":836 - * """ - * - * if size == 0: # <<<<<<<<<<<<<< - * return bytes() - * - */ - __Pyx_TraceLine(836,0,__PYX_ERR(0, 836, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_size, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 836, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":837 - * - * if size == 0: - * return bytes() # <<<<<<<<<<<<<< - * - * linebuf = b'' - */ - __Pyx_TraceLine(837,0,__PYX_ERR(0, 837, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyBytes_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 837, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":836 - * """ - * - * if size == 0: # <<<<<<<<<<<<<< - * return bytes() - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":839 - * return bytes() - * - * linebuf = b'' # <<<<<<<<<<<<<< - * startpos = self.tell() - * bufsz = 1024 - */ - __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L1_error)) - __Pyx_INCREF(__pyx_kp_b__27); - __pyx_v_linebuf = __pyx_kp_b__27; - - /* "indexed_gzip/indexed_gzip.pyx":840 - * - * linebuf = b'' - * startpos = self.tell() # <<<<<<<<<<<<<< - * bufsz = 1024 - * - */ - __Pyx_TraceLine(840,0,__PYX_ERR(0, 840, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_tell); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 840, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 840, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_startpos = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":841 - * linebuf = b'' - * startpos = self.tell() - * bufsz = 1024 # <<<<<<<<<<<<<< - * - * # Read in chunks of [bufsz] bytes at a time - */ - __Pyx_TraceLine(841,0,__PYX_ERR(0, 841, __pyx_L1_error)) - __pyx_v_bufsz = 0x400; - - /* "indexed_gzip/indexed_gzip.pyx":844 - * - * # Read in chunks of [bufsz] bytes at a time - * with self.__file_handle(): # <<<<<<<<<<<<<< - * while True: - * - */ - __Pyx_TraceLine(844,0,__PYX_ERR(0, 844, __pyx_L1_error)) - /*with:*/ { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 844, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 844, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 844, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 844, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 844, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":845 - * # Read in chunks of [bufsz] bytes at a time - * with self.__file_handle(): - * while True: # <<<<<<<<<<<<<< - * - * buf = self.read(bufsz) - */ - __Pyx_TraceLine(845,0,__PYX_ERR(0, 845, __pyx_L8_error)) - while (1) { - - /* "indexed_gzip/indexed_gzip.pyx":847 - * while True: - * - * buf = self.read(bufsz) # <<<<<<<<<<<<<< - * - * lineidx = buf.find(b'\n') - */ - __Pyx_TraceLine(847,0,__PYX_ERR(0, 847, __pyx_L8_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 847, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_bufsz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 847, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 847, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_buf, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":849 - * buf = self.read(bufsz) - * - * lineidx = buf.find(b'\n') # <<<<<<<<<<<<<< - * haveline = lineidx >= 0 - * eof = len(buf) == 0 - */ - __Pyx_TraceLine(849,0,__PYX_ERR(0, 849, __pyx_L8_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 849, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__28) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__28); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_lineidx, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":850 - * - * lineidx = buf.find(b'\n') - * haveline = lineidx >= 0 # <<<<<<<<<<<<<< - * eof = len(buf) == 0 - * - */ - __Pyx_TraceLine(850,0,__PYX_ERR(0, 850, __pyx_L8_error)) - __pyx_t_1 = PyObject_RichCompare(__pyx_v_lineidx, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 850, __pyx_L8_error) - __Pyx_XDECREF_SET(__pyx_v_haveline, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":851 - * lineidx = buf.find(b'\n') - * haveline = lineidx >= 0 - * eof = len(buf) == 0 # <<<<<<<<<<<<<< - * - * # Are we at EOF? Nothing more to do - */ - __Pyx_TraceLine(851,0,__PYX_ERR(0, 851, __pyx_L8_error)) - __pyx_t_10 = PyObject_Length(__pyx_v_buf); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 851, __pyx_L8_error) - __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_t_10 == 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 851, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_eof, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":854 - * - * # Are we at EOF? Nothing more to do - * if eof: # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(854,0,__PYX_ERR(0, 854, __pyx_L8_error)) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_eof); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 854, __pyx_L8_error) - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":855 - * # Are we at EOF? Nothing more to do - * if eof: - * break # <<<<<<<<<<<<<< - * - * # Have we found a line? Discard - */ - __Pyx_TraceLine(855,0,__PYX_ERR(0, 855, __pyx_L8_error)) - goto __pyx_L15_break; - - /* "indexed_gzip/indexed_gzip.pyx":854 - * - * # Are we at EOF? Nothing more to do - * if eof: # <<<<<<<<<<<<<< - * break - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":859 - * # Have we found a line? Discard - * # everything that comes after it - * if haveline: # <<<<<<<<<<<<<< - * linebuf = linebuf + buf[:lineidx + 1] - * - */ - __Pyx_TraceLine(859,0,__PYX_ERR(0, 859, __pyx_L8_error)) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_haveline); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 859, __pyx_L8_error) - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":860 - * # everything that comes after it - * if haveline: - * linebuf = linebuf + buf[:lineidx + 1] # <<<<<<<<<<<<<< - * - * # If we've found a line, and are - */ - __Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L8_error)) - __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_lineidx, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_buf, 0, 0, NULL, &__pyx_t_1, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_v_linebuf, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_linebuf, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":859 - * # Have we found a line? Discard - * # everything that comes after it - * if haveline: # <<<<<<<<<<<<<< - * linebuf = linebuf + buf[:lineidx + 1] - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":864 - * # If we've found a line, and are - * # not size-limiting, we're done - * if haveline and size < 0: # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(864,0,__PYX_ERR(0, 864, __pyx_L8_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_haveline); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 864, __pyx_L8_error) - if (__pyx_t_11) { - } else { - __pyx_t_2 = __pyx_t_11; - goto __pyx_L19_bool_binop_done; - } - __pyx_t_1 = PyObject_RichCompare(__pyx_v_size, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 864, __pyx_L8_error) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 864, __pyx_L8_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __pyx_t_11; - __pyx_L19_bool_binop_done:; - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":865 - * # not size-limiting, we're done - * if haveline and size < 0: - * break # <<<<<<<<<<<<<< - * - * # If we're size limiting, and have - */ - __Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L8_error)) - goto __pyx_L15_break; - - /* "indexed_gzip/indexed_gzip.pyx":864 - * # If we've found a line, and are - * # not size-limiting, we're done - * if haveline and size < 0: # <<<<<<<<<<<<<< - * break - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":869 - * # If we're size limiting, and have - * # read in enough bytes, we're done - * if size >= 0 and len(linebuf) > size: # <<<<<<<<<<<<<< - * linebuf = linebuf[:size] - * break - */ - __Pyx_TraceLine(869,0,__PYX_ERR(0, 869, __pyx_L8_error)) - __pyx_t_1 = PyObject_RichCompare(__pyx_v_size, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 869, __pyx_L8_error) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 869, __pyx_L8_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_11) { - } else { - __pyx_t_2 = __pyx_t_11; - goto __pyx_L22_bool_binop_done; - } - __pyx_t_10 = PyObject_Length(__pyx_v_linebuf); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 869, __pyx_L8_error) - __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 869, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_size, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 869, __pyx_L8_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 869, __pyx_L8_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __pyx_t_11; - __pyx_L22_bool_binop_done:; - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":870 - * # read in enough bytes, we're done - * if size >= 0 and len(linebuf) > size: - * linebuf = linebuf[:size] # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(870,0,__PYX_ERR(0, 870, __pyx_L8_error)) - __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_linebuf, 0, 0, NULL, &__pyx_v_size, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 870, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF_SET(__pyx_v_linebuf, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":871 - * if size >= 0 and len(linebuf) > size: - * linebuf = linebuf[:size] - * break # <<<<<<<<<<<<<< - * - * # Rewind the seek location - */ - __Pyx_TraceLine(871,0,__PYX_ERR(0, 871, __pyx_L8_error)) - goto __pyx_L15_break; - - /* "indexed_gzip/indexed_gzip.pyx":869 - * # If we're size limiting, and have - * # read in enough bytes, we're done - * if size >= 0 and len(linebuf) > size: # <<<<<<<<<<<<<< - * linebuf = linebuf[:size] - * break - */ - } - } - __pyx_L15_break:; - - /* "indexed_gzip/indexed_gzip.pyx":875 - * # Rewind the seek location - * # to the finishing point - * self.seek(startpos + len(linebuf)) # <<<<<<<<<<<<<< - * - * return linebuf - */ - __Pyx_TraceLine(875,0,__PYX_ERR(0, 875, __pyx_L8_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 875, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = PyObject_Length(__pyx_v_linebuf); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 875, __pyx_L8_error) - __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 875, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = PyNumber_Add(__pyx_v_startpos, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 875, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 875, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":844 - * - * # Read in chunks of [bufsz] bytes at a time - * with self.__file_handle(): # <<<<<<<<<<<<<< - * while True: - * - */ - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L13_try_end; - __pyx_L8_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readline", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_6) < 0) __PYX_ERR(0, 844, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 844, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 844, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_2 < 0) __PYX_ERR(0, 844, __pyx_L10_except_error) - __pyx_t_11 = ((!(__pyx_t_2 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_6); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_6 = 0; - __PYX_ERR(0, 844, __pyx_L10_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L9_exception_handled; - } - __pyx_L10_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L9_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L13_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 844, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L7; - } - __pyx_L7:; - } - goto __pyx_L27; - __pyx_L4_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L27:; - } - - /* "indexed_gzip/indexed_gzip.pyx":877 - * self.seek(startpos + len(linebuf)) - * - * return linebuf # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(877,0,__PYX_ERR(0, 877, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_linebuf); - __pyx_r = __pyx_v_linebuf; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":829 - * - * - * def readline(self, size=-1): # <<<<<<<<<<<<<< - * """Read and return up to the next ``'\n'`` character (up to at most - * ``size`` bytes, if ``size >= 0``) from the uncompressed data stream. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readline", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_linebuf); - __Pyx_XDECREF(__pyx_v_startpos); - __Pyx_XDECREF(__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_lineidx); - __Pyx_XDECREF(__pyx_v_haveline); - __Pyx_XDECREF(__pyx_v_eof); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":880 - * - * - * def readlines(self, hint=-1): # <<<<<<<<<<<<<< - * """Reads and returns a list of lines from the uncompressed data. - * If ``hint`` is provided, lines will be read until the total size - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines[] = "_IndexedGzipFile.readlines(self, hint=-1)\nReads and returns a list of lines from the uncompressed data.\n If ``hint`` is provided, lines will be read until the total size\n of all lines exceeds ``hint`` in bytes.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines = {"readlines", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_hint = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("readlines (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_hint,0}; - PyObject* values[1] = {0}; - values[0] = ((PyObject *)__pyx_int_neg_1); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hint); - if (value) { values[0] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readlines") < 0)) __PYX_ERR(0, 880, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_hint = values[0]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("readlines", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 880, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_hint); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_hint) { - PyObject *__pyx_v_totalsize = NULL; - PyObject *__pyx_v_lines = NULL; - PyObject *__pyx_v_line = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__29) - __Pyx_RefNannySetupContext("readlines", 0); - __Pyx_TraceCall("readlines", __pyx_f[0], 880, 0, __PYX_ERR(0, 880, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":886 - * """ - * - * totalsize = 0 # <<<<<<<<<<<<<< - * lines = [] - * - */ - __Pyx_TraceLine(886,0,__PYX_ERR(0, 886, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_v_totalsize = __pyx_int_0; - - /* "indexed_gzip/indexed_gzip.pyx":887 - * - * totalsize = 0 - * lines = [] # <<<<<<<<<<<<<< - * - * with self.__file_handle(): - */ - __Pyx_TraceLine(887,0,__PYX_ERR(0, 887, __pyx_L1_error)) - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 887, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_lines = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":889 - * lines = [] - * - * with self.__file_handle(): # <<<<<<<<<<<<<< - * while True: - * - */ - __Pyx_TraceLine(889,0,__PYX_ERR(0, 889, __pyx_L1_error)) - /*with:*/ { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_file_handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 889, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 889, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":890 - * - * with self.__file_handle(): - * while True: # <<<<<<<<<<<<<< - * - * line = self.readline() - */ - __Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L7_error)) - while (1) { - - /* "indexed_gzip/indexed_gzip.pyx":892 - * while True: - * - * line = self.readline() # <<<<<<<<<<<<<< - * if line == b'': - * break - */ - __Pyx_TraceLine(892,0,__PYX_ERR(0, 892, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_readline); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 892, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 892, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":893 - * - * line = self.readline() - * if line == b'': # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(893,0,__PYX_ERR(0, 893, __pyx_L7_error)) - __pyx_t_9 = (__Pyx_PyBytes_Equals(__pyx_v_line, __pyx_kp_b__27, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 893, __pyx_L7_error) - if (__pyx_t_9) { - - /* "indexed_gzip/indexed_gzip.pyx":894 - * line = self.readline() - * if line == b'': - * break # <<<<<<<<<<<<<< - * - * lines.append(line) - */ - __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L7_error)) - goto __pyx_L14_break; - - /* "indexed_gzip/indexed_gzip.pyx":893 - * - * line = self.readline() - * if line == b'': # <<<<<<<<<<<<<< - * break - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":896 - * break - * - * lines.append(line) # <<<<<<<<<<<<<< - * - * totalsize += len(line) - */ - __Pyx_TraceLine(896,0,__PYX_ERR(0, 896, __pyx_L7_error)) - __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_lines, __pyx_v_line); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 896, __pyx_L7_error) - - /* "indexed_gzip/indexed_gzip.pyx":898 - * lines.append(line) - * - * totalsize += len(line) # <<<<<<<<<<<<<< - * - * if hint >= 0 and totalsize > hint: - */ - __Pyx_TraceLine(898,0,__PYX_ERR(0, 898, __pyx_L7_error)) - __pyx_t_11 = PyObject_Length(__pyx_v_line); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 898, __pyx_L7_error) - __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_totalsize, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_totalsize, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":900 - * totalsize += len(line) - * - * if hint >= 0 and totalsize > hint: # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(900,0,__PYX_ERR(0, 900, __pyx_L7_error)) - __pyx_t_2 = PyObject_RichCompare(__pyx_v_hint, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L7_error) - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_12) { - } else { - __pyx_t_9 = __pyx_t_12; - goto __pyx_L17_bool_binop_done; - } - __pyx_t_2 = PyObject_RichCompare(__pyx_v_totalsize, __pyx_v_hint, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L7_error) - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __pyx_t_12; - __pyx_L17_bool_binop_done:; - if (__pyx_t_9) { - - /* "indexed_gzip/indexed_gzip.pyx":901 - * - * if hint >= 0 and totalsize > hint: - * break # <<<<<<<<<<<<<< - * - * return lines - */ - __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L7_error)) - goto __pyx_L14_break; - - /* "indexed_gzip/indexed_gzip.pyx":900 - * totalsize += len(line) - * - * if hint >= 0 and totalsize > hint: # <<<<<<<<<<<<<< - * break - * - */ - } - } - __pyx_L14_break:; - - /* "indexed_gzip/indexed_gzip.pyx":889 - * lines = [] - * - * with self.__file_handle(): # <<<<<<<<<<<<<< - * while True: - * - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 889, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 889, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 889, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_9 < 0) __PYX_ERR(0, 889, __pyx_L9_except_error) - __pyx_t_12 = ((!(__pyx_t_9 != 0)) != 0); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 889, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__4, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 889, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L22; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L22:; - } - - /* "indexed_gzip/indexed_gzip.pyx":903 - * break - * - * return lines # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(903,0,__PYX_ERR(0, 903, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_lines); - __pyx_r = __pyx_v_lines; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":880 - * - * - * def readlines(self, hint=-1): # <<<<<<<<<<<<<< - * """Reads and returns a list of lines from the uncompressed data. - * If ``hint`` is provided, lines will be read until the total size - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_totalsize); - __Pyx_XDECREF(__pyx_v_lines); - __Pyx_XDECREF(__pyx_v_line); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":906 - * - * - * def __iter__(self): # <<<<<<<<<<<<<< - * """Returns this ``_IndexedGzipFile`` which can be iterated over to - * return lines (separated by ``'\n'``) in the uncompressed stream. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_42__iter__(PyObject *__pyx_v_self); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__[] = "Returns this ``_IndexedGzipFile`` which can be iterated over to\n return lines (separated by ``'\n'``) in the uncompressed stream.\n "; -#if CYTHON_UPDATE_DESCRIPTOR_DOC -struct wrapperbase __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__; -#endif -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_42__iter__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__iter__", 0); - __Pyx_TraceCall("__iter__", __pyx_f[0], 906, 0, __PYX_ERR(0, 906, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":910 - * return lines (separated by ``'\n'``) in the uncompressed stream. - * """ - * return self # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(910,0,__PYX_ERR(0, 910, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_self)); - __pyx_r = ((PyObject *)__pyx_v_self); - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":906 - * - * - * def __iter__(self): # <<<<<<<<<<<<<< - * """Returns this ``_IndexedGzipFile`` which can be iterated over to - * return lines (separated by ``'\n'``) in the uncompressed stream. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":913 - * - * - * def __next__(self): # <<<<<<<<<<<<<< - * """Returns the next line from the uncompressed stream. Raises - * :exc:`StopIteration` when there are no lines left. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__(PyObject *__pyx_v_self); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__[] = "Returns the next line from the uncompressed stream. Raises\n :exc:`StopIteration` when there are no lines left.\n "; -#if CYTHON_UPDATE_DESCRIPTOR_DOC -struct wrapperbase __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__; -#endif -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__next__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_v_line = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__next__", 0); - __Pyx_TraceCall("__next__", __pyx_f[0], 913, 0, __PYX_ERR(0, 913, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":917 - * :exc:`StopIteration` when there are no lines left. - * """ - * line = self.readline() # <<<<<<<<<<<<<< - * - * if line == b'': - */ - __Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_readline); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_line = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":919 - * line = self.readline() - * - * if line == b'': # <<<<<<<<<<<<<< - * raise StopIteration() - * else: - */ - __Pyx_TraceLine(919,0,__PYX_ERR(0, 919, __pyx_L1_error)) - __pyx_t_4 = (__Pyx_PyBytes_Equals(__pyx_v_line, __pyx_kp_b__27, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 919, __pyx_L1_error) - if (unlikely(__pyx_t_4)) { - - /* "indexed_gzip/indexed_gzip.pyx":920 - * - * if line == b'': - * raise StopIteration() # <<<<<<<<<<<<<< - * else: - * return line - */ - __Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_builtin_StopIteration); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 920, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 920, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":919 - * line = self.readline() - * - * if line == b'': # <<<<<<<<<<<<<< - * raise StopIteration() - * else: - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":922 - * raise StopIteration() - * else: - * return line # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L1_error)) - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_line); - __pyx_r = __pyx_v_line; - goto __pyx_L0; - } - - /* "indexed_gzip/indexed_gzip.pyx":913 - * - * - * def __next__(self): # <<<<<<<<<<<<<< - * """Returns the next line from the uncompressed stream. Raises - * :exc:`StopIteration` when there are no lines left. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__next__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_line); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":925 - * - * - * def write(self, *args, **kwargs): # <<<<<<<<<<<<<< - * """Currently raises a :exc:`NotImplementedError`.""" - * raise NotImplementedError('_IndexedGzipFile does not support writing') - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write[] = "_IndexedGzipFile.write(self, *args, **kwargs)\nCurrently raises a :exc:`NotImplementedError`."; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write = {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - CYTHON_UNUSED PyObject *__pyx_v_args = 0; - CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("write (wrapper)", 0); - if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "write", 1))) return NULL; - __Pyx_INCREF(__pyx_args); - __pyx_v_args = __pyx_args; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XDECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__30) - __Pyx_RefNannySetupContext("write", 0); - __Pyx_TraceCall("write", __pyx_f[0], 925, 0, __PYX_ERR(0, 925, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":927 - * def write(self, *args, **kwargs): - * """Currently raises a :exc:`NotImplementedError`.""" - * raise NotImplementedError('_IndexedGzipFile does not support writing') # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(927,0,__PYX_ERR(0, 927, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 927, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":925 - * - * - * def write(self, *args, **kwargs): # <<<<<<<<<<<<<< - * """Currently raises a :exc:`NotImplementedError`.""" - * raise NotImplementedError('_IndexedGzipFile does not support writing') - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.write", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":930 - * - * - * def flush(self): # <<<<<<<<<<<<<< - * """Currently does nothing. """ - * pass - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush[] = "_IndexedGzipFile.flush(self)\nCurrently does nothing. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush = {"flush", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("flush (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__32) - __Pyx_RefNannySetupContext("flush", 0); - __Pyx_TraceCall("flush", __pyx_f[0], 930, 0, __PYX_ERR(0, 930, __pyx_L1_error)); - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.flush", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":935 - * - * - * def export_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< - * """Export index data to the given file. Either ``filename`` or - * ``fileobj`` should be specified, but not both. ``fileobj`` should be - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index[] = "_IndexedGzipFile.export_index(self, filename=None, fileobj=None)\nExport index data to the given file. Either ``filename`` or\n ``fileobj`` should be specified, but not both. ``fileobj`` should be\n opened in 'wb' mode.\n\n :arg filename: Name of the file.\n :arg fileobj: Open file handle.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index = {"export_index", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_filename = 0; - PyObject *__pyx_v_fileobj = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("export_index (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_fileobj,0}; - PyObject* values[2] = {0,0}; - values[0] = ((PyObject *)Py_None); - values[1] = ((PyObject *)Py_None); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename); - if (value) { values[0] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "export_index") < 0)) __PYX_ERR(0, 935, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_filename = values[0]; - __pyx_v_fileobj = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("export_index", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 935, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_filename, __pyx_v_fileobj); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj) { - int __pyx_v_close_file; - FILE *__pyx_v_fd; - int __pyx_v_ret; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - char const *__pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__33) - __Pyx_RefNannySetupContext("export_index", 0); - __Pyx_TraceCall("export_index", __pyx_f[0], 935, 0, __PYX_ERR(0, 935, __pyx_L1_error)); - __Pyx_INCREF(__pyx_v_fileobj); - - /* "indexed_gzip/indexed_gzip.pyx":944 - * """ - * - * if filename is None and fileobj is None: # <<<<<<<<<<<<<< - * raise ValueError('One of filename or fileobj must be specified') - * - */ - __Pyx_TraceLine(944,0,__PYX_ERR(0, 944, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_filename == Py_None); - __pyx_t_3 = (__pyx_t_2 != 0); - if (__pyx_t_3) { - } else { - __pyx_t_1 = __pyx_t_3; - goto __pyx_L4_bool_binop_done; - } - __pyx_t_3 = (__pyx_v_fileobj == Py_None); - __pyx_t_2 = (__pyx_t_3 != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L4_bool_binop_done:; - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":945 - * - * if filename is None and fileobj is None: - * raise ValueError('One of filename or fileobj must be specified') # <<<<<<<<<<<<<< - * - * if filename is not None and fileobj is not None: - */ - __Pyx_TraceLine(945,0,__PYX_ERR(0, 945, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 945, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 945, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":944 - * """ - * - * if filename is None and fileobj is None: # <<<<<<<<<<<<<< - * raise ValueError('One of filename or fileobj must be specified') - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":947 - * raise ValueError('One of filename or fileobj must be specified') - * - * if filename is not None and fileobj is not None: # <<<<<<<<<<<<<< - * raise ValueError( - * 'Only one of filename or fileobj must be specified') - */ - __Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_filename != Py_None); - __pyx_t_3 = (__pyx_t_2 != 0); - if (__pyx_t_3) { - } else { - __pyx_t_1 = __pyx_t_3; - goto __pyx_L7_bool_binop_done; - } - __pyx_t_3 = (__pyx_v_fileobj != Py_None); - __pyx_t_2 = (__pyx_t_3 != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L7_bool_binop_done:; - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":948 - * - * if filename is not None and fileobj is not None: - * raise ValueError( # <<<<<<<<<<<<<< - * 'Only one of filename or fileobj must be specified') - * - */ - __Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 948, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":947 - * raise ValueError('One of filename or fileobj must be specified') - * - * if filename is not None and fileobj is not None: # <<<<<<<<<<<<<< - * raise ValueError( - * 'Only one of filename or fileobj must be specified') - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":951 - * 'Only one of filename or fileobj must be specified') - * - * if filename is not None: # <<<<<<<<<<<<<< - * fileobj = builtin_open(filename, 'wb') - * close_file = True - */ - __Pyx_TraceLine(951,0,__PYX_ERR(0, 951, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_filename != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":952 - * - * if filename is not None: - * fileobj = builtin_open(filename, 'wb') # <<<<<<<<<<<<<< - * close_file = True - * - */ - __Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_builtin_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 952, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_filename, __pyx_n_s_wb}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_filename, __pyx_n_s_wb}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - { - __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 952, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (__pyx_t_6) { - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; - } - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_filename); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_n_s_wb); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 952, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_fileobj, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":953 - * if filename is not None: - * fileobj = builtin_open(filename, 'wb') - * close_file = True # <<<<<<<<<<<<<< - * - * else: - */ - __Pyx_TraceLine(953,0,__PYX_ERR(0, 953, __pyx_L1_error)) - __pyx_v_close_file = 1; - - /* "indexed_gzip/indexed_gzip.pyx":951 - * 'Only one of filename or fileobj must be specified') - * - * if filename is not None: # <<<<<<<<<<<<<< - * fileobj = builtin_open(filename, 'wb') - * close_file = True - */ - goto __pyx_L9; - } - - /* "indexed_gzip/indexed_gzip.pyx":956 - * - * else: - * close_file = False # <<<<<<<<<<<<<< - * if getattr(fileobj, 'mode', 'wb') != 'wb': - * raise ValueError( - */ - __Pyx_TraceLine(956,0,__PYX_ERR(0, 956, __pyx_L1_error)) - /*else*/ { - __pyx_v_close_file = 0; - - /* "indexed_gzip/indexed_gzip.pyx":957 - * else: - * close_file = False - * if getattr(fileobj, 'mode', 'wb') != 'wb': # <<<<<<<<<<<<<< - * raise ValueError( - * 'File should be opened in writeable binary mode.') - */ - __Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L1_error)) - __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_fileobj, __pyx_n_s_mode, __pyx_n_s_wb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 957, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_wb, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 957, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":958 - * close_file = False - * if getattr(fileobj, 'mode', 'wb') != 'wb': - * raise ValueError( # <<<<<<<<<<<<<< - * 'File should be opened in writeable binary mode.') - * - */ - __Pyx_TraceLine(958,0,__PYX_ERR(0, 958, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 958, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 958, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":957 - * else: - * close_file = False - * if getattr(fileobj, 'mode', 'wb') != 'wb': # <<<<<<<<<<<<<< - * raise ValueError( - * 'File should be opened in writeable binary mode.') - */ - } - } - __pyx_L9:; - - /* "indexed_gzip/indexed_gzip.pyx":961 - * 'File should be opened in writeable binary mode.') - * - * try: # <<<<<<<<<<<<<< - * # Pass both the Python file object and - * # file descriptor (if this is an actual - */ - __Pyx_TraceLine(961,0,__PYX_ERR(0, 961, __pyx_L1_error)) - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":965 - * # file descriptor (if this is an actual - * # file) to the zran_export_index function - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'wb') - * except io.UnsupportedOperation: - */ - __Pyx_TraceLine(965,0,__PYX_ERR(0, 965, __pyx_L12_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":966 - * # file) to the zran_export_index function - * try: - * fd = fdopen(fileobj.fileno(), 'wb') # <<<<<<<<<<<<<< - * except io.UnsupportedOperation: - * fd = NULL - */ - __Pyx_TraceLine(966,0,__PYX_ERR(0, 966, __pyx_L14_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_fileno); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 966, __pyx_L14_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 966, __pyx_L14_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 966, __pyx_L14_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_fd = fdopen(__pyx_t_7, ((char const *)"wb")); - - /* "indexed_gzip/indexed_gzip.pyx":965 - * # file descriptor (if this is an actual - * # file) to the zran_export_index function - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'wb') - * except io.UnsupportedOperation: - */ - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L19_try_end; - __pyx_L14_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":967 - * try: - * fd = fdopen(fileobj.fileno(), 'wb') - * except io.UnsupportedOperation: # <<<<<<<<<<<<<< - * fd = NULL - * ret = zran.zran_export_index(&self.index, fd, fileobj) - */ - __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L16_except_error)) - __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_8); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_io); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 967, __pyx_L16_except_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_UnsupportedOperation); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 967, __pyx_L16_except_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_7 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_4, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_8); - __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; - if (__pyx_t_7) { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 967, __pyx_L16_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_4); - - /* "indexed_gzip/indexed_gzip.pyx":968 - * fd = fdopen(fileobj.fileno(), 'wb') - * except io.UnsupportedOperation: - * fd = NULL # <<<<<<<<<<<<<< - * ret = zran.zran_export_index(&self.index, fd, fileobj) - * if ret != zran.ZRAN_EXPORT_OK: - */ - __Pyx_TraceLine(968,0,__PYX_ERR(0, 968, __pyx_L16_except_error)) - __pyx_v_fd = NULL; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L15_exception_handled; - } - goto __pyx_L16_except_error; - __pyx_L16_except_error:; - - /* "indexed_gzip/indexed_gzip.pyx":965 - * # file descriptor (if this is an actual - * # file) to the zran_export_index function - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'wb') - * except io.UnsupportedOperation: - */ - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - goto __pyx_L12_error; - __pyx_L15_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_L19_try_end:; - } - - /* "indexed_gzip/indexed_gzip.pyx":969 - * except io.UnsupportedOperation: - * fd = NULL - * ret = zran.zran_export_index(&self.index, fd, fileobj) # <<<<<<<<<<<<<< - * if ret != zran.ZRAN_EXPORT_OK: - * raise ZranError('export_index returned error: {} (file: ' - */ - __Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L12_error)) - __pyx_v_ret = zran_export_index((&__pyx_v_self->index), __pyx_v_fd, ((PyObject *)__pyx_v_fileobj)); - - /* "indexed_gzip/indexed_gzip.pyx":970 - * fd = NULL - * ret = zran.zran_export_index(&self.index, fd, fileobj) - * if ret != zran.ZRAN_EXPORT_OK: # <<<<<<<<<<<<<< - * raise ZranError('export_index returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], - */ - __Pyx_TraceLine(970,0,__PYX_ERR(0, 970, __pyx_L12_error)) - __pyx_t_2 = ((__pyx_v_ret != ZRAN_EXPORT_OK) != 0); - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":971 - * ret = zran.zran_export_index(&self.index, fd, fileobj) - * if ret != zran.ZRAN_EXPORT_OK: - * raise ZranError('export_index returned error: {} (file: ' # <<<<<<<<<<<<<< - * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], - * self.errname)) - */ - __Pyx_TraceLine(971,0,__PYX_ERR(0, 971, __pyx_L12_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 971, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/indexed_gzip.pyx":972 - * if ret != zran.ZRAN_EXPORT_OK: - * raise ZranError('export_index returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], # <<<<<<<<<<<<<< - * self.errname)) - * - */ - __Pyx_TraceLine(972,0,__PYX_ERR(0, 972, __pyx_L12_error)) - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_export_index_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 972, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 972, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ZRAN_EXPORT); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 972, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_ret, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 972, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":973 - * raise ZranError('export_index returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], - * self.errname)) # <<<<<<<<<<<<<< - * - * finally: - */ - __Pyx_TraceLine(973,0,__PYX_ERR(0, 973, __pyx_L12_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 973, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_12)) { - PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_13}; - __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 972, __pyx_L12_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { - PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_13}; - __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 972, __pyx_L12_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - { - __pyx_t_15 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 972, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_15); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; - } - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_t_13); - __pyx_t_6 = 0; - __pyx_t_13 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 972, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 971, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 971, __pyx_L12_error) - - /* "indexed_gzip/indexed_gzip.pyx":970 - * fd = NULL - * ret = zran.zran_export_index(&self.index, fd, fileobj) - * if ret != zran.ZRAN_EXPORT_OK: # <<<<<<<<<<<<<< - * raise ZranError('export_index returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_EXPORT[ret], - */ - } - } - - /* "indexed_gzip/indexed_gzip.pyx":976 - * - * finally: - * if close_file: # <<<<<<<<<<<<<< - * fileobj.close() - * - */ - __Pyx_TraceLine(976,0,__PYX_ERR(0, 976, __pyx_L12_error)) - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_2 = (__pyx_v_close_file != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":977 - * finally: - * if close_file: - * fileobj.close() # <<<<<<<<<<<<<< - * - * log.debug('%s.export_index(%s, %s)', - */ - __Pyx_TraceLine(977,0,__PYX_ERR(0, 977, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":976 - * - * finally: - * if close_file: # <<<<<<<<<<<<<< - * fileobj.close() - * - */ - } - goto __pyx_L13; - } - __pyx_L12_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_7 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; - { - __pyx_t_2 = (__pyx_v_close_file != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":977 - * finally: - * if close_file: - * fileobj.close() # <<<<<<<<<<<<<< - * - * log.debug('%s.export_index(%s, %s)', - */ - __Pyx_TraceLine(977,0,__PYX_ERR(0, 977, __pyx_L25_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":976 - * - * finally: - * if close_file: # <<<<<<<<<<<<<< - * fileobj.close() - * - */ - } - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_11, __pyx_t_10, __pyx_t_9); - __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; - __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; - goto __pyx_L1_error; - __pyx_L25_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; - goto __pyx_L1_error; - } - __pyx_L13:; - } - - /* "indexed_gzip/indexed_gzip.pyx":979 - * fileobj.close() - * - * log.debug('%s.export_index(%s, %s)', # <<<<<<<<<<<<<< - * type(self).__name__, - * filename, - */ - __Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":980 - * - * log.debug('%s.export_index(%s, %s)', - * type(self).__name__, # <<<<<<<<<<<<<< - * filename, - * fileobj) - */ - __Pyx_TraceLine(980,0,__PYX_ERR(0, 980, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 980, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/indexed_gzip.pyx":982 - * type(self).__name__, - * filename, - * fileobj) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(982,0,__PYX_ERR(0, 982, __pyx_L1_error)) - __pyx_t_12 = NULL; - __pyx_t_16 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_16 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_8)) { - PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_kp_s_s_export_index_s_s, __pyx_t_5, __pyx_v_filename, __pyx_v_fileobj}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 4+__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 979, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { - PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_kp_s_s_export_index_s_s, __pyx_t_5, __pyx_v_filename, __pyx_v_fileobj}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 4+__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 979, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - { - __pyx_t_15 = PyTuple_New(4+__pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_12); __pyx_t_12 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_s_export_index_s_s); - __Pyx_GIVEREF(__pyx_kp_s_s_export_index_s_s); - PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_16, __pyx_kp_s_s_export_index_s_s); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_16, __pyx_t_5); - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_16, __pyx_v_filename); - __Pyx_INCREF(__pyx_v_fileobj); - __Pyx_GIVEREF(__pyx_v_fileobj); - PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_16, __pyx_v_fileobj); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_15, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 979, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":935 - * - * - * def export_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< - * """Export index data to the given file. Either ``filename`` or - * ``fileobj`` should be specified, but not both. ``fileobj`` should be - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fileobj); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":985 - * - * - * def import_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< - * """Import index data from the given file. Either ``filename`` or - * ``fileobj`` should be specified, but not both. ``fileobj`` should be - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index[] = "_IndexedGzipFile.import_index(self, filename=None, fileobj=None)\nImport index data from the given file. Either ``filename`` or\n ``fileobj`` should be specified, but not both. ``fileobj`` should be\n opened in 'rb' mode.\n\n :arg filename: Name of the file.\n :arg fileobj: Open file handle.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index = {"import_index", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_filename = 0; - PyObject *__pyx_v_fileobj = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("import_index (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_filename,&__pyx_n_s_fileobj,0}; - PyObject* values[2] = {0,0}; - values[0] = ((PyObject *)Py_None); - values[1] = ((PyObject *)Py_None); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_filename); - if (value) { values[0] = value; kw_args--; } - } - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "import_index") < 0)) __PYX_ERR(0, 985, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_filename = values[0]; - __pyx_v_fileobj = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("import_index", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 985, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.import_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), __pyx_v_filename, __pyx_v_fileobj); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_fileobj) { - int __pyx_v_close_file; - FILE *__pyx_v_fd; - int __pyx_v_ret; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - char const *__pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__37) - __Pyx_RefNannySetupContext("import_index", 0); - __Pyx_TraceCall("import_index", __pyx_f[0], 985, 0, __PYX_ERR(0, 985, __pyx_L1_error)); - __Pyx_INCREF(__pyx_v_fileobj); - - /* "indexed_gzip/indexed_gzip.pyx":994 - * """ - * - * if filename is None and fileobj is None: # <<<<<<<<<<<<<< - * raise ValueError('One of filename or fileobj must be specified') - * - */ - __Pyx_TraceLine(994,0,__PYX_ERR(0, 994, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_filename == Py_None); - __pyx_t_3 = (__pyx_t_2 != 0); - if (__pyx_t_3) { - } else { - __pyx_t_1 = __pyx_t_3; - goto __pyx_L4_bool_binop_done; - } - __pyx_t_3 = (__pyx_v_fileobj == Py_None); - __pyx_t_2 = (__pyx_t_3 != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L4_bool_binop_done:; - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":995 - * - * if filename is None and fileobj is None: - * raise ValueError('One of filename or fileobj must be specified') # <<<<<<<<<<<<<< - * - * if filename is not None and fileobj is not None: - */ - __Pyx_TraceLine(995,0,__PYX_ERR(0, 995, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 995, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 995, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":994 - * """ - * - * if filename is None and fileobj is None: # <<<<<<<<<<<<<< - * raise ValueError('One of filename or fileobj must be specified') - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":997 - * raise ValueError('One of filename or fileobj must be specified') - * - * if filename is not None and fileobj is not None: # <<<<<<<<<<<<<< - * raise ValueError( - * 'Only one of filename or fileobj must be specified') - */ - __Pyx_TraceLine(997,0,__PYX_ERR(0, 997, __pyx_L1_error)) - __pyx_t_2 = (__pyx_v_filename != Py_None); - __pyx_t_3 = (__pyx_t_2 != 0); - if (__pyx_t_3) { - } else { - __pyx_t_1 = __pyx_t_3; - goto __pyx_L7_bool_binop_done; - } - __pyx_t_3 = (__pyx_v_fileobj != Py_None); - __pyx_t_2 = (__pyx_t_3 != 0); - __pyx_t_1 = __pyx_t_2; - __pyx_L7_bool_binop_done:; - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":998 - * - * if filename is not None and fileobj is not None: - * raise ValueError( # <<<<<<<<<<<<<< - * 'Only one of filename or fileobj must be specified') - * - */ - __Pyx_TraceLine(998,0,__PYX_ERR(0, 998, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 998, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 998, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":997 - * raise ValueError('One of filename or fileobj must be specified') - * - * if filename is not None and fileobj is not None: # <<<<<<<<<<<<<< - * raise ValueError( - * 'Only one of filename or fileobj must be specified') - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":1001 - * 'Only one of filename or fileobj must be specified') - * - * if filename is not None: # <<<<<<<<<<<<<< - * fileobj = builtin_open(filename, 'rb') - * close_file = True - */ - __Pyx_TraceLine(1001,0,__PYX_ERR(0, 1001, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_filename != Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":1002 - * - * if filename is not None: - * fileobj = builtin_open(filename, 'rb') # <<<<<<<<<<<<<< - * close_file = True - * - */ - __Pyx_TraceLine(1002,0,__PYX_ERR(0, 1002, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_builtin_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1002, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_filename, __pyx_n_s_rb}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1002, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_filename, __pyx_n_s_rb}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1002, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - { - __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1002, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (__pyx_t_6) { - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; - } - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_filename); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_n_s_rb); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1002, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_fileobj, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1003 - * if filename is not None: - * fileobj = builtin_open(filename, 'rb') - * close_file = True # <<<<<<<<<<<<<< - * - * else: - */ - __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L1_error)) - __pyx_v_close_file = 1; - - /* "indexed_gzip/indexed_gzip.pyx":1001 - * 'Only one of filename or fileobj must be specified') - * - * if filename is not None: # <<<<<<<<<<<<<< - * fileobj = builtin_open(filename, 'rb') - * close_file = True - */ - goto __pyx_L9; - } - - /* "indexed_gzip/indexed_gzip.pyx":1006 - * - * else: - * close_file = False # <<<<<<<<<<<<<< - * if getattr(fileobj, 'mode', 'rb') != 'rb': - * raise ValueError( - */ - __Pyx_TraceLine(1006,0,__PYX_ERR(0, 1006, __pyx_L1_error)) - /*else*/ { - __pyx_v_close_file = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1007 - * else: - * close_file = False - * if getattr(fileobj, 'mode', 'rb') != 'rb': # <<<<<<<<<<<<<< - * raise ValueError( - * 'File should be opened read-only binary mode.') - */ - __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L1_error)) - __pyx_t_4 = __Pyx_GetAttr3(__pyx_v_fileobj, __pyx_n_s_mode, __pyx_n_s_rb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1007, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_NE)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1007, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":1008 - * close_file = False - * if getattr(fileobj, 'mode', 'rb') != 'rb': - * raise ValueError( # <<<<<<<<<<<<<< - * 'File should be opened read-only binary mode.') - * - */ - __Pyx_TraceLine(1008,0,__PYX_ERR(0, 1008, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1008, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 1008, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":1007 - * else: - * close_file = False - * if getattr(fileobj, 'mode', 'rb') != 'rb': # <<<<<<<<<<<<<< - * raise ValueError( - * 'File should be opened read-only binary mode.') - */ - } - } - __pyx_L9:; - - /* "indexed_gzip/indexed_gzip.pyx":1011 - * 'File should be opened read-only binary mode.') - * - * try: # <<<<<<<<<<<<<< - * # Pass both the Python file object and - * # file descriptor (if this is an actual - */ - __Pyx_TraceLine(1011,0,__PYX_ERR(0, 1011, __pyx_L1_error)) - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":1015 - * # file descriptor (if this is an actual - * # file) to the zran_import_index function - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: - */ - __Pyx_TraceLine(1015,0,__PYX_ERR(0, 1015, __pyx_L12_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - - /* "indexed_gzip/indexed_gzip.pyx":1016 - * # file) to the zran_import_index function - * try: - * fd = fdopen(fileobj.fileno(), 'rb') # <<<<<<<<<<<<<< - * except io.UnsupportedOperation: - * fd = NULL - */ - __Pyx_TraceLine(1016,0,__PYX_ERR(0, 1016, __pyx_L14_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_fileno); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1016, __pyx_L14_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1016, __pyx_L14_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1016, __pyx_L14_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_fd = fdopen(__pyx_t_7, ((char const *)"rb")); - - /* "indexed_gzip/indexed_gzip.pyx":1015 - * # file descriptor (if this is an actual - * # file) to the zran_import_index function - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: - */ - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L19_try_end; - __pyx_L14_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1017 - * try: - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: # <<<<<<<<<<<<<< - * fd = NULL - * ret = zran.zran_import_index(&self.index, fd, fileobj) - */ - __Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L16_except_error)) - __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_5, &__pyx_t_8); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_io); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1017, __pyx_L16_except_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_UnsupportedOperation); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1017, __pyx_L16_except_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_7 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_4, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_ErrRestore(__pyx_t_4, __pyx_t_5, __pyx_t_8); - __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; - if (__pyx_t_7) { - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.import_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 1017, __pyx_L16_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_4); - - /* "indexed_gzip/indexed_gzip.pyx":1018 - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: - * fd = NULL # <<<<<<<<<<<<<< - * ret = zran.zran_import_index(&self.index, fd, fileobj) - * if ret != zran.ZRAN_IMPORT_OK: - */ - __Pyx_TraceLine(1018,0,__PYX_ERR(0, 1018, __pyx_L16_except_error)) - __pyx_v_fd = NULL; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L15_exception_handled; - } - goto __pyx_L16_except_error; - __pyx_L16_except_error:; - - /* "indexed_gzip/indexed_gzip.pyx":1015 - * # file descriptor (if this is an actual - * # file) to the zran_import_index function - * try: # <<<<<<<<<<<<<< - * fd = fdopen(fileobj.fileno(), 'rb') - * except io.UnsupportedOperation: - */ - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - goto __pyx_L12_error; - __pyx_L15_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_L19_try_end:; - } - - /* "indexed_gzip/indexed_gzip.pyx":1019 - * except io.UnsupportedOperation: - * fd = NULL - * ret = zran.zran_import_index(&self.index, fd, fileobj) # <<<<<<<<<<<<<< - * if ret != zran.ZRAN_IMPORT_OK: - * raise ZranError('import_index returned error: {} (file: ' - */ - __Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L12_error)) - __pyx_v_ret = zran_import_index((&__pyx_v_self->index), __pyx_v_fd, ((PyObject *)__pyx_v_fileobj)); - - /* "indexed_gzip/indexed_gzip.pyx":1020 - * fd = NULL - * ret = zran.zran_import_index(&self.index, fd, fileobj) - * if ret != zran.ZRAN_IMPORT_OK: # <<<<<<<<<<<<<< - * raise ZranError('import_index returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], - */ - __Pyx_TraceLine(1020,0,__PYX_ERR(0, 1020, __pyx_L12_error)) - __pyx_t_2 = ((__pyx_v_ret != ZRAN_IMPORT_OK) != 0); - if (unlikely(__pyx_t_2)) { - - /* "indexed_gzip/indexed_gzip.pyx":1021 - * ret = zran.zran_import_index(&self.index, fd, fileobj) - * if ret != zran.ZRAN_IMPORT_OK: - * raise ZranError('import_index returned error: {} (file: ' # <<<<<<<<<<<<<< - * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], - * self.errname)) - */ - __Pyx_TraceLine(1021,0,__PYX_ERR(0, 1021, __pyx_L12_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ZranError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1021, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/indexed_gzip.pyx":1022 - * if ret != zran.ZRAN_IMPORT_OK: - * raise ZranError('import_index returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], # <<<<<<<<<<<<<< - * self.errname)) - * - */ - __Pyx_TraceLine(1022,0,__PYX_ERR(0, 1022, __pyx_L12_error)) - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_import_index_returned_error_file, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1022, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ZRAN_ERRORS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1022, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_ZRAN_IMPORT); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1022, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_ret, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1022, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1023 - * raise ZranError('import_index returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], - * self.errname)) # <<<<<<<<<<<<<< - * - * self.skip_crc_check = True - */ - __Pyx_TraceLine(1023,0,__PYX_ERR(0, 1023, __pyx_L12_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_errname); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1023, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_12)) { - PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_13}; - __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1022, __pyx_L12_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { - PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_t_6, __pyx_t_13}; - __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1022, __pyx_L12_error) - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else - #endif - { - __pyx_t_15 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1022, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_15); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; - } - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_13); - PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_t_13); - __pyx_t_6 = 0; - __pyx_t_13 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_15, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1022, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_12, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1021, __pyx_L12_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 1021, __pyx_L12_error) - - /* "indexed_gzip/indexed_gzip.pyx":1020 - * fd = NULL - * ret = zran.zran_import_index(&self.index, fd, fileobj) - * if ret != zran.ZRAN_IMPORT_OK: # <<<<<<<<<<<<<< - * raise ZranError('import_index returned error: {} (file: ' - * '{})'.format(ZRAN_ERRORS.ZRAN_IMPORT[ret], - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":1025 - * self.errname)) - * - * self.skip_crc_check = True # <<<<<<<<<<<<<< - * - * finally: - */ - __Pyx_TraceLine(1025,0,__PYX_ERR(0, 1025, __pyx_L12_error)) - __pyx_v_self->skip_crc_check = 1; - } - - /* "indexed_gzip/indexed_gzip.pyx":1028 - * - * finally: - * if close_file: # <<<<<<<<<<<<<< - * fileobj.close() - * - */ - __Pyx_TraceLine(1028,0,__PYX_ERR(0, 1028, __pyx_L12_error)) - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_2 = (__pyx_v_close_file != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":1029 - * finally: - * if close_file: - * fileobj.close() # <<<<<<<<<<<<<< - * - * log.debug('%s.import_index(%s, %s)', - */ - __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1029, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1028 - * - * finally: - * if close_file: # <<<<<<<<<<<<<< - * fileobj.close() - * - */ - } - goto __pyx_L13; - } - __pyx_L12_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_7 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; - { - __pyx_t_2 = (__pyx_v_close_file != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/indexed_gzip.pyx":1029 - * finally: - * if close_file: - * fileobj.close() # <<<<<<<<<<<<<< - * - * log.debug('%s.import_index(%s, %s)', - */ - __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L25_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1029, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1028 - * - * finally: - * if close_file: # <<<<<<<<<<<<<< - * fileobj.close() - * - */ - } - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - } - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestore(__pyx_t_11, __pyx_t_10, __pyx_t_9); - __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; - __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; - goto __pyx_L1_error; - __pyx_L25_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; - goto __pyx_L1_error; - } - __pyx_L13:; - } - - /* "indexed_gzip/indexed_gzip.pyx":1031 - * fileobj.close() - * - * log.debug('%s.import_index(%s, %s)', # <<<<<<<<<<<<<< - * type(self).__name__, - * filename, - */ - __Pyx_TraceLine(1031,0,__PYX_ERR(0, 1031, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_log); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1031, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1031, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1032 - * - * log.debug('%s.import_index(%s, %s)', - * type(self).__name__, # <<<<<<<<<<<<<< - * filename, - * fileobj) - */ - __Pyx_TraceLine(1032,0,__PYX_ERR(0, 1032, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1032, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/indexed_gzip.pyx":1034 - * type(self).__name__, - * filename, - * fileobj) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1034,0,__PYX_ERR(0, 1034, __pyx_L1_error)) - __pyx_t_12 = NULL; - __pyx_t_16 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_16 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_8)) { - PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_kp_s_s_import_index_s_s, __pyx_t_5, __pyx_v_filename, __pyx_v_fileobj}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 4+__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1031, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { - PyObject *__pyx_temp[5] = {__pyx_t_12, __pyx_kp_s_s_import_index_s_s, __pyx_t_5, __pyx_v_filename, __pyx_v_fileobj}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_16, 4+__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1031, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - { - __pyx_t_15 = PyTuple_New(4+__pyx_t_16); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1031, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_12); __pyx_t_12 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_s_import_index_s_s); - __Pyx_GIVEREF(__pyx_kp_s_s_import_index_s_s); - PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_16, __pyx_kp_s_s_import_index_s_s); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_16, __pyx_t_5); - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_16, __pyx_v_filename); - __Pyx_INCREF(__pyx_v_fileobj); - __Pyx_GIVEREF(__pyx_v_fileobj); - PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_16, __pyx_v_fileobj); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_15, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1031, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":985 - * - * - * def import_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< - * """Import index data from the given file. Either ``filename`` or - * ``fileobj`` should be specified, but not both. ``fileobj`` should be - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.import_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fileobj); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":231 - * - * - * cdef readonly uint32_t spacing # <<<<<<<<<<<<<< - * """Number of bytes between index seek points. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 231, 0, __PYX_ERR(0, 231, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->spacing); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.spacing.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":235 - * - * - * cdef readonly uint32_t window_size # <<<<<<<<<<<<<< - * """Number of bytes of uncompressed data stored with each seek point.""" - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 235, 0, __PYX_ERR(0, 235, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->window_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.window_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":239 - * - * - * cdef readonly uint32_t readbuf_size # <<<<<<<<<<<<<< - * """Size of buffer in bytes for storing compressed data read in from the - * file. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 239, 0, __PYX_ERR(0, 239, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->readbuf_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readbuf_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":245 - * - * - * cdef readonly unsigned int readall_buf_size # <<<<<<<<<<<<<< - * """Size of buffer in bytes used by :meth:`read` when reading until EOF. - * """ - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 245, 0, __PYX_ERR(0, 245, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->readall_buf_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.readall_buf_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":250 - * - * - * cdef readonly bint auto_build # <<<<<<<<<<<<<< - * """Flag which is set to ``True`` if the file index is built automatically - * on seeks/reads. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 250, 0, __PYX_ERR(0, 250, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->auto_build); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.auto_build.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":256 - * - * - * cdef readonly bint skip_crc_check # <<<<<<<<<<<<<< - * """Flag which is set to ``True`` if CRC/size validation of uncompressed - * data is disabled. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 256, 0, __PYX_ERR(0, 256, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->skip_crc_check); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.skip_crc_check.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":262 - * - * - * cdef readonly object filename # <<<<<<<<<<<<<< - * """String containing path of file being indexed. Used to release and - * reopen file handles between seeks and reads. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 262, 0, __PYX_ERR(0, 262, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_self->filename); - __pyx_r = __pyx_v_self->filename; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.filename.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":269 - * - * - * cdef readonly bint own_file # <<<<<<<<<<<<<< - * """Flag which tracks whether this ``_IndexedGzipFile`` has opened its - * own file handle, or was given one. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 269, 0, __PYX_ERR(0, 269, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->own_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.own_file.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":275 - * - * - * cdef readonly bint drop_handles # <<<<<<<<<<<<<< - * """Copy of the ``drop_handles`` flag as passed to :meth:`__cinit__`. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles_1__get__(PyObject *__pyx_v_self); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles_1__get__(PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles___get__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles___get__(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__get__", 0); - __Pyx_TraceCall("__get__", __pyx_f[0], 275, 0, __PYX_ERR(0, 275, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->drop_handles); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.drop_handles.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__[] = "_IndexedGzipFile.__reduce_cython__(self)"; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__39) - __Pyx_RefNannySetupContext("__reduce_cython__", 0); - __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 1, __pyx_L1_error)); - - /* "(tree fragment)":2 - * def __reduce_cython__(self): - * raise TypeError("self.index cannot be converted to a Python object for pickling") # <<<<<<<<<<<<<< - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("self.index cannot be converted to a Python object for pickling") - */ - __Pyx_TraceLine(2,0,__PYX_ERR(1, 2, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(1, 2, __pyx_L1_error) - - /* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("self.index cannot be converted to a Python object for pickling") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__[] = "_IndexedGzipFile.__setstate_cython__(self, __pyx_state)"; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__41) - __Pyx_RefNannySetupContext("__setstate_cython__", 0); - __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 3, __pyx_L1_error)); - - /* "(tree fragment)":4 - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("self.index cannot be converted to a Python object for pickling") # <<<<<<<<<<<<<< - */ - __Pyx_TraceLine(4,0,__PYX_ERR(1, 4, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__42, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(1, 4, __pyx_L1_error) - - /* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("self.index cannot be converted to a Python object for pickling") - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip._IndexedGzipFile.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":1051 - * - * - * def __cinit__(self, size_t size): # <<<<<<<<<<<<<< - * """Allocate ``size`` bytes of memory. """ - * - */ - -/* Python wrapper */ -static int __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - size_t __pyx_v_size; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,0}; - PyObject* values[1] = {0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 1051, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 1) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - } - __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1051, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1051, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer___cinit__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self), __pyx_v_size); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static int __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer___cinit__(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, size_t __pyx_v_size) { - int __pyx_r; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__cinit__", 0); - __Pyx_TraceCall("__cinit__", __pyx_f[0], 1051, 0, __PYX_ERR(0, 1051, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":1054 - * """Allocate ``size`` bytes of memory. """ - * - * self.size = size # <<<<<<<<<<<<<< - * self.buffer = PyMem_Malloc(size) - * - */ - __Pyx_TraceLine(1054,0,__PYX_ERR(0, 1054, __pyx_L1_error)) - __pyx_v_self->size = __pyx_v_size; - - /* "indexed_gzip/indexed_gzip.pyx":1055 - * - * self.size = size - * self.buffer = PyMem_Malloc(size) # <<<<<<<<<<<<<< - * - * if not self.buffer: - */ - __Pyx_TraceLine(1055,0,__PYX_ERR(0, 1055, __pyx_L1_error)) - __pyx_v_self->buffer = PyMem_Malloc(__pyx_v_size); - - /* "indexed_gzip/indexed_gzip.pyx":1057 - * self.buffer = PyMem_Malloc(size) - * - * if not self.buffer: # <<<<<<<<<<<<<< - * raise MemoryError('PyMem_Malloc fail') - * - */ - __Pyx_TraceLine(1057,0,__PYX_ERR(0, 1057, __pyx_L1_error)) - __pyx_t_1 = ((!(__pyx_v_self->buffer != 0)) != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":1058 - * - * if not self.buffer: - * raise MemoryError('PyMem_Malloc fail') # <<<<<<<<<<<<<< - * - * log.debug('ReadBuffer.__cinit__(%s)', size) - */ - __Pyx_TraceLine(1058,0,__PYX_ERR(0, 1058, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 1058, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":1057 - * self.buffer = PyMem_Malloc(size) - * - * if not self.buffer: # <<<<<<<<<<<<<< - * raise MemoryError('PyMem_Malloc fail') - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":1060 - * raise MemoryError('PyMem_Malloc fail') - * - * log.debug('ReadBuffer.__cinit__(%s)', size) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1060,0,__PYX_ERR(0, 1060, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_6 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_6 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_ReadBuffer___cinit___s, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_ReadBuffer___cinit___s, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_ReadBuffer___cinit___s); - __Pyx_GIVEREF(__pyx_kp_s_ReadBuffer___cinit___s); - PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_ReadBuffer___cinit___s); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1051 - * - * - * def __cinit__(self, size_t size): # <<<<<<<<<<<<<< - * """Allocate ``size`` bytes of memory. """ - * - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":1063 - * - * - * def resize(self, size_t size): # <<<<<<<<<<<<<< - * """Re-allocate the memory to the given ``size``. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize[] = "ReadBuffer.resize(self, size_t size)\nRe-allocate the memory to the given ``size``. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize = {"resize", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { - size_t __pyx_v_size; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("resize (wrapper)", 0); - assert(__pyx_arg_size); { - __pyx_v_size = __Pyx_PyInt_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1063, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.resize", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self), ((size_t)__pyx_v_size)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, size_t __pyx_v_size) { - void *__pyx_v_buf; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__44) - __Pyx_RefNannySetupContext("resize", 0); - __Pyx_TraceCall("resize", __pyx_f[0], 1063, 0, __PYX_ERR(0, 1063, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":1066 - * """Re-allocate the memory to the given ``size``. """ - * - * if size == self.size: # <<<<<<<<<<<<<< - * return - * - */ - __Pyx_TraceLine(1066,0,__PYX_ERR(0, 1066, __pyx_L1_error)) - __pyx_t_1 = ((__pyx_v_size == __pyx_v_self->size) != 0); - if (__pyx_t_1) { - - /* "indexed_gzip/indexed_gzip.pyx":1067 - * - * if size == self.size: - * return # <<<<<<<<<<<<<< - * - * buf = PyMem_Realloc(self.buffer, size) - */ - __Pyx_TraceLine(1067,0,__PYX_ERR(0, 1067, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":1066 - * """Re-allocate the memory to the given ``size``. """ - * - * if size == self.size: # <<<<<<<<<<<<<< - * return - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":1069 - * return - * - * buf = PyMem_Realloc(self.buffer, size) # <<<<<<<<<<<<<< - * - * if not buf: - */ - __Pyx_TraceLine(1069,0,__PYX_ERR(0, 1069, __pyx_L1_error)) - __pyx_v_buf = PyMem_Realloc(__pyx_v_self->buffer, __pyx_v_size); - - /* "indexed_gzip/indexed_gzip.pyx":1071 - * buf = PyMem_Realloc(self.buffer, size) - * - * if not buf: # <<<<<<<<<<<<<< - * raise MemoryError('PyMem_Realloc fail') - * - */ - __Pyx_TraceLine(1071,0,__PYX_ERR(0, 1071, __pyx_L1_error)) - __pyx_t_1 = ((!(__pyx_v_buf != 0)) != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/indexed_gzip.pyx":1072 - * - * if not buf: - * raise MemoryError('PyMem_Realloc fail') # <<<<<<<<<<<<<< - * - * log.debug('ReadBuffer.resize(%s)', size) - */ - __Pyx_TraceLine(1072,0,__PYX_ERR(0, 1072, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1072, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 1072, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":1071 - * buf = PyMem_Realloc(self.buffer, size) - * - * if not buf: # <<<<<<<<<<<<<< - * raise MemoryError('PyMem_Realloc fail') - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":1074 - * raise MemoryError('PyMem_Realloc fail') - * - * log.debug('ReadBuffer.resize(%s)', size) # <<<<<<<<<<<<<< - * - * self.size = size - */ - __Pyx_TraceLine(1074,0,__PYX_ERR(0, 1074, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_6 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_6 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_ReadBuffer_resize_s, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_s_ReadBuffer_resize_s, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_kp_s_ReadBuffer_resize_s); - __Pyx_GIVEREF(__pyx_kp_s_ReadBuffer_resize_s); - PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_ReadBuffer_resize_s); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1074, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1076 - * log.debug('ReadBuffer.resize(%s)', size) - * - * self.size = size # <<<<<<<<<<<<<< - * self.buffer = buf - * - */ - __Pyx_TraceLine(1076,0,__PYX_ERR(0, 1076, __pyx_L1_error)) - __pyx_v_self->size = __pyx_v_size; - - /* "indexed_gzip/indexed_gzip.pyx":1077 - * - * self.size = size - * self.buffer = buf # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1077,0,__PYX_ERR(0, 1077, __pyx_L1_error)) - __pyx_v_self->buffer = __pyx_v_buf; - - /* "indexed_gzip/indexed_gzip.pyx":1063 - * - * - * def resize(self, size_t size): # <<<<<<<<<<<<<< - * """Re-allocate the memory to the given ``size``. """ - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.resize", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":1080 - * - * - * def __dealloc__(self): # <<<<<<<<<<<<<< - * """Free the mwmory. """ - * PyMem_Free(self.buffer) - */ - -/* Python wrapper */ -static void __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_5__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_5__dealloc__(PyObject *__pyx_v_self) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_4__dealloc__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_4__dealloc__(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self) { - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__dealloc__", 0); - __Pyx_TraceCall("__dealloc__", __pyx_f[0], 1080, 0, __PYX_ERR(0, 1080, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":1082 - * def __dealloc__(self): - * """Free the mwmory. """ - * PyMem_Free(self.buffer) # <<<<<<<<<<<<<< - * - * log.debug('ReadBuffer.__dealloc__()') - */ - __Pyx_TraceLine(1082,0,__PYX_ERR(0, 1082, __pyx_L1_error)) - PyMem_Free(__pyx_v_self->buffer); - - /* "indexed_gzip/indexed_gzip.pyx":1084 - * PyMem_Free(self.buffer) - * - * log.debug('ReadBuffer.__dealloc__()') # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1084,0,__PYX_ERR(0, 1084, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_log); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1084, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_s_ReadBuffer___dealloc) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_ReadBuffer___dealloc); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1080 - * - * - * def __dealloc__(self): # <<<<<<<<<<<<<< - * """Free the mwmory. """ - * PyMem_Free(self.buffer) - */ - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_WriteUnraisable("indexed_gzip.indexed_gzip.ReadBuffer.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); -} - -/* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__[] = "ReadBuffer.__reduce_cython__(self)"; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__46) - __Pyx_RefNannySetupContext("__reduce_cython__", 0); - __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 1, __pyx_L1_error)); - - /* "(tree fragment)":2 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - __Pyx_TraceLine(2,0,__PYX_ERR(1, 2, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(1, 2, __pyx_L1_error) - - /* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__[] = "ReadBuffer.__setstate_cython__(self, __pyx_state)"; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__(((struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__48) - __Pyx_RefNannySetupContext("__setstate_cython__", 0); - __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 3, __pyx_L1_error)); - - /* "(tree fragment)":4 - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< - */ - __Pyx_TraceLine(4,0,__PYX_ERR(1, 4, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(1, 4, __pyx_L1_error) - - /* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.ReadBuffer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/indexed_gzip.pyx":1087 - * - * - * def unpickle(state): # <<<<<<<<<<<<<< - * """Create a new ``IndexedGzipFile`` from a pickled state. - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_3unpickle(PyObject *__pyx_self, PyObject *__pyx_v_state); /*proto*/ -static char __pyx_doc_12indexed_gzip_12indexed_gzip_2unpickle[] = "unpickle(state)\nCreate a new ``IndexedGzipFile`` from a pickled state.\n\n :arg state: State of a pickled object, as returned by the\n ``IndexedGzipFile.__reduce__`` method.\n\n :returns: A new ``IndexedGzipFile`` object.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_12indexed_gzip_3unpickle = {"unpickle", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_3unpickle, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_2unpickle}; -static PyObject *__pyx_pw_12indexed_gzip_12indexed_gzip_3unpickle(PyObject *__pyx_self, PyObject *__pyx_v_state) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("unpickle (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_12indexed_gzip_2unpickle(__pyx_self, ((PyObject *)__pyx_v_state)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_12indexed_gzip_2unpickle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_state) { - PyObject *__pyx_v_tell = NULL; - PyObject *__pyx_v_index = NULL; - PyObject *__pyx_v_gzobj = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__50) - __Pyx_RefNannySetupContext("unpickle", 0); - __Pyx_TraceCall("unpickle", __pyx_f[0], 1087, 0, __PYX_ERR(0, 1087, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":1096 - * """ - * - * tell = state.pop('tell') # <<<<<<<<<<<<<< - * index = state.pop('index') - * gzobj = IndexedGzipFile(**state) - */ - __Pyx_TraceLine(1096,0,__PYX_ERR(0, 1096, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_state, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_tell) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_tell); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1096, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_tell = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1097 - * - * tell = state.pop('tell') - * index = state.pop('index') # <<<<<<<<<<<<<< - * gzobj = IndexedGzipFile(**state) - * - */ - __Pyx_TraceLine(1097,0,__PYX_ERR(0, 1097, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_state, __pyx_n_s_pop); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1097, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_index) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_index); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_index = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1098 - * tell = state.pop('tell') - * index = state.pop('index') - * gzobj = IndexedGzipFile(**state) # <<<<<<<<<<<<<< - * - * if index is not None: - */ - __Pyx_TraceLine(1098,0,__PYX_ERR(0, 1098, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely(__pyx_v_state == Py_None)) { - PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); - __PYX_ERR(0, 1098, __pyx_L1_error) - } - if (likely(PyDict_CheckExact(__pyx_v_state))) { - __pyx_t_2 = PyDict_Copy(__pyx_v_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } else { - __pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_state, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_gzobj = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1100 - * gzobj = IndexedGzipFile(**state) - * - * if index is not None: # <<<<<<<<<<<<<< - * gzobj.import_index(fileobj=io.BytesIO(index)) - * - */ - __Pyx_TraceLine(1100,0,__PYX_ERR(0, 1100, __pyx_L1_error)) - __pyx_t_4 = (__pyx_v_index != Py_None); - __pyx_t_5 = (__pyx_t_4 != 0); - if (__pyx_t_5) { - - /* "indexed_gzip/indexed_gzip.pyx":1101 - * - * if index is not None: - * gzobj.import_index(fileobj=io.BytesIO(index)) # <<<<<<<<<<<<<< - * - * gzobj.seek(tell) - */ - __Pyx_TraceLine(1101,0,__PYX_ERR(0, 1101, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzobj, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_io); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_v_index) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_index); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_t_1) < 0) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1100 - * gzobj = IndexedGzipFile(**state) - * - * if index is not None: # <<<<<<<<<<<<<< - * gzobj.import_index(fileobj=io.BytesIO(index)) - * - */ - } - - /* "indexed_gzip/indexed_gzip.pyx":1103 - * gzobj.import_index(fileobj=io.BytesIO(index)) - * - * gzobj.seek(tell) # <<<<<<<<<<<<<< - * - * return gzobj - */ - __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzobj, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_tell) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_tell); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1105 - * gzobj.seek(tell) - * - * return gzobj # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1105,0,__PYX_ERR(0, 1105, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_gzobj); - __pyx_r = __pyx_v_gzobj; - goto __pyx_L0; - - /* "indexed_gzip/indexed_gzip.pyx":1087 - * - * - * def unpickle(state): # <<<<<<<<<<<<<< - * """Create a new ``IndexedGzipFile`` from a pickled state. - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("indexed_gzip.indexed_gzip.unpickle", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_tell); - __Pyx_XDECREF(__pyx_v_index); - __Pyx_XDECREF(__pyx_v_gzobj); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *p; - PyObject *o; - if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { - o = (*t->tp_alloc)(t, 0); - } else { - o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); - } - if (unlikely(!o)) return 0; - p = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)o); - p->filename = Py_None; Py_INCREF(Py_None); - p->pyfid = Py_None; Py_INCREF(Py_None); - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyObject *o) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - #endif - PyObject_GC_UnTrack(o); - { - PyObject *etype, *eval, *etb; - PyErr_Fetch(&etype, &eval, &etb); - __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); - __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_26__dealloc__(o); - __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); - PyErr_Restore(etype, eval, etb); - } - Py_CLEAR(p->filename); - Py_CLEAR(p->pyfid); - (*Py_TYPE(o)->tp_free)(o); -} - -static int __pyx_tp_traverse_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)o; - if (p->filename) { - e = (*v)(p->filename, a); if (e) return e; - } - if (p->pyfid) { - e = (*v)(p->pyfid, a); if (e) return e; - } - return 0; -} - -static int __pyx_tp_clear_12indexed_gzip_12indexed_gzip__IndexedGzipFile(PyObject *o) { - PyObject* tmp; - struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)o; - tmp = ((PyObject*)p->filename); - p->filename = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - tmp = ((PyObject*)p->pyfid); - p->pyfid = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_errname(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7errname_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_npoints(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7npoints_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_mode(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4mode_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_closed(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_6closed_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_spacing(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7spacing_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_window_size(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11window_size_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_readbuf_size(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12readbuf_size_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_readall_buf_size(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16readall_buf_size_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_auto_build(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10auto_build_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_skip_crc_check(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14skip_crc_check_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_filename(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8filename_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_own_file(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8own_file_1__get__(o); -} - -static PyObject *__pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_drop_handles(PyObject *o, CYTHON_UNUSED void *x) { - return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12drop_handles_1__get__(o); -} - -static PyObject *__pyx_specialmethod___pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__(PyObject *self, CYTHON_UNUSED PyObject *arg) {return __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__(self);} - -static PyMethodDef __pyx_methods_12indexed_gzip_12indexed_gzip__IndexedGzipFile[] = { - {"__file_handle", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_2__file_handle}, - {"seek_points", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_4seek_points}, - {"fileno", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_7fileno}, - {"fileobj", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_9fileobj}, - {"close", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_11close}, - {"readable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_13readable}, - {"writable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_15writable}, - {"seekable", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_17seekable}, - {"tell", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_19tell}, - {"__enter__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_21__enter__}, - {"__exit__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_23__exit__}, - {"build_full_index", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_27build_full_index}, - {"seek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_29seek}, - {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_31read}, - {"readinto", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_33readinto}, - {"pread", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_35pread}, - {"readline", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_37readline}, - {"readlines", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_39readlines}, - {"__next__", (PyCFunction)__pyx_specialmethod___pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__, METH_NOARGS|METH_COEXIST, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__}, - {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_45write}, - {"flush", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_47flush}, - {"export_index", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_49export_index}, - {"import_index", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_51import_index}, - {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_53__reduce_cython__}, - {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_55__setstate_cython__}, - {0, 0, 0, 0} -}; - -static struct PyGetSetDef __pyx_getsets_12indexed_gzip_12indexed_gzip__IndexedGzipFile[] = { - {(char *)"errname", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_errname, 0, (char *)"Used in exception messages. Returns the file name associated with\n this ``_IndexedGzipFile``, or ``'n/a'`` if a file name cannot be\n identified.\n ", 0}, - {(char *)"npoints", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_npoints, 0, (char *)"Returns the number of index points that have been created. ", 0}, - {(char *)"mode", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_mode, 0, (char *)"Returns the mode that this file was opened in. Currently always\n returns ``'rb'``.\n ", 0}, - {(char *)"closed", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_closed, 0, (char *)"Returns ``True`` if this ``_IndexedGzipFile`` is closed, ``False``\n otherwise.\n ", 0}, - {(char *)"spacing", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_spacing, 0, (char *)"Number of bytes between index seek points. ", 0}, - {(char *)"window_size", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_window_size, 0, (char *)"Number of bytes of uncompressed data stored with each seek point.", 0}, - {(char *)"readbuf_size", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_readbuf_size, 0, (char *)"Size of buffer in bytes for storing compressed data read in from the\n file.\n ", 0}, - {(char *)"readall_buf_size", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_readall_buf_size, 0, (char *)"Size of buffer in bytes used by :meth:`read` when reading until EOF.\n ", 0}, - {(char *)"auto_build", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_auto_build, 0, (char *)"Flag which is set to ``True`` if the file index is built automatically\n on seeks/reads.\n ", 0}, - {(char *)"skip_crc_check", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_skip_crc_check, 0, (char *)"Flag which is set to ``True`` if CRC/size validation of uncompressed\n data is disabled.\n ", 0}, - {(char *)"filename", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_filename, 0, (char *)"String containing path of file being indexed. Used to release and\n reopen file handles between seeks and reads.\n Set to ``None`` if file handle is passed.\n ", 0}, - {(char *)"own_file", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_own_file, 0, (char *)"Flag which tracks whether this ``_IndexedGzipFile`` has opened its\n own file handle, or was given one.\n ", 0}, - {(char *)"drop_handles", __pyx_getprop_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_drop_handles, 0, (char *)"Copy of the ``drop_handles`` flag as passed to :meth:`__cinit__`. ", 0}, - {0, 0, 0, 0, 0} -}; - -static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.indexed_gzip._IndexedGzipFile", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - "_IndexedGzipFile(filename=None, fileobj=None, mode=None, auto_build=True, spacing=4194304, window_size=32768, readbuf_size=1048576, readall_buf_size=16777216, drop_handles=True, index_file=None, skip_crc_check=False)\nThe ``_IndexedGzipFile`` class allows for fast random access of a gzip\n file by using the ``zran`` library to build and maintain an index of seek\n points into the file.\n\n .. note:: The :meth:`seek` and :meth:`read` methods release the GIL while\n calling ``zran`` functions, but the ``_IndexedGzipFile`` is *not*\n thread-safe. Use the ``IndexedGzipFile`` class (i.e. without the\n leading underscore) if you need thread-safety.\n ", /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_traverse*/ - __pyx_tp_clear_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_42__iter__, /*tp_iter*/ - __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_44__next__, /*tp_iternext*/ - __pyx_methods_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_methods*/ - 0, /*tp_members*/ - __pyx_getsets_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - __pyx_pw_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_1__init__, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_12indexed_gzip__IndexedGzipFile, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip_ReadBuffer(PyTypeObject *t, PyObject *a, PyObject *k) { - PyObject *o; - if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { - o = (*t->tp_alloc)(t, 0); - } else { - o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); - } - if (unlikely(!o)) return 0; - if (unlikely(__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_1__cinit__(o, a, k) < 0)) goto bad; - return o; - bad: - Py_DECREF(o); o = 0; - return NULL; -} - -static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip_ReadBuffer(PyObject *o) { - #if CYTHON_USE_TP_FINALIZE - if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - #endif - { - PyObject *etype, *eval, *etb; - PyErr_Fetch(&etype, &eval, &etb); - __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); - __pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_5__dealloc__(o); - __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); - PyErr_Restore(etype, eval, etb); - } - (*Py_TYPE(o)->tp_free)(o); -} - -static PyMethodDef __pyx_methods_12indexed_gzip_12indexed_gzip_ReadBuffer[] = { - {"resize", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_2resize}, - {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__, METH_NOARGS, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_6__reduce_cython__}, - {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__, METH_O, __pyx_doc_12indexed_gzip_12indexed_gzip_10ReadBuffer_8__setstate_cython__}, - {0, 0, 0, 0} -}; - -static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.indexed_gzip.ReadBuffer", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip_ReadBuffer), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip_ReadBuffer, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ - "Wrapper around a chunk of memory.\n\n .. see:: http://docs.cython.org/src/tutorial/memory_allocation.html\n ", /*tp_doc*/ - 0, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_12indexed_gzip_12indexed_gzip_ReadBuffer, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_12indexed_gzip_ReadBuffer, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle[8]; -static int __pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle = 0; - -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle)))) { - o = (PyObject*)__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle[--__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle]; - memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyObject *o) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)o; - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_self); - if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle)))) { - __pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle[__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle++] = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)o); - } else { - (*Py_TYPE(o)->tp_free)(o); - } -} - -static int __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)o; - if (p->__pyx_v_self) { - e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e; - } - return 0; -} - -static int __pyx_tp_clear_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle(PyObject *o) { - PyObject* tmp; - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle *)o; - tmp = ((PyObject*)p->__pyx_v_self); - p->__pyx_v_self = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip__IndexedGzipFile *)Py_None); Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; -} - -static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.indexed_gzip.__pyx_scope_struct____file_handle", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, /*tp_traverse*/ - __pyx_tp_clear_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy[8]; -static int __pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy = 0; - -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy)))) { - o = (PyObject*)__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy[--__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy]; - memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(PyObject *o) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)o; - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_outer_scope); - if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy)))) { - __pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy[__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy++] = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)o); - } else { - (*Py_TYPE(o)->tp_free)(o); - } -} - -static int __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy *)o; - if (p->__pyx_outer_scope) { - e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e; - } - return 0; -} - -static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.indexed_gzip.__pyx_scope_struct_1_proxy", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points[8]; -static int __pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points = 0; - -static PyObject *__pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points)))) { - o = (PyObject*)__pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points[--__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points]; - memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(PyObject *o) { - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)o; - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_self); - if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points)))) { - __pyx_freelist_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points[__pyx_freecount_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points++] = ((struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)o); - } else { - (*Py_TYPE(o)->tp_free)(o); - } -} - -static int __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *p = (struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points *)o; - if (p->__pyx_v_self) { - e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e; - } - return 0; -} - -static PyTypeObject __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.indexed_gzip.__pyx_scope_struct_2_seek_points", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_indexed_gzip(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_indexed_gzip}, - {0, NULL} -}; -#endif - -static struct PyModuleDef __pyx_moduledef = { - PyModuleDef_HEAD_INIT, - "indexed_gzip", - __pyx_k_This_module_provides_the_class_I, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ -}; -#endif -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif - -static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_n_s_BufferedReader, __pyx_k_BufferedReader, sizeof(__pyx_k_BufferedReader), 0, 0, 1, 1}, - {&__pyx_n_s_BytesIO, __pyx_k_BytesIO, sizeof(__pyx_k_BytesIO), 0, 0, 1, 1}, - {&__pyx_kp_s_CRC_size_validation_failed_the_G, __pyx_k_CRC_size_validation_failed_the_G, sizeof(__pyx_k_CRC_size_validation_failed_the_G), 0, 0, 1, 0}, - {&__pyx_kp_s_Cannot_pickle_IndexedGzipFile_th, __pyx_k_Cannot_pickle_IndexedGzipFile_th, sizeof(__pyx_k_Cannot_pickle_IndexedGzipFile_th), 0, 0, 1, 0}, - {&__pyx_kp_s_Contains_text_versions_of_all_er, __pyx_k_Contains_text_versions_of_all_er, sizeof(__pyx_k_Contains_text_versions_of_all_er), 0, 0, 1, 0}, - {&__pyx_n_s_CrcError, __pyx_k_CrcError, sizeof(__pyx_k_CrcError), 0, 0, 1, 1}, - {&__pyx_kp_s_Exception_raised_by_the_class__I, __pyx_k_Exception_raised_by_the_class__I, sizeof(__pyx_k_Exception_raised_by_the_class__I), 0, 0, 1, 0}, - {&__pyx_kp_s_Exception_raised_by_the_class__I_2, __pyx_k_Exception_raised_by_the_class__I_2, sizeof(__pyx_k_Exception_raised_by_the_class__I_2), 0, 0, 1, 0}, - {&__pyx_kp_s_Exception_raised_by_the_class__I_3, __pyx_k_Exception_raised_by_the_class__I_3, sizeof(__pyx_k_Exception_raised_by_the_class__I_3), 0, 0, 1, 0}, - {&__pyx_kp_s_Exception_raised_by_the_class__I_4, __pyx_k_Exception_raised_by_the_class__I_4, sizeof(__pyx_k_Exception_raised_by_the_class__I_4), 0, 0, 1, 0}, - {&__pyx_kp_s_File_does_not_exist, __pyx_k_File_does_not_exist, sizeof(__pyx_k_File_does_not_exist), 0, 0, 1, 0}, - {&__pyx_kp_s_File_should_be_opened_in_writeab, __pyx_k_File_should_be_opened_in_writeab, sizeof(__pyx_k_File_should_be_opened_in_writeab), 0, 0, 1, 0}, - {&__pyx_kp_s_File_should_be_opened_read_only, __pyx_k_File_should_be_opened_read_only, sizeof(__pyx_k_File_should_be_opened_read_only), 0, 0, 1, 0}, - {&__pyx_n_s_IOError, __pyx_k_IOError, sizeof(__pyx_k_IOError), 0, 0, 1, 1}, - {&__pyx_kp_s_Index_does_not_cover_current_off, __pyx_k_Index_does_not_cover_current_off, sizeof(__pyx_k_Index_does_not_cover_current_off), 0, 0, 1, 0}, - {&__pyx_kp_s_Index_does_not_cover_offset, __pyx_k_Index_does_not_cover_offset, sizeof(__pyx_k_Index_does_not_cover_offset), 0, 0, 1, 0}, - {&__pyx_kp_s_Index_must_be_completely_built_i, __pyx_k_Index_must_be_completely_built_i, sizeof(__pyx_k_Index_must_be_completely_built_i), 0, 0, 1, 0}, - {&__pyx_n_s_IndexedGzipFile, __pyx_k_IndexedGzipFile, sizeof(__pyx_k_IndexedGzipFile), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_2, __pyx_k_IndexedGzipFile_2, sizeof(__pyx_k_IndexedGzipFile_2), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile___enter, __pyx_k_IndexedGzipFile___enter, sizeof(__pyx_k_IndexedGzipFile___enter), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile___exit, __pyx_k_IndexedGzipFile___exit, sizeof(__pyx_k_IndexedGzipFile___exit), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile___file_handle, __pyx_k_IndexedGzipFile___file_handle, sizeof(__pyx_k_IndexedGzipFile___file_handle), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile___init, __pyx_k_IndexedGzipFile___init, sizeof(__pyx_k_IndexedGzipFile___init), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile___reduce, __pyx_k_IndexedGzipFile___reduce, sizeof(__pyx_k_IndexedGzipFile___reduce), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile___reduce_cython, __pyx_k_IndexedGzipFile___reduce_cython, sizeof(__pyx_k_IndexedGzipFile___reduce_cython), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile___setstate_cyth, __pyx_k_IndexedGzipFile___setstate_cyth, sizeof(__pyx_k_IndexedGzipFile___setstate_cyth), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile__buffer_size, __pyx_k_IndexedGzipFile__buffer_size, sizeof(__pyx_k_IndexedGzipFile__buffer_size), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile__file_lock, __pyx_k_IndexedGzipFile__file_lock, sizeof(__pyx_k_IndexedGzipFile__file_lock), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile__igz_fobj, __pyx_k_IndexedGzipFile__igz_fobj, sizeof(__pyx_k_IndexedGzipFile__igz_fobj), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_build_full_inde, __pyx_k_IndexedGzipFile_build_full_inde, sizeof(__pyx_k_IndexedGzipFile_build_full_inde), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_close, __pyx_k_IndexedGzipFile_close, sizeof(__pyx_k_IndexedGzipFile_close), 0, 0, 1, 1}, - {&__pyx_kp_s_IndexedGzipFile_does_not_suppor, __pyx_k_IndexedGzipFile_does_not_suppor, sizeof(__pyx_k_IndexedGzipFile_does_not_suppor), 0, 0, 1, 0}, - {&__pyx_n_s_IndexedGzipFile_export_index, __pyx_k_IndexedGzipFile_export_index, sizeof(__pyx_k_IndexedGzipFile_export_index), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_fileno, __pyx_k_IndexedGzipFile_fileno, sizeof(__pyx_k_IndexedGzipFile_fileno), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_fileobj, __pyx_k_IndexedGzipFile_fileobj, sizeof(__pyx_k_IndexedGzipFile_fileobj), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_flush, __pyx_k_IndexedGzipFile_flush, sizeof(__pyx_k_IndexedGzipFile_flush), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_import_index, __pyx_k_IndexedGzipFile_import_index, sizeof(__pyx_k_IndexedGzipFile_import_index), 0, 0, 1, 1}, - {&__pyx_kp_s_IndexedGzipFile_is_already_clos, __pyx_k_IndexedGzipFile_is_already_clos, sizeof(__pyx_k_IndexedGzipFile_is_already_clos), 0, 0, 1, 0}, - {&__pyx_n_s_IndexedGzipFile_pread, __pyx_k_IndexedGzipFile_pread, sizeof(__pyx_k_IndexedGzipFile_pread), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_pread_2, __pyx_k_IndexedGzipFile_pread_2, sizeof(__pyx_k_IndexedGzipFile_pread_2), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_read, __pyx_k_IndexedGzipFile_read, sizeof(__pyx_k_IndexedGzipFile_read), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_readable, __pyx_k_IndexedGzipFile_readable, sizeof(__pyx_k_IndexedGzipFile_readable), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_readinto, __pyx_k_IndexedGzipFile_readinto, sizeof(__pyx_k_IndexedGzipFile_readinto), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_readline, __pyx_k_IndexedGzipFile_readline, sizeof(__pyx_k_IndexedGzipFile_readline), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_readlines, __pyx_k_IndexedGzipFile_readlines, sizeof(__pyx_k_IndexedGzipFile_readlines), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_seek, __pyx_k_IndexedGzipFile_seek, sizeof(__pyx_k_IndexedGzipFile_seek), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_seek_points, __pyx_k_IndexedGzipFile_seek_points, sizeof(__pyx_k_IndexedGzipFile_seek_points), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_seekable, __pyx_k_IndexedGzipFile_seekable, sizeof(__pyx_k_IndexedGzipFile_seekable), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_tell, __pyx_k_IndexedGzipFile_tell, sizeof(__pyx_k_IndexedGzipFile_tell), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_writable, __pyx_k_IndexedGzipFile_writable, sizeof(__pyx_k_IndexedGzipFile_writable), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_write, __pyx_k_IndexedGzipFile_write, sizeof(__pyx_k_IndexedGzipFile_write), 0, 0, 1, 1}, - {&__pyx_kp_s_Invalid_mode_fileobj_must_be_ope, __pyx_k_Invalid_mode_fileobj_must_be_ope, sizeof(__pyx_k_Invalid_mode_fileobj_must_be_ope), 0, 0, 1, 0}, - {&__pyx_kp_s_Invalid_mode_must_be_r_or_rb, __pyx_k_Invalid_mode_must_be_r_or_rb, sizeof(__pyx_k_Invalid_mode_must_be_r_or_rb), 0, 0, 1, 0}, - {&__pyx_kp_s_Invalid_value_for_whence, __pyx_k_Invalid_value_for_whence, sizeof(__pyx_k_Invalid_value_for_whence), 0, 0, 1, 0}, - {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1}, - {&__pyx_n_s_NoHandleError, __pyx_k_NoHandleError, sizeof(__pyx_k_NoHandleError), 0, 0, 1, 1}, - {&__pyx_n_s_NotCoveredError, __pyx_k_NotCoveredError, sizeof(__pyx_k_NotCoveredError), 0, 0, 1, 1}, - {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1}, - {&__pyx_n_s_OSError, __pyx_k_OSError, sizeof(__pyx_k_OSError), 0, 0, 1, 1}, - {&__pyx_kp_s_One_of_filename_or_fileobj_must, __pyx_k_One_of_filename_or_fileobj_must, sizeof(__pyx_k_One_of_filename_or_fileobj_must), 0, 0, 1, 0}, - {&__pyx_kp_s_One_of_fileobj_or_filename_must, __pyx_k_One_of_fileobj_or_filename_must, sizeof(__pyx_k_One_of_fileobj_or_filename_must), 0, 0, 1, 0}, - {&__pyx_kp_s_Only_one_of_filename_or_fileobj, __pyx_k_Only_one_of_filename_or_fileobj, sizeof(__pyx_k_Only_one_of_filename_or_fileobj), 0, 0, 1, 0}, - {&__pyx_n_s_PicklingError, __pyx_k_PicklingError, sizeof(__pyx_k_PicklingError), 0, 0, 1, 1}, - {&__pyx_kp_s_PyMem_Malloc_fail, __pyx_k_PyMem_Malloc_fail, sizeof(__pyx_k_PyMem_Malloc_fail), 0, 0, 1, 0}, - {&__pyx_kp_s_PyMem_Realloc_fail, __pyx_k_PyMem_Realloc_fail, sizeof(__pyx_k_PyMem_Realloc_fail), 0, 0, 1, 0}, - {&__pyx_n_s_RLock, __pyx_k_RLock, sizeof(__pyx_k_RLock), 0, 0, 1, 1}, - {&__pyx_n_s_ReadBuffer, __pyx_k_ReadBuffer, sizeof(__pyx_k_ReadBuffer), 0, 0, 1, 1}, - {&__pyx_kp_s_ReadBuffer___cinit___s, __pyx_k_ReadBuffer___cinit___s, sizeof(__pyx_k_ReadBuffer___cinit___s), 0, 0, 1, 0}, - {&__pyx_kp_s_ReadBuffer___dealloc, __pyx_k_ReadBuffer___dealloc, sizeof(__pyx_k_ReadBuffer___dealloc), 0, 0, 1, 0}, - {&__pyx_n_s_ReadBuffer___reduce_cython, __pyx_k_ReadBuffer___reduce_cython, sizeof(__pyx_k_ReadBuffer___reduce_cython), 0, 0, 1, 1}, - {&__pyx_n_s_ReadBuffer___setstate_cython, __pyx_k_ReadBuffer___setstate_cython, sizeof(__pyx_k_ReadBuffer___setstate_cython), 0, 0, 1, 1}, - {&__pyx_n_s_ReadBuffer_resize, __pyx_k_ReadBuffer_resize, sizeof(__pyx_k_ReadBuffer_resize), 0, 0, 1, 1}, - {&__pyx_kp_s_ReadBuffer_resize_s, __pyx_k_ReadBuffer_resize_s, sizeof(__pyx_k_ReadBuffer_resize_s), 0, 0, 1, 0}, - {&__pyx_n_s_StopIteration, __pyx_k_StopIteration, sizeof(__pyx_k_StopIteration), 0, 0, 1, 1}, - {&__pyx_kp_s_The_IndexedGzipFile_class_allows, __pyx_k_The_IndexedGzipFile_class_allows, sizeof(__pyx_k_The_IndexedGzipFile_class_allows), 0, 0, 1, 0}, - {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, - {&__pyx_n_s_UnsupportedOperation, __pyx_k_UnsupportedOperation, sizeof(__pyx_k_UnsupportedOperation), 0, 0, 1, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_BUILD, __pyx_k_ZRAN_BUILD, sizeof(__pyx_k_ZRAN_BUILD), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_BUILD_INDEX_CRC_ERROR, __pyx_k_ZRAN_BUILD_INDEX_CRC_ERROR, sizeof(__pyx_k_ZRAN_BUILD_INDEX_CRC_ERROR), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_BUILD_INDEX_FAIL, __pyx_k_ZRAN_BUILD_INDEX_FAIL, sizeof(__pyx_k_ZRAN_BUILD_INDEX_FAIL), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_ERRORS, __pyx_k_ZRAN_ERRORS, sizeof(__pyx_k_ZRAN_ERRORS), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_EXPORT, __pyx_k_ZRAN_EXPORT, sizeof(__pyx_k_ZRAN_EXPORT), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_EXPORT_WRITE_ERROR, __pyx_k_ZRAN_EXPORT_WRITE_ERROR, sizeof(__pyx_k_ZRAN_EXPORT_WRITE_ERROR), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT, __pyx_k_ZRAN_IMPORT, sizeof(__pyx_k_ZRAN_IMPORT), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT_EOF, __pyx_k_ZRAN_IMPORT_EOF, sizeof(__pyx_k_ZRAN_IMPORT_EOF), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT_FAIL, __pyx_k_ZRAN_IMPORT_FAIL, sizeof(__pyx_k_ZRAN_IMPORT_FAIL), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT_INCONSISTENT, __pyx_k_ZRAN_IMPORT_INCONSISTENT, sizeof(__pyx_k_ZRAN_IMPORT_INCONSISTENT), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT_MEMORY_ERROR, __pyx_k_ZRAN_IMPORT_MEMORY_ERROR, sizeof(__pyx_k_ZRAN_IMPORT_MEMORY_ERROR), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT_OK, __pyx_k_ZRAN_IMPORT_OK, sizeof(__pyx_k_ZRAN_IMPORT_OK), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT_READ_ERROR, __pyx_k_ZRAN_IMPORT_READ_ERROR, sizeof(__pyx_k_ZRAN_IMPORT_READ_ERROR), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT_UNKNOWN_FORMAT, __pyx_k_ZRAN_IMPORT_UNKNOWN_FORMAT, sizeof(__pyx_k_ZRAN_IMPORT_UNKNOWN_FORMAT), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_IMPORT_UNSUPPORTED_VERSION, __pyx_k_ZRAN_IMPORT_UNSUPPORTED_VERSION, sizeof(__pyx_k_ZRAN_IMPORT_UNSUPPORTED_VERSION), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_READ, __pyx_k_ZRAN_READ, sizeof(__pyx_k_ZRAN_READ), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_READ_CRC_ERROR, __pyx_k_ZRAN_READ_CRC_ERROR, sizeof(__pyx_k_ZRAN_READ_CRC_ERROR), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_READ_EOF, __pyx_k_ZRAN_READ_EOF, sizeof(__pyx_k_ZRAN_READ_EOF), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_READ_FAIL, __pyx_k_ZRAN_READ_FAIL, sizeof(__pyx_k_ZRAN_READ_FAIL), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_READ_NOT_COVERED, __pyx_k_ZRAN_READ_NOT_COVERED, sizeof(__pyx_k_ZRAN_READ_NOT_COVERED), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_SEEK, __pyx_k_ZRAN_SEEK, sizeof(__pyx_k_ZRAN_SEEK), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_SEEK_CRC_ERROR, __pyx_k_ZRAN_SEEK_CRC_ERROR, sizeof(__pyx_k_ZRAN_SEEK_CRC_ERROR), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_SEEK_EOF, __pyx_k_ZRAN_SEEK_EOF, sizeof(__pyx_k_ZRAN_SEEK_EOF), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_SEEK_FAIL, __pyx_k_ZRAN_SEEK_FAIL, sizeof(__pyx_k_ZRAN_SEEK_FAIL), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_SEEK_INDEX_NOT_BUILT, __pyx_k_ZRAN_SEEK_INDEX_NOT_BUILT, sizeof(__pyx_k_ZRAN_SEEK_INDEX_NOT_BUILT), 0, 0, 1, 1}, - {&__pyx_n_s_ZRAN_SEEK_NOT_COVERED, __pyx_k_ZRAN_SEEK_NOT_COVERED, sizeof(__pyx_k_ZRAN_SEEK_NOT_COVERED), 0, 0, 1, 1}, - {&__pyx_n_s_ZranError, __pyx_k_ZranError, sizeof(__pyx_k_ZranError), 0, 0, 1, 1}, - {&__pyx_kp_b__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 0, 0, 0}, - {&__pyx_kp_b__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 0, 0, 0}, - {&__pyx_n_s__51, __pyx_k__51, sizeof(__pyx_k__51), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_auto_build, __pyx_k_auto_build, sizeof(__pyx_k_auto_build), 0, 0, 1, 1}, - {&__pyx_n_s_buf, __pyx_k_buf, sizeof(__pyx_k_buf), 0, 0, 1, 1}, - {&__pyx_n_s_buffer, __pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 0, 1, 1}, - {&__pyx_n_s_buffer_size, __pyx_k_buffer_size, sizeof(__pyx_k_buffer_size), 0, 0, 1, 1}, - {&__pyx_n_s_bufsz, __pyx_k_bufsz, sizeof(__pyx_k_bufsz), 0, 0, 1, 1}, - {&__pyx_n_s_build_full_index, __pyx_k_build_full_index, sizeof(__pyx_k_build_full_index), 0, 0, 1, 1}, - {&__pyx_n_s_builtin_open, __pyx_k_builtin_open, sizeof(__pyx_k_builtin_open), 0, 0, 1, 1}, - {&__pyx_n_s_c_whence, __pyx_k_c_whence, sizeof(__pyx_k_c_whence), 0, 0, 1, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_s_close_file, __pyx_k_close_file, sizeof(__pyx_k_close_file), 0, 0, 1, 1}, - {&__pyx_n_s_closed, __pyx_k_closed, sizeof(__pyx_k_closed), 0, 0, 1, 1}, - {&__pyx_n_s_contextlib, __pyx_k_contextlib, sizeof(__pyx_k_contextlib), 0, 0, 1, 1}, - {&__pyx_n_s_contextmanager, __pyx_k_contextmanager, sizeof(__pyx_k_contextmanager), 0, 0, 1, 1}, - {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1}, - {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, - {&__pyx_n_s_drop_handles, __pyx_k_drop_handles, sizeof(__pyx_k_drop_handles), 0, 0, 1, 1}, - {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, - {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, - {&__pyx_n_s_eof, __pyx_k_eof, sizeof(__pyx_k_eof), 0, 0, 1, 1}, - {&__pyx_n_s_errname, __pyx_k_errname, sizeof(__pyx_k_errname), 0, 0, 1, 1}, - {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, - {&__pyx_n_s_export_index, __pyx_k_export_index, sizeof(__pyx_k_export_index), 0, 0, 1, 1}, - {&__pyx_kp_s_export_index_returned_error_file, __pyx_k_export_index_returned_error_file, sizeof(__pyx_k_export_index_returned_error_file), 0, 0, 1, 0}, - {&__pyx_n_s_fd, __pyx_k_fd, sizeof(__pyx_k_fd), 0, 0, 1, 1}, - {&__pyx_n_s_file_handle, __pyx_k_file_handle, sizeof(__pyx_k_file_handle), 0, 0, 1, 1}, - {&__pyx_n_s_file_handle_locals_proxy, __pyx_k_file_handle_locals_proxy, sizeof(__pyx_k_file_handle_locals_proxy), 0, 0, 1, 1}, - {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, - {&__pyx_n_s_fileno, __pyx_k_fileno, sizeof(__pyx_k_fileno), 0, 0, 1, 1}, - {&__pyx_n_s_fileobj, __pyx_k_fileobj, sizeof(__pyx_k_fileobj), 0, 0, 1, 1}, - {&__pyx_n_s_find, __pyx_k_find, sizeof(__pyx_k_find), 0, 0, 1, 1}, - {&__pyx_n_s_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 0, 0, 1, 1}, - {&__pyx_n_s_fobj, __pyx_k_fobj, sizeof(__pyx_k_fobj), 0, 0, 1, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_n_s_getLogger, __pyx_k_getLogger, sizeof(__pyx_k_getLogger), 0, 0, 1, 1}, - {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, - {&__pyx_n_s_getvalue, __pyx_k_getvalue, sizeof(__pyx_k_getvalue), 0, 0, 1, 1}, - {&__pyx_n_s_gzobj, __pyx_k_gzobj, sizeof(__pyx_k_gzobj), 0, 0, 1, 1}, - {&__pyx_n_s_haveline, __pyx_k_haveline, sizeof(__pyx_k_haveline), 0, 0, 1, 1}, - {&__pyx_n_s_hint, __pyx_k_hint, sizeof(__pyx_k_hint), 0, 0, 1, 1}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_import_index, __pyx_k_import_index, sizeof(__pyx_k_import_index), 0, 0, 1, 1}, - {&__pyx_kp_s_import_index_returned_error_file, __pyx_k_import_index_returned_error_file, sizeof(__pyx_k_import_index_returned_error_file), 0, 0, 1, 0}, - {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1}, - {&__pyx_n_s_index_file, __pyx_k_index_file, sizeof(__pyx_k_index_file), 0, 0, 1, 1}, - {&__pyx_n_s_indexed_gzip_indexed_gzip, __pyx_k_indexed_gzip_indexed_gzip, sizeof(__pyx_k_indexed_gzip_indexed_gzip), 0, 0, 1, 1}, - {&__pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_k_indexed_gzip_indexed_gzip_pyx, sizeof(__pyx_k_indexed_gzip_indexed_gzip_pyx), 0, 0, 1, 0}, - {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1}, - {&__pyx_n_s_io, __pyx_k_io, sizeof(__pyx_k_io), 0, 0, 1, 1}, - {&__pyx_n_s_isfile, __pyx_k_isfile, sizeof(__pyx_k_isfile), 0, 0, 1, 1}, - {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, - {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1}, - {&__pyx_n_s_linebuf, __pyx_k_linebuf, sizeof(__pyx_k_linebuf), 0, 0, 1, 1}, - {&__pyx_n_s_lineidx, __pyx_k_lineidx, sizeof(__pyx_k_lineidx), 0, 0, 1, 1}, - {&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1}, - {&__pyx_n_s_log, __pyx_k_log, sizeof(__pyx_k_log), 0, 0, 1, 1}, - {&__pyx_n_s_logging, __pyx_k_logging, sizeof(__pyx_k_logging), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, - {&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1}, - {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, - {&__pyx_kp_s_n_a, __pyx_k_n_a, sizeof(__pyx_k_n_a), 0, 0, 1, 0}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1}, - {&__pyx_n_s_nbytes, __pyx_k_nbytes, sizeof(__pyx_k_nbytes), 0, 0, 1, 1}, - {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0}, - {&__pyx_n_s_npoints, __pyx_k_npoints, sizeof(__pyx_k_npoints), 0, 0, 1, 1}, - {&__pyx_n_s_nread, __pyx_k_nread, sizeof(__pyx_k_nread), 0, 0, 1, 1}, - {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1}, - {&__pyx_n_s_off, __pyx_k_off, sizeof(__pyx_k_off), 0, 0, 1, 1}, - {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1}, - {&__pyx_n_s_op, __pyx_k_op, sizeof(__pyx_k_op), 0, 0, 1, 1}, - {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1}, - {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, - {&__pyx_n_s_os_path, __pyx_k_os_path, sizeof(__pyx_k_os_path), 0, 0, 1, 1}, - {&__pyx_n_s_own_file, __pyx_k_own_file, sizeof(__pyx_k_own_file), 0, 0, 1, 1}, - {&__pyx_n_s_pbuf, __pyx_k_pbuf, sizeof(__pyx_k_pbuf), 0, 0, 1, 1}, - {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, - {&__pyx_n_s_point, __pyx_k_point, sizeof(__pyx_k_point), 0, 0, 1, 1}, - {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1}, - {&__pyx_n_s_pread, __pyx_k_pread, sizeof(__pyx_k_pread), 0, 0, 1, 1}, - {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, - {&__pyx_n_s_proxy, __pyx_k_proxy, sizeof(__pyx_k_proxy), 0, 0, 1, 1}, - {&__pyx_n_s_pybuf, __pyx_k_pybuf, sizeof(__pyx_k_pybuf), 0, 0, 1, 1}, - {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1}, - {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, - {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_s_rb, __pyx_k_rb, sizeof(__pyx_k_rb), 0, 0, 1, 1}, - {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1}, - {&__pyx_n_s_readable, __pyx_k_readable, sizeof(__pyx_k_readable), 0, 0, 1, 1}, - {&__pyx_n_s_readall_buf_size, __pyx_k_readall_buf_size, sizeof(__pyx_k_readall_buf_size), 0, 0, 1, 1}, - {&__pyx_n_s_readbuf_size, __pyx_k_readbuf_size, sizeof(__pyx_k_readbuf_size), 0, 0, 1, 1}, - {&__pyx_n_s_readinto, __pyx_k_readinto, sizeof(__pyx_k_readinto), 0, 0, 1, 1}, - {&__pyx_n_s_readline, __pyx_k_readline, sizeof(__pyx_k_readline), 0, 0, 1, 1}, - {&__pyx_n_s_readlines, __pyx_k_readlines, sizeof(__pyx_k_readlines), 0, 0, 1, 1}, - {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, - {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, - {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, - {&__pyx_n_s_resize, __pyx_k_resize, sizeof(__pyx_k_resize), 0, 0, 1, 1}, - {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1}, - {&__pyx_kp_s_s___init___s_s_s_s_s_s_s, __pyx_k_s___init___s_s_s_s_s_s_s, sizeof(__pyx_k_s___init___s_s_s_s_s_s_s), 0, 0, 1, 0}, - {&__pyx_kp_s_s_build_full_index, __pyx_k_s_build_full_index, sizeof(__pyx_k_s_build_full_index), 0, 0, 1, 0}, - {&__pyx_kp_s_s_close, __pyx_k_s_close, sizeof(__pyx_k_s_close), 0, 0, 1, 0}, - {&__pyx_kp_s_s_export_index_s_s, __pyx_k_s_export_index_s_s, sizeof(__pyx_k_s_export_index_s_s), 0, 0, 1, 0}, - {&__pyx_kp_s_s_import_index_s_s, __pyx_k_s_import_index_s_s, sizeof(__pyx_k_s_import_index_s_s), 0, 0, 1, 0}, - {&__pyx_kp_s_s_read_s, __pyx_k_s_read_s, sizeof(__pyx_k_s_read_s), 0, 0, 1, 0}, - {&__pyx_kp_s_s_seek_s, __pyx_k_s_seek_s, sizeof(__pyx_k_s_seek_s), 0, 0, 1, 0}, - {&__pyx_n_s_seek, __pyx_k_seek, sizeof(__pyx_k_seek), 0, 0, 1, 1}, - {&__pyx_n_s_seek_points, __pyx_k_seek_points, sizeof(__pyx_k_seek_points), 0, 0, 1, 1}, - {&__pyx_n_s_seekable, __pyx_k_seekable, sizeof(__pyx_k_seekable), 0, 0, 1, 1}, - {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1}, - {&__pyx_kp_s_self_index_cannot_be_converted_t, __pyx_k_self_index_cannot_be_converted_t, sizeof(__pyx_k_self_index_cannot_be_converted_t), 0, 0, 1, 0}, - {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, - {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, - {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, - {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, - {&__pyx_n_s_skip_crc_check, __pyx_k_skip_crc_check, sizeof(__pyx_k_skip_crc_check), 0, 0, 1, 1}, - {&__pyx_n_s_spacing, __pyx_k_spacing, sizeof(__pyx_k_spacing), 0, 0, 1, 1}, - {&__pyx_n_s_startpos, __pyx_k_startpos, sizeof(__pyx_k_startpos), 0, 0, 1, 1}, - {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, - {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0}, - {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1}, - {&__pyx_n_s_tell, __pyx_k_tell, sizeof(__pyx_k_tell), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1}, - {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, - {&__pyx_n_s_totalsize, __pyx_k_totalsize, sizeof(__pyx_k_totalsize), 0, 0, 1, 1}, - {&__pyx_n_s_unpickle, __pyx_k_unpickle, sizeof(__pyx_k_unpickle), 0, 0, 1, 1}, - {&__pyx_n_s_vbuf, __pyx_k_vbuf, sizeof(__pyx_k_vbuf), 0, 0, 1, 1}, - {&__pyx_n_s_warnings, __pyx_k_warnings, sizeof(__pyx_k_warnings), 0, 0, 1, 1}, - {&__pyx_n_s_wb, __pyx_k_wb, sizeof(__pyx_k_wb), 0, 0, 1, 1}, - {&__pyx_n_s_whence, __pyx_k_whence, sizeof(__pyx_k_whence), 0, 0, 1, 1}, - {&__pyx_n_s_window_size, __pyx_k_window_size, sizeof(__pyx_k_window_size), 0, 0, 1, 1}, - {&__pyx_n_s_writable, __pyx_k_writable, sizeof(__pyx_k_writable), 0, 0, 1, 1}, - {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1}, - {&__pyx_kp_s_zran_build_index_returned_error, __pyx_k_zran_build_index_returned_error, sizeof(__pyx_k_zran_build_index_returned_error), 0, 0, 1, 0}, - {&__pyx_kp_s_zran_init_returned_error_file, __pyx_k_zran_init_returned_error_file, sizeof(__pyx_k_zran_init_returned_error_file), 0, 0, 1, 0}, - {&__pyx_kp_s_zran_read_returned_error_file, __pyx_k_zran_read_returned_error_file, sizeof(__pyx_k_zran_read_returned_error_file), 0, 0, 1, 0}, - {&__pyx_kp_s_zran_seek_returned_error_file, __pyx_k_zran_seek_returned_error_file, sizeof(__pyx_k_zran_seek_returned_error_file), 0, 0, 1, 0}, - {0, 0, 0, 0, 0, 0, 0} -}; -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 1108, __pyx_L1_error) - __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) __PYX_ERR(0, 1118, __pyx_L1_error) - __pyx_builtin_OSError = __Pyx_GetBuiltinName(__pyx_n_s_OSError); if (!__pyx_builtin_OSError) __PYX_ERR(0, 1125, __pyx_L1_error) - __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_n_s_object); if (!__pyx_builtin_object) __PYX_ERR(0, 1140, __pyx_L1_error) - __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 160, __pyx_L1_error) - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 487, __pyx_L1_error) - __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 920, __pyx_L1_error) - __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(0, 927, __pyx_L1_error) - __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error) - __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(0, 1058, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "indexed_gzip/indexed_gzip.pyx":167 - * The calls to seek and read are protected by a ``threading.RLock``. - * """ - * with self.__file_lock: # <<<<<<<<<<<<<< - * self.seek(offset) - * return self.read(nbytes) - */ - __pyx_tuple__4 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__4); - __Pyx_GIVEREF(__pyx_tuple__4); - - /* "indexed_gzip/indexed_gzip.pyx":351 - * if (fileobj is None and filename is None) or \ - * (fileobj is not None and filename is not None): - * raise ValueError('One of fileobj or filename must be specified') # <<<<<<<<<<<<<< - * - * # filename can be either a - */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_One_of_fileobj_or_filename_must); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__6); - __Pyx_GIVEREF(__pyx_tuple__6); - - /* "indexed_gzip/indexed_gzip.pyx":361 - * if fileobj is not None and \ - * getattr(fileobj, 'mode', 'rb') not in (None, 'r', 'rb'): - * raise ValueError('Invalid mode - fileobj must be opened ' # <<<<<<<<<<<<<< - * 'in read-only binary ("rb") mode') - * - */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_Invalid_mode_fileobj_must_be_ope); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__7); - __Pyx_GIVEREF(__pyx_tuple__7); - - /* "indexed_gzip/indexed_gzip.pyx":453 - * # dropping support for cython < 0.26. - * @contextlib.contextmanager - * def proxy(): # <<<<<<<<<<<<<< - * - * # If a file handle already exists, - */ - __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_proxy, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 453, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":927 - * def write(self, *args, **kwargs): - * """Currently raises a :exc:`NotImplementedError`.""" - * raise NotImplementedError('_IndexedGzipFile does not support writing') # <<<<<<<<<<<<<< - * - * - */ - __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_IndexedGzipFile_does_not_suppor); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 927, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); - - /* "indexed_gzip/indexed_gzip.pyx":945 - * - * if filename is None and fileobj is None: - * raise ValueError('One of filename or fileobj must be specified') # <<<<<<<<<<<<<< - * - * if filename is not None and fileobj is not None: - */ - __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_One_of_filename_or_fileobj_must); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 945, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__34); - __Pyx_GIVEREF(__pyx_tuple__34); - - /* "indexed_gzip/indexed_gzip.pyx":948 - * - * if filename is not None and fileobj is not None: - * raise ValueError( # <<<<<<<<<<<<<< - * 'Only one of filename or fileobj must be specified') - * - */ - __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_Only_one_of_filename_or_fileobj); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__35); - __Pyx_GIVEREF(__pyx_tuple__35); - - /* "indexed_gzip/indexed_gzip.pyx":958 - * close_file = False - * if getattr(fileobj, 'mode', 'wb') != 'wb': - * raise ValueError( # <<<<<<<<<<<<<< - * 'File should be opened in writeable binary mode.') - * - */ - __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_File_should_be_opened_in_writeab); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 958, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__36); - __Pyx_GIVEREF(__pyx_tuple__36); - - /* "indexed_gzip/indexed_gzip.pyx":1008 - * close_file = False - * if getattr(fileobj, 'mode', 'rb') != 'rb': - * raise ValueError( # <<<<<<<<<<<<<< - * 'File should be opened read-only binary mode.') - * - */ - __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_s_File_should_be_opened_read_only); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 1008, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__38); - __Pyx_GIVEREF(__pyx_tuple__38); - - /* "(tree fragment)":2 - * def __reduce_cython__(self): - * raise TypeError("self.index cannot be converted to a Python object for pickling") # <<<<<<<<<<<<<< - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("self.index cannot be converted to a Python object for pickling") - */ - __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_self_index_cannot_be_converted_t); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(1, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__40); - __Pyx_GIVEREF(__pyx_tuple__40); - - /* "(tree fragment)":4 - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("self.index cannot be converted to a Python object for pickling") # <<<<<<<<<<<<<< - */ - __pyx_tuple__42 = PyTuple_Pack(1, __pyx_kp_s_self_index_cannot_be_converted_t); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__42); - __Pyx_GIVEREF(__pyx_tuple__42); - - /* "indexed_gzip/indexed_gzip.pyx":1058 - * - * if not self.buffer: - * raise MemoryError('PyMem_Malloc fail') # <<<<<<<<<<<<<< - * - * log.debug('ReadBuffer.__cinit__(%s)', size) - */ - __pyx_tuple__43 = PyTuple_Pack(1, __pyx_kp_s_PyMem_Malloc_fail); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 1058, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__43); - __Pyx_GIVEREF(__pyx_tuple__43); - - /* "indexed_gzip/indexed_gzip.pyx":1072 - * - * if not buf: - * raise MemoryError('PyMem_Realloc fail') # <<<<<<<<<<<<<< - * - * log.debug('ReadBuffer.resize(%s)', size) - */ - __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_s_PyMem_Realloc_fail); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1072, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__45); - __Pyx_GIVEREF(__pyx_tuple__45); - - /* "(tree fragment)":2 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(1, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__47); - __Pyx_GIVEREF(__pyx_tuple__47); - - /* "(tree fragment)":4 - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< - */ - __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__49); - __Pyx_GIVEREF(__pyx_tuple__49); - - /* "indexed_gzip/indexed_gzip.pyx":60 - * - * - * def open(filename=None, fileobj=None, *args, **kwargs): # <<<<<<<<<<<<<< - * """Create and return an ``IndexedGzipFile``. - * - */ - __pyx_tuple__52 = PyTuple_Pack(4, __pyx_n_s_filename, __pyx_n_s_fileobj, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__52); - __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_open, 60, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 60, __pyx_L1_error) - __pyx_tuple__53 = PyTuple_Pack(2, ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__53); - __Pyx_GIVEREF(__pyx_tuple__53); - - /* "indexed_gzip/indexed_gzip.pyx":86 - * - * - * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< - * """Create an ``IndexedGzipFile``. The file may be specified either - * with an open file handle (``fileobj``), or with a ``filename``. If the - */ - __pyx_tuple__54 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_spacing, __pyx_n_s_buffer_size, __pyx_n_s_fobj); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__54); - __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_init, 86, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 86, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":163 - * - * - * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< - * """Seeks to ``offset``, then reads and returns up to ``nbytes``. - * The calls to seek and read are protected by a ``threading.RLock``. - */ - __pyx_tuple__55 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_nbytes, __pyx_n_s_offset); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__55); - __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_pread, 163, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 163, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":172 - * - * - * def __reduce__(self): # <<<<<<<<<<<<<< - * """Used to pickle an ``IndexedGzipFile``. - * - */ - __pyx_tuple__56 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_fobj, __pyx_n_s_index, __pyx_n_s_state); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__56); - __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_reduce, 172, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) __PYX_ERR(0, 172, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":440 - * - * - * def __file_handle(self): # <<<<<<<<<<<<<< - * """This method is used as a context manager whenever access to the - * underlying file stream is required. It makes sure that ``index.fd`` - */ - __pyx_tuple__57 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_proxy, __pyx_n_s_proxy); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__57); - __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_file_handle, 440, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 440, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":481 - * - * - * def seek_points(self): # <<<<<<<<<<<<<< - * """Return the seek point locations that currently exist in the index. - * - */ - __pyx_tuple__58 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_i, __pyx_n_s_point); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__58); - __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_seek_points, 481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 481, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":492 - * - * - * def fileno(self): # <<<<<<<<<<<<<< - * """Calls ``fileno`` on the underlying file object. Raises a - * :exc:`NoHandleError` if ``drop_handles is True``. - */ - __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__59); - __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_fileno, 492, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 492, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":501 - * - * - * def fileobj(self): # <<<<<<<<<<<<<< - * """Returns a reference to the python file object. Raises a - * :exc:`NoHandleError` if ``drop_handles is True``. - */ - __pyx_tuple__60 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 501, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__60); - __Pyx_GIVEREF(__pyx_tuple__60); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_fileobj, 501, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 501, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":538 - * - * - * def close(self): # <<<<<<<<<<<<<< - * """Closes this ``_IndexedGzipFile``. """ - * - */ - __pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__61); - __Pyx_GIVEREF(__pyx_tuple__61); - __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_close, 538, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 538, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":568 - * - * - * def readable(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` is readable, ``False`` - * otherwise. - */ - __pyx_tuple__62 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__62); - __Pyx_GIVEREF(__pyx_tuple__62); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_readable, 568, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 568, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":575 - * - * - * def writable(self): # <<<<<<<<<<<<<< - * """Currently always returns ``False`` - the ``_IndexedGzipFile`` does - * not support writing yet. - */ - __pyx_tuple__63 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__63); - __Pyx_GIVEREF(__pyx_tuple__63); - __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_writable, 575, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 575, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":582 - * - * - * def seekable(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` supports seeking, - * ``False`` otherwise. - */ - __pyx_tuple__64 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 582, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__64); - __Pyx_GIVEREF(__pyx_tuple__64); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_seekable, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 582, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":589 - * - * - * def tell(self): # <<<<<<<<<<<<<< - * """Returns the current seek offset into the uncompressed data stream. - * """ - */ - __pyx_tuple__65 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 589, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__65); - __Pyx_GIVEREF(__pyx_tuple__65); - __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_tell, 589, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 589, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":595 - * - * - * def __enter__(self): # <<<<<<<<<<<<<< - * """Returns this ``_IndexedGzipFile``. """ - * return self - */ - __pyx_tuple__66 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 595, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__66); - __Pyx_GIVEREF(__pyx_tuple__66); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_enter, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 595, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":600 - * - * - * def __exit__(self, *args): # <<<<<<<<<<<<<< - * """Calls close on this ``_IndexedGzipFile``. """ - * if not self.closed: - */ - __pyx_tuple__67 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_args); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(0, 600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__67); - __Pyx_GIVEREF(__pyx_tuple__67); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_exit, 600, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 600, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":614 - * - * - * def build_full_index(self): # <<<<<<<<<<<<<< - * """Re-builds the full file index. """ - * - */ - __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 614, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__68); - __Pyx_GIVEREF(__pyx_tuple__68); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_build_full_index, 614, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 614, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":627 - * - * - * def seek(self, offset, whence=SEEK_SET): # <<<<<<<<<<<<<< - * """Seeks to the specified position in the uncompressed data stream. - * - */ - __pyx_tuple__69 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_offset, __pyx_n_s_whence, __pyx_n_s_ret, __pyx_n_s_off, __pyx_n_s_c_whence, __pyx_n_s_index); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__69); - __Pyx_GIVEREF(__pyx_tuple__69); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_seek, 627, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 627, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":680 - * - * - * def read(self, nbytes=-1): # <<<<<<<<<<<<<< - * """Reads up to ``nbytes`` bytes from the uncompressed data stream. - * If ``nbytes < 0`` the stream is read until EOF. - */ - __pyx_tuple__70 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_nbytes, __pyx_n_s_buf, __pyx_n_s_index, __pyx_n_s_nread, __pyx_n_s_bufsz, __pyx_n_s_offset, __pyx_n_s_buffer, __pyx_n_s_ret, __pyx_n_s_pybuf); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__70); - __Pyx_GIVEREF(__pyx_tuple__70); - __pyx_codeobj__23 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_read, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__23)) __PYX_ERR(0, 680, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":767 - * - * - * def readinto(self, buf): # <<<<<<<<<<<<<< - * """Reads up to ``len(buf)`` bytes directly into ``buf``, which is - * assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview`` - */ - __pyx_tuple__71 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_buf, __pyx_n_s_index, __pyx_n_s_bufsz, __pyx_n_s_pbuf, __pyx_n_s_vbuf, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__71); - __Pyx_GIVEREF(__pyx_tuple__71); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_readinto, 767, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 767, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":820 - * - * - * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< - * """Seeks to the specified ``offset``, then reads and returns - * ``nbytes``. See :meth:`seek` and :meth:`read`. - */ - __pyx_tuple__72 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_nbytes, __pyx_n_s_offset); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(0, 820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__72); - __Pyx_GIVEREF(__pyx_tuple__72); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_pread, 820, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 820, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":829 - * - * - * def readline(self, size=-1): # <<<<<<<<<<<<<< - * """Read and return up to the next ``'\n'`` character (up to at most - * ``size`` bytes, if ``size >= 0``) from the uncompressed data stream. - */ - __pyx_tuple__73 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_linebuf, __pyx_n_s_startpos, __pyx_n_s_bufsz, __pyx_n_s_buf, __pyx_n_s_lineidx, __pyx_n_s_haveline, __pyx_n_s_eof); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__73); - __Pyx_GIVEREF(__pyx_tuple__73); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_readline, 829, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 829, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":880 - * - * - * def readlines(self, hint=-1): # <<<<<<<<<<<<<< - * """Reads and returns a list of lines from the uncompressed data. - * If ``hint`` is provided, lines will be read until the total size - */ - __pyx_tuple__74 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_hint, __pyx_n_s_totalsize, __pyx_n_s_lines, __pyx_n_s_line); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 880, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__74); - __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_readlines, 880, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 880, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":925 - * - * - * def write(self, *args, **kwargs): # <<<<<<<<<<<<<< - * """Currently raises a :exc:`NotImplementedError`.""" - * raise NotImplementedError('_IndexedGzipFile does not support writing') - */ - __pyx_tuple__75 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 925, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__75); - __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_write, 925, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 925, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":930 - * - * - * def flush(self): # <<<<<<<<<<<<<< - * """Currently does nothing. """ - * pass - */ - __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 930, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__76); - __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_flush, 930, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 930, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":935 - * - * - * def export_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< - * """Export index data to the given file. Either ``filename`` or - * ``fileobj`` should be specified, but not both. ``fileobj`` should be - */ - __pyx_tuple__77 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_filename, __pyx_n_s_fileobj, __pyx_n_s_close_file, __pyx_n_s_fd, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__77); - __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_export_index, 935, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 935, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":985 - * - * - * def import_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< - * """Import index data from the given file. Either ``filename`` or - * ``fileobj`` should be specified, but not both. ``fileobj`` should be - */ - __pyx_tuple__78 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_filename, __pyx_n_s_fileobj, __pyx_n_s_close_file, __pyx_n_s_fd, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 985, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__78); - __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_import_index, 985, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 985, __pyx_L1_error) - - /* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): - */ - __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__79); - __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(1, 1, __pyx_L1_error) - - /* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("self.index cannot be converted to a Python object for pickling") - */ - __pyx_tuple__80 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(1, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__80); - __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(1, 3, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":1063 - * - * - * def resize(self, size_t size): # <<<<<<<<<<<<<< - * """Re-allocate the memory to the given ``size``. """ - * - */ - __pyx_tuple__81 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_size, __pyx_n_s_buf); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 1063, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__81); - __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_resize, 1063, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 1063, __pyx_L1_error) - - /* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - */ - __pyx_tuple__82 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__82); - __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(1, 1, __pyx_L1_error) - - /* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(1, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__83); - __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(1, 3, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":1087 - * - * - * def unpickle(state): # <<<<<<<<<<<<<< - * """Create a new ``IndexedGzipFile`` from a pickled state. - * - */ - __pyx_tuple__84 = PyTuple_Pack(4, __pyx_n_s_state, __pyx_n_s_tell, __pyx_n_s_index, __pyx_n_s_gzobj); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(0, 1087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__84); - __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_indexed_gzip_pyx, __pyx_n_s_unpickle, 1087, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 1087, __pyx_L1_error) - - /* "indexed_gzip/indexed_gzip.pyx":1108 - * - * - * class NotCoveredError(ValueError): # <<<<<<<<<<<<<< - * """Exception raised by the :class:`_IndexedGzipFile` when an attempt is - * made to seek to/read from a location that is not covered by the - */ - __pyx_tuple__85 = PyTuple_Pack(1, __pyx_builtin_ValueError); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 1108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__85); - __Pyx_GIVEREF(__pyx_tuple__85); - - /* "indexed_gzip/indexed_gzip.pyx":1118 - * - * - * class ZranError(IOError): # <<<<<<<<<<<<<< - * """Exception raised by the :class:`_IndexedGzipFile` when the ``zran`` - * library signals an error. - */ - __pyx_tuple__86 = PyTuple_Pack(1, __pyx_builtin_IOError); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 1118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__86); - __Pyx_GIVEREF(__pyx_tuple__86); - - /* "indexed_gzip/indexed_gzip.pyx":1125 - * - * - * class CrcError(OSError): # <<<<<<<<<<<<<< - * """Exception raised by the :class:`_IndexedGzipFile` when a CRC/size - * validation check fails, which suggests that the GZIP data might be - */ - __pyx_tuple__87 = PyTuple_Pack(1, __pyx_builtin_OSError); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 1125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__87); - __Pyx_GIVEREF(__pyx_tuple__87); - - /* "indexed_gzip/indexed_gzip.pyx":1133 - * - * - * class NoHandleError(ValueError): # <<<<<<<<<<<<<< - * """Exception raised by the :class:`_IndexedGzipFile` when - * ``drop_handles is True`` and an attempt is made to access the underlying - */ - __pyx_tuple__88 = PyTuple_Pack(1, __pyx_builtin_ValueError); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__88); - __Pyx_GIVEREF(__pyx_tuple__88); - - /* "indexed_gzip/indexed_gzip.pyx":1140 - * - * - * class ZRAN_ERRORS(object): # <<<<<<<<<<<<<< - * """Contains text versions of all error codes emitted by zran.c. """ - * ZRAN_BUILD = { - */ - __pyx_tuple__89 = PyTuple_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 1140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__89); - __Pyx_GIVEREF(__pyx_tuple__89); - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - __pyx_umethod_PyDict_Type_pop.type = (PyObject*)&PyDict_Type; - if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_32768 = PyInt_FromLong(32768L); if (unlikely(!__pyx_int_32768)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1048576 = PyInt_FromLong(1048576L); if (unlikely(!__pyx_int_1048576)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_4194304 = PyInt_FromLong(4194304L); if (unlikely(!__pyx_int_4194304)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_16777216 = PyInt_FromLong(16777216L); if (unlikely(!__pyx_int_16777216)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile) < 0) __PYX_ERR(0, 215, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile.tp_getattro = __Pyx_PyObject_GenericGetAttr; - } - #if CYTHON_UPDATE_DESCRIPTOR_DOC - { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 215, __pyx_L1_error) - if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { - __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; - __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__.doc = __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__; - ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile___init__; - } - } - #endif - #if CYTHON_UPDATE_DESCRIPTOR_DOC - { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile, "__iter__"); if (unlikely(!wrapper)) __PYX_ERR(0, 215, __pyx_L1_error) - if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { - __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__ = *((PyWrapperDescrObject *)wrapper)->d_base; - __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__.doc = __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__; - ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_41__iter__; - } - } - #endif - #if CYTHON_UPDATE_DESCRIPTOR_DOC - { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile, "__next__"); if (unlikely(!wrapper)) __PYX_ERR(0, 215, __pyx_L1_error) - if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { - __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__ = *((PyWrapperDescrObject *)wrapper)->d_base; - __pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__.doc = __pyx_doc_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__; - ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_43__next__; - } - } - #endif - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_IndexedGzipFile_2, (PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile) < 0) __PYX_ERR(0, 215, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile) < 0) __PYX_ERR(0, 215, __pyx_L1_error) - __pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile = &__pyx_type_12indexed_gzip_12indexed_gzip__IndexedGzipFile; - if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer) < 0) __PYX_ERR(0, 1037, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer.tp_getattro = __Pyx_PyObject_GenericGetAttr; - } - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ReadBuffer, (PyObject *)&__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer) < 0) __PYX_ERR(0, 1037, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer) < 0) __PYX_ERR(0, 1037, __pyx_L1_error) - __pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer = &__pyx_type_12indexed_gzip_12indexed_gzip_ReadBuffer; - if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle) < 0) __PYX_ERR(0, 440, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - __pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle = &__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct____file_handle; - if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy) < 0) __PYX_ERR(0, 453, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - __pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy = &__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_1_proxy; - if (PyType_Ready(&__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points) < 0) __PYX_ERR(0, 481, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points.tp_dictoffset && __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - __pyx_ptype_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points = &__pyx_type_12indexed_gzip_12indexed_gzip___pyx_scope_struct_2_seek_points; - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyTypeObject), - #else - sizeof(PyHeapTypeObject), - #endif - __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initindexed_gzip(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initindexed_gzip(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_indexed_gzip(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_indexed_gzip(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { - result = PyDict_SetItemString(moddict, to_name, value); - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_indexed_gzip(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - __Pyx_TraceDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'indexed_gzip' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_indexed_gzip(void)", 0); - if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("indexed_gzip", __pyx_methods, __pyx_k_This_module_provides_the_class_I, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_b); - __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_cython_runtime); - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_indexed_gzip__indexed_gzip) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "indexed_gzip.indexed_gzip")) { - if (unlikely(PyDict_SetItemString(modules, "indexed_gzip.indexed_gzip", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit_indexed_gzip(void)", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error)); - - /* "indexed_gzip/indexed_gzip.pyx":38 - * cimport indexed_gzip.zran as zran - * - * import io # <<<<<<<<<<<<<< - * import os - * import os.path as op - */ - __Pyx_TraceLine(38,0,__PYX_ERR(0, 38, __pyx_L1_error)) - __pyx_t_1 = __Pyx_Import(__pyx_n_s_io, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_io, __pyx_t_1) < 0) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":39 - * - * import io - * import os # <<<<<<<<<<<<<< - * import os.path as op - * import pickle - */ - __Pyx_TraceLine(39,0,__PYX_ERR(0, 39, __pyx_L1_error)) - __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":40 - * import io - * import os - * import os.path as op # <<<<<<<<<<<<<< - * import pickle - * import logging - */ - __Pyx_TraceLine(40,0,__PYX_ERR(0, 40, __pyx_L1_error)) - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s__51); - __Pyx_GIVEREF(__pyx_n_s__51); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__51); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_os_path, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_op, __pyx_t_2) < 0) __PYX_ERR(0, 40, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":41 - * import os - * import os.path as op - * import pickle # <<<<<<<<<<<<<< - * import logging - * import warnings - */ - __Pyx_TraceLine(41,0,__PYX_ERR(0, 41, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_pickle, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_pickle, __pyx_t_2) < 0) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":42 - * import os.path as op - * import pickle - * import logging # <<<<<<<<<<<<<< - * import warnings - * import threading - */ - __Pyx_TraceLine(42,0,__PYX_ERR(0, 42, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_logging, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_2) < 0) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":43 - * import pickle - * import logging - * import warnings # <<<<<<<<<<<<<< - * import threading - * import contextlib - */ - __Pyx_TraceLine(43,0,__PYX_ERR(0, 43, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_warnings, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_warnings, __pyx_t_2) < 0) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":44 - * import logging - * import warnings - * import threading # <<<<<<<<<<<<<< - * import contextlib - * - */ - __Pyx_TraceLine(44,0,__PYX_ERR(0, 44, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_threading, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_2) < 0) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":45 - * import warnings - * import threading - * import contextlib # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(45,0,__PYX_ERR(0, 45, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_contextlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_contextlib, __pyx_t_2) < 0) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":48 - * - * - * builtin_open = open # <<<<<<<<<<<<<< - * """Reference to the built-in open function, which is otherwise masked by - * our open function below. - */ - __Pyx_TraceLine(48,0,__PYX_ERR(0, 48, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_builtin_open, __pyx_t_2) < 0) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":57 - * - * - * log = logging.getLogger(__name__) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getLogger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_log, __pyx_t_3) < 0) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":60 - * - * - * def open(filename=None, fileobj=None, *args, **kwargs): # <<<<<<<<<<<<<< - * """Create and return an ``IndexedGzipFile``. - * - */ - __Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_1open, 0, __pyx_n_s_open, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__53); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_open, __pyx_t_3) < 0) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":71 - * - * - * class IndexedGzipFile(io.BufferedReader): # <<<<<<<<<<<<<< - * """The ``IndexedGzipFile`` class allows for fast random access of a gzip - * file by using the ``zran`` library to build and maintain an index of seek - */ - __Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_io); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_BufferedReader); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_IndexedGzipFile, __pyx_n_s_IndexedGzipFile, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_The_IndexedGzipFile_class_allows); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - /* "indexed_gzip/indexed_gzip.pyx":86 - * - * - * def __init__(self, *args, **kwargs): # <<<<<<<<<<<<<< - * """Create an ``IndexedGzipFile``. The file may be specified either - * with an open file handle (``fileobj``), or with a ``filename``. If the - */ - __Pyx_TraceLine(86,0,__PYX_ERR(0, 86, __pyx_L1_error)) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_1__init__, 0, __pyx_n_s_IndexedGzipFile___init, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":163 - * - * - * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< - * """Seeks to ``offset``, then reads and returns up to ``nbytes``. - * The calls to seek and read are protected by a ``threading.RLock``. - */ - __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L1_error)) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_3pread, 0, __pyx_n_s_IndexedGzipFile_pread, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_pread, __pyx_t_4) < 0) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":172 - * - * - * def __reduce__(self): # <<<<<<<<<<<<<< - * """Used to pickle an ``IndexedGzipFile``. - * - */ - __Pyx_TraceLine(172,0,__PYX_ERR(0, 172, __pyx_L1_error)) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_15IndexedGzipFile_5__reduce__, 0, __pyx_n_s_IndexedGzipFile___reduce, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_reduce, __pyx_t_4) < 0) __PYX_ERR(0, 172, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":71 - * - * - * class IndexedGzipFile(io.BufferedReader): # <<<<<<<<<<<<<< - * """The ``IndexedGzipFile`` class allows for fast random access of a gzip - * file by using the ``zran`` library to build and maintain an index of seek - */ - __Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) - __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_IndexedGzipFile, __pyx_t_3, __pyx_t_1, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_IndexedGzipFile, __pyx_t_4) < 0) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":440 - * - * - * def __file_handle(self): # <<<<<<<<<<<<<< - * """This method is used as a context manager whenever access to the - * underlying file stream is required. It makes sure that ``index.fd`` - */ - __Pyx_TraceLine(440,0,__PYX_ERR(0, 440, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_3__file_handle, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___file_handle, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_file_handle, __pyx_t_3) < 0) __PYX_ERR(0, 440, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":481 - * - * - * def seek_points(self): # <<<<<<<<<<<<<< - * """Return the seek point locations that currently exist in the index. - * - */ - __Pyx_TraceLine(481,0,__PYX_ERR(0, 481, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_5seek_points, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_seek_points, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_seek_points, __pyx_t_3) < 0) __PYX_ERR(0, 481, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":492 - * - * - * def fileno(self): # <<<<<<<<<<<<<< - * """Calls ``fileno`` on the underlying file object. Raises a - * :exc:`NoHandleError` if ``drop_handles is True``. - */ - __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_8fileno, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_fileno, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_fileno, __pyx_t_3) < 0) __PYX_ERR(0, 492, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":501 - * - * - * def fileobj(self): # <<<<<<<<<<<<<< - * """Returns a reference to the python file object. Raises a - * :exc:`NoHandleError` if ``drop_handles is True``. - */ - __Pyx_TraceLine(501,0,__PYX_ERR(0, 501, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_10fileobj, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_fileobj, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_fileobj, __pyx_t_3) < 0) __PYX_ERR(0, 501, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":538 - * - * - * def close(self): # <<<<<<<<<<<<<< - * """Closes this ``_IndexedGzipFile``. """ - * - */ - __Pyx_TraceLine(538,0,__PYX_ERR(0, 538, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_12close, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_close, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_close, __pyx_t_3) < 0) __PYX_ERR(0, 538, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":568 - * - * - * def readable(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` is readable, ``False`` - * otherwise. - */ - __Pyx_TraceLine(568,0,__PYX_ERR(0, 568, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_14readable, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_readable, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 568, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_readable, __pyx_t_3) < 0) __PYX_ERR(0, 568, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":575 - * - * - * def writable(self): # <<<<<<<<<<<<<< - * """Currently always returns ``False`` - the ``_IndexedGzipFile`` does - * not support writing yet. - */ - __Pyx_TraceLine(575,0,__PYX_ERR(0, 575, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_16writable, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_writable, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_writable, __pyx_t_3) < 0) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":582 - * - * - * def seekable(self): # <<<<<<<<<<<<<< - * """Returns ``True`` if this ``_IndexedGzipFile`` supports seeking, - * ``False`` otherwise. - */ - __Pyx_TraceLine(582,0,__PYX_ERR(0, 582, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_18seekable, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_seekable, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 582, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_seekable, __pyx_t_3) < 0) __PYX_ERR(0, 582, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":589 - * - * - * def tell(self): # <<<<<<<<<<<<<< - * """Returns the current seek offset into the uncompressed data stream. - * """ - */ - __Pyx_TraceLine(589,0,__PYX_ERR(0, 589, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_20tell, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_tell, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_tell, __pyx_t_3) < 0) __PYX_ERR(0, 589, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":595 - * - * - * def __enter__(self): # <<<<<<<<<<<<<< - * """Returns this ``_IndexedGzipFile``. """ - * return self - */ - __Pyx_TraceLine(595,0,__PYX_ERR(0, 595, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_22__enter__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___enter, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_enter, __pyx_t_3) < 0) __PYX_ERR(0, 595, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":600 - * - * - * def __exit__(self, *args): # <<<<<<<<<<<<<< - * """Calls close on this ``_IndexedGzipFile``. """ - * if not self.closed: - */ - __Pyx_TraceLine(600,0,__PYX_ERR(0, 600, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_24__exit__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___exit, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__19)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_exit, __pyx_t_3) < 0) __PYX_ERR(0, 600, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":614 - * - * - * def build_full_index(self): # <<<<<<<<<<<<<< - * """Re-builds the full file index. """ - * - */ - __Pyx_TraceLine(614,0,__PYX_ERR(0, 614, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_28build_full_index, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_build_full_inde, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 614, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_build_full_index, __pyx_t_3) < 0) __PYX_ERR(0, 614, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":627 - * - * - * def seek(self, offset, whence=SEEK_SET): # <<<<<<<<<<<<<< - * """Seeks to the specified position in the uncompressed data stream. - * - */ - __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyInt_From_int(SEEK_SET); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_k__21 = __pyx_t_3; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_30seek, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_seek, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 627, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_seek, __pyx_t_3) < 0) __PYX_ERR(0, 627, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":680 - * - * - * def read(self, nbytes=-1): # <<<<<<<<<<<<<< - * """Reads up to ``nbytes`` bytes from the uncompressed data stream. - * If ``nbytes < 0`` the stream is read until EOF. - */ - __Pyx_TraceLine(680,0,__PYX_ERR(0, 680, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_32read, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_read, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__23)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 680, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_read, __pyx_t_3) < 0) __PYX_ERR(0, 680, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":767 - * - * - * def readinto(self, buf): # <<<<<<<<<<<<<< - * """Reads up to ``len(buf)`` bytes directly into ``buf``, which is - * assumed to be a mutable ``bytes``-like object (e.g. a ``memoryview`` - */ - __Pyx_TraceLine(767,0,__PYX_ERR(0, 767, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_34readinto, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_readinto, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_readinto, __pyx_t_3) < 0) __PYX_ERR(0, 767, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":820 - * - * - * def pread(self, nbytes, offset): # <<<<<<<<<<<<<< - * """Seeks to the specified ``offset``, then reads and returns - * ``nbytes``. See :meth:`seek` and :meth:`read`. - */ - __Pyx_TraceLine(820,0,__PYX_ERR(0, 820, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_36pread, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_pread_2, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 820, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_pread, __pyx_t_3) < 0) __PYX_ERR(0, 820, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":829 - * - * - * def readline(self, size=-1): # <<<<<<<<<<<<<< - * """Read and return up to the next ``'\n'`` character (up to at most - * ``size`` bytes, if ``size >= 0``) from the uncompressed data stream. - */ - __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_38readline, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_readline, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__26)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_readline, __pyx_t_3) < 0) __PYX_ERR(0, 829, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":880 - * - * - * def readlines(self, hint=-1): # <<<<<<<<<<<<<< - * """Reads and returns a list of lines from the uncompressed data. - * If ``hint`` is provided, lines will be read until the total size - */ - __Pyx_TraceLine(880,0,__PYX_ERR(0, 880, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_40readlines, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_readlines, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_readlines, __pyx_t_3) < 0) __PYX_ERR(0, 880, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":925 - * - * - * def write(self, *args, **kwargs): # <<<<<<<<<<<<<< - * """Currently raises a :exc:`NotImplementedError`.""" - * raise NotImplementedError('_IndexedGzipFile does not support writing') - */ - __Pyx_TraceLine(925,0,__PYX_ERR(0, 925, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_46write, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_write, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 925, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_write, __pyx_t_3) < 0) __PYX_ERR(0, 925, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":930 - * - * - * def flush(self): # <<<<<<<<<<<<<< - * """Currently does nothing. """ - * pass - */ - __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_48flush, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_flush, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_flush, __pyx_t_3) < 0) __PYX_ERR(0, 930, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":935 - * - * - * def export_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< - * """Export index data to the given file. Either ``filename`` or - * ``fileobj`` should be specified, but not both. ``fileobj`` should be - */ - __Pyx_TraceLine(935,0,__PYX_ERR(0, 935, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_50export_index, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_export_index, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 935, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_export_index, __pyx_t_3) < 0) __PYX_ERR(0, 935, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "indexed_gzip/indexed_gzip.pyx":985 - * - * - * def import_index(self, filename=None, fileobj=None): # <<<<<<<<<<<<<< - * """Import index data from the given file. Either ``filename`` or - * ``fileobj`` should be specified, but not both. ``fileobj`` should be - */ - __Pyx_TraceLine(985,0,__PYX_ERR(0, 985, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_52import_index, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile_import_index, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 985, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile->tp_dict, __pyx_n_s_import_index, __pyx_t_3) < 0) __PYX_ERR(0, 985, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip__IndexedGzipFile); - - /* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): - */ - __Pyx_TraceLine(1,0,__PYX_ERR(1, 1, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_54__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___reduce_cython, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("self.index cannot be converted to a Python object for pickling") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("self.index cannot be converted to a Python object for pickling") - */ - __Pyx_TraceLine(3,0,__PYX_ERR(1, 3, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_16_IndexedGzipFile_56__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_IndexedGzipFile___setstate_cyth, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(1, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1063 - * - * - * def resize(self, size_t size): # <<<<<<<<<<<<<< - * """Re-allocate the memory to the given ``size``. """ - * - */ - __Pyx_TraceLine(1063,0,__PYX_ERR(0, 1063, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_3resize, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ReadBuffer_resize, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1063, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem((PyObject *)__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer->tp_dict, __pyx_n_s_resize, __pyx_t_3) < 0) __PYX_ERR(0, 1063, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - PyType_Modified(__pyx_ptype_12indexed_gzip_12indexed_gzip_ReadBuffer); - - /* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - */ - __Pyx_TraceLine(1,0,__PYX_ERR(1, 1, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ReadBuffer___reduce_cython, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_3) < 0) __PYX_ERR(1, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - __Pyx_TraceLine(3,0,__PYX_ERR(1, 3, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_10ReadBuffer_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_ReadBuffer___setstate_cython, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_3) < 0) __PYX_ERR(1, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1087 - * - * - * def unpickle(state): # <<<<<<<<<<<<<< - * """Create a new ``IndexedGzipFile`` from a pickled state. - * - */ - __Pyx_TraceLine(1087,0,__PYX_ERR(0, 1087, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_12indexed_gzip_3unpickle, 0, __pyx_n_s_unpickle, NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1087, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_unpickle, __pyx_t_3) < 0) __PYX_ERR(0, 1087, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1108 - * - * - * class NotCoveredError(ValueError): # <<<<<<<<<<<<<< - * """Exception raised by the :class:`_IndexedGzipFile` when an attempt is - * made to seek to/read from a location that is not covered by the - */ - __Pyx_TraceLine(1108,0,__PYX_ERR(0, 1108, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__85); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__85, __pyx_n_s_NotCoveredError, __pyx_n_s_NotCoveredError, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Exception_raised_by_the_class__I); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_NotCoveredError, __pyx_tuple__85, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_NotCoveredError, __pyx_t_1) < 0) __PYX_ERR(0, 1108, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1118 - * - * - * class ZranError(IOError): # <<<<<<<<<<<<<< - * """Exception raised by the :class:`_IndexedGzipFile` when the ``zran`` - * library signals an error. - */ - __Pyx_TraceLine(1118,0,__PYX_ERR(0, 1118, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__86); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__86, __pyx_n_s_ZranError, __pyx_n_s_ZranError, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Exception_raised_by_the_class__I_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ZranError, __pyx_tuple__86, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ZranError, __pyx_t_1) < 0) __PYX_ERR(0, 1118, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1125 - * - * - * class CrcError(OSError): # <<<<<<<<<<<<<< - * """Exception raised by the :class:`_IndexedGzipFile` when a CRC/size - * validation check fails, which suggests that the GZIP data might be - */ - __Pyx_TraceLine(1125,0,__PYX_ERR(0, 1125, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__87); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__87, __pyx_n_s_CrcError, __pyx_n_s_CrcError, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Exception_raised_by_the_class__I_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_CrcError, __pyx_tuple__87, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CrcError, __pyx_t_1) < 0) __PYX_ERR(0, 1125, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1133 - * - * - * class NoHandleError(ValueError): # <<<<<<<<<<<<<< - * """Exception raised by the :class:`_IndexedGzipFile` when - * ``drop_handles is True`` and an attempt is made to access the underlying - */ - __Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__88); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__88, __pyx_n_s_NoHandleError, __pyx_n_s_NoHandleError, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Exception_raised_by_the_class__I_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_NoHandleError, __pyx_tuple__88, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_NoHandleError, __pyx_t_1) < 0) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1140 - * - * - * class ZRAN_ERRORS(object): # <<<<<<<<<<<<<< - * """Contains text versions of all error codes emitted by zran.c. """ - * ZRAN_BUILD = { - */ - __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_tuple__89); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_tuple__89, __pyx_n_s_ZRAN_ERRORS, __pyx_n_s_ZRAN_ERRORS, (PyObject *) NULL, __pyx_n_s_indexed_gzip_indexed_gzip, __pyx_kp_s_Contains_text_versions_of_all_er); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - /* "indexed_gzip/indexed_gzip.pyx":1143 - * """Contains text versions of all error codes emitted by zran.c. """ - * ZRAN_BUILD = { - * zran.ZRAN_BUILD_INDEX_FAIL : 'ZRAN_BUILD_INDEX_FAIL', # <<<<<<<<<<<<<< - * zran.ZRAN_BUILD_INDEX_CRC_ERROR : 'ZRAN_BUILD_INDEX_CRC_ERROR' - * } - */ - __Pyx_TraceLine(1143,0,__PYX_ERR(0, 1143, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_BUILD_INDEX_FAIL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_BUILD_INDEX_FAIL) < 0) __PYX_ERR(0, 1143, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1144 - * ZRAN_BUILD = { - * zran.ZRAN_BUILD_INDEX_FAIL : 'ZRAN_BUILD_INDEX_FAIL', - * zran.ZRAN_BUILD_INDEX_CRC_ERROR : 'ZRAN_BUILD_INDEX_CRC_ERROR' # <<<<<<<<<<<<<< - * } - * ZRAN_SEEK = { - */ - __Pyx_TraceLine(1144,0,__PYX_ERR(0, 1144, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_BUILD_INDEX_CRC_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_BUILD_INDEX_CRC_ERROR) < 0) __PYX_ERR(0, 1143, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_BUILD, __pyx_t_1) < 0) __PYX_ERR(0, 1142, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1147 - * } - * ZRAN_SEEK = { - * zran.ZRAN_SEEK_CRC_ERROR : 'ZRAN_SEEK_CRC_ERROR', # <<<<<<<<<<<<<< - * zran.ZRAN_SEEK_FAIL : 'ZRAN_SEEK_FAIL', - * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', - */ - __Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_CRC_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_CRC_ERROR) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1148 - * ZRAN_SEEK = { - * zran.ZRAN_SEEK_CRC_ERROR : 'ZRAN_SEEK_CRC_ERROR', - * zran.ZRAN_SEEK_FAIL : 'ZRAN_SEEK_FAIL', # <<<<<<<<<<<<<< - * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', - * zran.ZRAN_SEEK_EOF : 'ZRAN_SEEK_EOF', - */ - __Pyx_TraceLine(1148,0,__PYX_ERR(0, 1148, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_FAIL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_FAIL) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1149 - * zran.ZRAN_SEEK_CRC_ERROR : 'ZRAN_SEEK_CRC_ERROR', - * zran.ZRAN_SEEK_FAIL : 'ZRAN_SEEK_FAIL', - * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', # <<<<<<<<<<<<<< - * zran.ZRAN_SEEK_EOF : 'ZRAN_SEEK_EOF', - * zran.ZRAN_SEEK_INDEX_NOT_BUILT : 'ZRAN_SEEK_INDEX_NOT_BUILT' - */ - __Pyx_TraceLine(1149,0,__PYX_ERR(0, 1149, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_NOT_COVERED); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_NOT_COVERED) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1150 - * zran.ZRAN_SEEK_FAIL : 'ZRAN_SEEK_FAIL', - * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', - * zran.ZRAN_SEEK_EOF : 'ZRAN_SEEK_EOF', # <<<<<<<<<<<<<< - * zran.ZRAN_SEEK_INDEX_NOT_BUILT : 'ZRAN_SEEK_INDEX_NOT_BUILT' - * } - */ - __Pyx_TraceLine(1150,0,__PYX_ERR(0, 1150, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_EOF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_EOF) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1151 - * zran.ZRAN_SEEK_NOT_COVERED : 'ZRAN_SEEK_NOT_COVERED', - * zran.ZRAN_SEEK_EOF : 'ZRAN_SEEK_EOF', - * zran.ZRAN_SEEK_INDEX_NOT_BUILT : 'ZRAN_SEEK_INDEX_NOT_BUILT' # <<<<<<<<<<<<<< - * } - * ZRAN_READ = { - */ - __Pyx_TraceLine(1151,0,__PYX_ERR(0, 1151, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_SEEK_INDEX_NOT_BUILT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_SEEK_INDEX_NOT_BUILT) < 0) __PYX_ERR(0, 1147, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_SEEK, __pyx_t_1) < 0) __PYX_ERR(0, 1146, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1154 - * } - * ZRAN_READ = { - * zran.ZRAN_READ_NOT_COVERED : 'ZRAN_READ_NOT_COVERED', # <<<<<<<<<<<<<< - * zran.ZRAN_READ_EOF : 'ZRAN_READ_EOF', - * zran.ZRAN_READ_FAIL : 'ZRAN_READ_FAIL', - */ - __Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_READ_NOT_COVERED); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_READ_NOT_COVERED) < 0) __PYX_ERR(0, 1154, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1155 - * ZRAN_READ = { - * zran.ZRAN_READ_NOT_COVERED : 'ZRAN_READ_NOT_COVERED', - * zran.ZRAN_READ_EOF : 'ZRAN_READ_EOF', # <<<<<<<<<<<<<< - * zran.ZRAN_READ_FAIL : 'ZRAN_READ_FAIL', - * zran.ZRAN_READ_CRC_ERROR : 'ZRAN_READ_CRC_ERROR' - */ - __Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_READ_EOF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1155, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_READ_EOF) < 0) __PYX_ERR(0, 1154, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1156 - * zran.ZRAN_READ_NOT_COVERED : 'ZRAN_READ_NOT_COVERED', - * zran.ZRAN_READ_EOF : 'ZRAN_READ_EOF', - * zran.ZRAN_READ_FAIL : 'ZRAN_READ_FAIL', # <<<<<<<<<<<<<< - * zran.ZRAN_READ_CRC_ERROR : 'ZRAN_READ_CRC_ERROR' - * } - */ - __Pyx_TraceLine(1156,0,__PYX_ERR(0, 1156, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_READ_FAIL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_READ_FAIL) < 0) __PYX_ERR(0, 1154, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1157 - * zran.ZRAN_READ_EOF : 'ZRAN_READ_EOF', - * zran.ZRAN_READ_FAIL : 'ZRAN_READ_FAIL', - * zran.ZRAN_READ_CRC_ERROR : 'ZRAN_READ_CRC_ERROR' # <<<<<<<<<<<<<< - * } - * ZRAN_EXPORT = { - */ - __Pyx_TraceLine(1157,0,__PYX_ERR(0, 1157, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_READ_CRC_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_READ_CRC_ERROR) < 0) __PYX_ERR(0, 1154, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_READ, __pyx_t_1) < 0) __PYX_ERR(0, 1153, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1160 - * } - * ZRAN_EXPORT = { - * zran.ZRAN_EXPORT_WRITE_ERROR : 'ZRAN_EXPORT_WRITE_ERROR' # <<<<<<<<<<<<<< - * } - * ZRAN_IMPORT = { - */ - __Pyx_TraceLine(1160,0,__PYX_ERR(0, 1160, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_EXPORT_WRITE_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_EXPORT_WRITE_ERROR) < 0) __PYX_ERR(0, 1160, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_EXPORT, __pyx_t_1) < 0) __PYX_ERR(0, 1159, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1163 - * } - * ZRAN_IMPORT = { - * zran.ZRAN_IMPORT_OK : 'ZRAN_IMPORT_OK', # <<<<<<<<<<<<<< - * zran.ZRAN_IMPORT_FAIL : 'ZRAN_IMPORT_FAIL', - * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', - */ - __Pyx_TraceLine(1163,0,__PYX_ERR(0, 1163, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyDict_NewPresized(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_OK); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_OK) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1164 - * ZRAN_IMPORT = { - * zran.ZRAN_IMPORT_OK : 'ZRAN_IMPORT_OK', - * zran.ZRAN_IMPORT_FAIL : 'ZRAN_IMPORT_FAIL', # <<<<<<<<<<<<<< - * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', - * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', - */ - __Pyx_TraceLine(1164,0,__PYX_ERR(0, 1164, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_FAIL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_FAIL) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1165 - * zran.ZRAN_IMPORT_OK : 'ZRAN_IMPORT_OK', - * zran.ZRAN_IMPORT_FAIL : 'ZRAN_IMPORT_FAIL', - * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', # <<<<<<<<<<<<<< - * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', - * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', - */ - __Pyx_TraceLine(1165,0,__PYX_ERR(0, 1165, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_EOF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_EOF) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1166 - * zran.ZRAN_IMPORT_FAIL : 'ZRAN_IMPORT_FAIL', - * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', - * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', # <<<<<<<<<<<<<< - * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', - * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', - */ - __Pyx_TraceLine(1166,0,__PYX_ERR(0, 1166, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_READ_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_READ_ERROR) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1167 - * zran.ZRAN_IMPORT_EOF : 'ZRAN_IMPORT_EOF', - * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', - * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', # <<<<<<<<<<<<<< - * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', - * zran.ZRAN_IMPORT_UNKNOWN_FORMAT : 'ZRAN_IMPORT_UNKNOWN_FORMAT', - */ - __Pyx_TraceLine(1167,0,__PYX_ERR(0, 1167, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_INCONSISTENT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_INCONSISTENT) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1168 - * zran.ZRAN_IMPORT_READ_ERROR : 'ZRAN_IMPORT_READ_ERROR', - * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', - * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', # <<<<<<<<<<<<<< - * zran.ZRAN_IMPORT_UNKNOWN_FORMAT : 'ZRAN_IMPORT_UNKNOWN_FORMAT', - * zran.ZRAN_IMPORT_UNSUPPORTED_VERSION : 'ZRAN_IMPORT_UNSUPPORTED_VERSION' - */ - __Pyx_TraceLine(1168,0,__PYX_ERR(0, 1168, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_MEMORY_ERROR); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_MEMORY_ERROR) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1169 - * zran.ZRAN_IMPORT_INCONSISTENT : 'ZRAN_IMPORT_INCONSISTENT', - * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', - * zran.ZRAN_IMPORT_UNKNOWN_FORMAT : 'ZRAN_IMPORT_UNKNOWN_FORMAT', # <<<<<<<<<<<<<< - * zran.ZRAN_IMPORT_UNSUPPORTED_VERSION : 'ZRAN_IMPORT_UNSUPPORTED_VERSION' - * } - */ - __Pyx_TraceLine(1169,0,__PYX_ERR(0, 1169, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_UNKNOWN_FORMAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_UNKNOWN_FORMAT) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1170 - * zran.ZRAN_IMPORT_MEMORY_ERROR : 'ZRAN_IMPORT_MEMORY_ERROR', - * zran.ZRAN_IMPORT_UNKNOWN_FORMAT : 'ZRAN_IMPORT_UNKNOWN_FORMAT', - * zran.ZRAN_IMPORT_UNSUPPORTED_VERSION : 'ZRAN_IMPORT_UNSUPPORTED_VERSION' # <<<<<<<<<<<<<< - * } - */ - __Pyx_TraceLine(1170,0,__PYX_ERR(0, 1170, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_IMPORT_UNSUPPORTED_VERSION); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1170, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_t_4, __pyx_n_s_ZRAN_IMPORT_UNSUPPORTED_VERSION) < 0) __PYX_ERR(0, 1163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_ZRAN_IMPORT, __pyx_t_1) < 0) __PYX_ERR(0, 1162, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1140 - * - * - * class ZRAN_ERRORS(object): # <<<<<<<<<<<<<< - * """Contains text versions of all error codes emitted by zran.c. """ - * ZRAN_BUILD = { - */ - __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L1_error)) - __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ZRAN_ERRORS, __pyx_tuple__89, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ZRAN_ERRORS, __pyx_t_1) < 0) __PYX_ERR(0, 1140, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/indexed_gzip.pyx":1 - * # cython: binding=True,embedsignature=True # <<<<<<<<<<<<<< - * # - * # The IndexedGzipFile class. - */ - __Pyx_TraceLine(1,0,__PYX_ERR(0, 1, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_TraceReturn(Py_None, 0); - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - if (__pyx_m) { - if (__pyx_d) { - __Pyx_AddTraceback("init indexed_gzip.indexed_gzip", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - Py_CLEAR(__pyx_m); - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init indexed_gzip.indexed_gzip"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); - if (unlikely(!result)) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* RaiseDoubleKeywords */ -static void __Pyx_RaiseDoubleKeywordsError( - const char* func_name, - PyObject* kw_name) -{ - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION >= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; - continue; - } - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = (**name == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - return -1; -} - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -} -#endif - -/* Profile */ -#if CYTHON_PROFILE -static int __Pyx_TraceSetupAndCall(PyCodeObject** code, - PyFrameObject** frame, - PyThreadState* tstate, - const char *funcname, - const char *srcfile, - int firstlineno) { - PyObject *type, *value, *traceback; - int retval; - if (*frame == NULL || !CYTHON_PROFILE_REUSE_FRAME) { - if (*code == NULL) { - *code = __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno); - if (*code == NULL) return 0; - } - *frame = PyFrame_New( - tstate, /*PyThreadState *tstate*/ - *code, /*PyCodeObject *code*/ - __pyx_d, /*PyObject *globals*/ - 0 /*PyObject *locals*/ - ); - if (*frame == NULL) return 0; - if (CYTHON_TRACE && (*frame)->f_trace == NULL) { - Py_INCREF(Py_None); - (*frame)->f_trace = Py_None; - } -#if PY_VERSION_HEX < 0x030400B1 - } else { - (*frame)->f_tstate = tstate; -#endif - } - __Pyx_PyFrame_SetLineNumber(*frame, firstlineno); - retval = 1; - __Pyx_EnterTracing(tstate); - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - #if CYTHON_TRACE - if (tstate->c_tracefunc) - retval = tstate->c_tracefunc(tstate->c_traceobj, *frame, PyTrace_CALL, NULL) == 0; - if (retval && tstate->c_profilefunc) - #endif - retval = tstate->c_profilefunc(tstate->c_profileobj, *frame, PyTrace_CALL, NULL) == 0; - __Pyx_LeaveTracing(tstate); - if (retval) { - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - return __Pyx_IsTracing(tstate, 0, 0) && retval; - } else { - Py_XDECREF(type); - Py_XDECREF(value); - Py_XDECREF(traceback); - return -1; - } -} -static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno) { - PyCodeObject *py_code = 0; -#if PY_MAJOR_VERSION >= 3 - py_code = PyCode_NewEmpty(srcfile, funcname, firstlineno); - if (likely(py_code)) { - py_code->co_flags |= CO_OPTIMIZED | CO_NEWLOCALS; - } -#else - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; - py_funcname = PyString_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - py_srcfile = PyString_FromString(srcfile); - if (unlikely(!py_srcfile)) goto bad; - py_code = PyCode_New( - 0, - 0, - 0, - CO_OPTIMIZED | CO_NEWLOCALS, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - firstlineno, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -bad: - Py_XDECREF(py_srcfile); - Py_XDECREF(py_funcname); -#endif - return py_code; -} -#endif - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* RaiseArgTupleInvalid */ -static void __Pyx_RaiseArgtupleInvalid( - const char* func_name, - int exact, - Py_ssize_t num_min, - Py_ssize_t num_max, - Py_ssize_t num_found) -{ - Py_ssize_t num_expected; - const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; - } else { - num_expected = num_max; - more_or_less = "at most"; - } - if (exact) { - more_or_less = "exactly"; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", - func_name, more_or_less, num_expected, - (num_expected == 1) ? "" : "s", num_found); -} - -/* DictGetItem */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* UnpackUnboundCMethod */ -static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { - PyObject *method; - method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); - if (unlikely(!method)) - return -1; - target->method = method; -#if CYTHON_COMPILING_IN_CPYTHON - #if PY_MAJOR_VERSION >= 3 - if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) - #endif - { - PyMethodDescrObject *descr = (PyMethodDescrObject*) method; - target->func = descr->d_method->ml_meth; - target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); - } -#endif - return 0; -} - -/* CallUnboundCMethod2 */ -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030600B1 -static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) { - if (likely(cfunc->func)) { - PyObject *args[2] = {arg1, arg2}; - if (cfunc->flag == METH_FASTCALL) { - #if PY_VERSION_HEX >= 0x030700A0 - return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, args, 2); - #else - return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL); - #endif - } - #if PY_VERSION_HEX >= 0x030700A0 - if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS)) - return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, 2, NULL); - #endif - } - return __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2); -} -#endif -static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){ - PyObject *args, *result = NULL; - if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; -#if CYTHON_COMPILING_IN_CPYTHON - if (cfunc->func && (cfunc->flag & METH_VARARGS)) { - args = PyTuple_New(2); - if (unlikely(!args)) goto bad; - Py_INCREF(arg1); - PyTuple_SET_ITEM(args, 0, arg1); - Py_INCREF(arg2); - PyTuple_SET_ITEM(args, 1, arg2); - if (cfunc->flag & METH_KEYWORDS) - result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); - else - result = (*cfunc->func)(self, args); - } else { - args = PyTuple_New(3); - if (unlikely(!args)) goto bad; - Py_INCREF(self); - PyTuple_SET_ITEM(args, 0, self); - Py_INCREF(arg1); - PyTuple_SET_ITEM(args, 1, arg1); - Py_INCREF(arg2); - PyTuple_SET_ITEM(args, 2, arg2); - result = __Pyx_PyObject_Call(cfunc->method, args, NULL); - } -#else - args = PyTuple_Pack(3, self, arg1, arg2); - if (unlikely(!args)) goto bad; - result = __Pyx_PyObject_Call(cfunc->method, args, NULL); -#endif -bad: - Py_XDECREF(args); - return result; -} - -/* CallUnboundCMethod1 */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) { - if (likely(cfunc->func)) { - int flag = cfunc->flag; - if (flag == METH_O) { - return (*(cfunc->func))(self, arg); - } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) { - #if PY_VERSION_HEX >= 0x030700A0 - return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1); - #else - return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); - #endif - } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) { - return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); - } - } - return __Pyx__CallUnboundCMethod1(cfunc, self, arg); -} -#endif -static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){ - PyObject *args, *result = NULL; - if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; -#if CYTHON_COMPILING_IN_CPYTHON - if (cfunc->func && (cfunc->flag & METH_VARARGS)) { - args = PyTuple_New(1); - if (unlikely(!args)) goto bad; - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 0, arg); - if (cfunc->flag & METH_KEYWORDS) - result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); - else - result = (*cfunc->func)(self, args); - } else { - args = PyTuple_New(2); - if (unlikely(!args)) goto bad; - Py_INCREF(self); - PyTuple_SET_ITEM(args, 0, self); - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 1, arg); - result = __Pyx_PyObject_Call(cfunc->method, args, NULL); - } -#else - args = PyTuple_Pack(2, self, arg); - if (unlikely(!args)) goto bad; - result = __Pyx_PyObject_Call(cfunc->method, args, NULL); -#endif -bad: - Py_XDECREF(args); - return result; -} - -/* py_dict_pop */ -static CYTHON_INLINE PyObject *__Pyx_PyDict_Pop(PyObject *d, PyObject *key, PyObject *default_value) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B3 - if ((1)) { - return _PyDict_Pop(d, key, default_value); - } else -#endif - if (default_value) { - return __Pyx_CallUnboundCMethod2(&__pyx_umethod_PyDict_Type_pop, d, key, default_value); - } else { - return __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_pop, d, key); - } -} - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { - return NULL; - } - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif -#endif - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = PyCFunction_GET_FUNCTION(func); - self = PyCFunction_GET_SELF(func); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallNoArg */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, NULL, 0); - } -#endif -#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG) - if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) -#else - if (likely(PyCFunction_Check(func))) -#endif - { - if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { - return __Pyx_PyObject_CallMethO(func, NULL); - } - } - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); -} -#endif - -/* PyCFunctionFastCall */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { - PyCFunctionObject *func = (PyCFunctionObject*)func_obj; - PyCFunction meth = PyCFunction_GET_FUNCTION(func); - PyObject *self = PyCFunction_GET_SELF(func); - int flags = PyCFunction_GET_FLAGS(func); - assert(PyCFunction_Check(func)); - assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); - assert(nargs >= 0); - assert(nargs == 0 || args != NULL); - /* _PyCFunction_FastCallDict() must not be called with an exception set, - because it may clear it (directly or indirectly) and so the - caller loses its exception */ - assert(!PyErr_Occurred()); - if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { - return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); - } else { - return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); - } -} -#endif - -/* PyObjectCallOneArg */ -#if CYTHON_COMPILING_IN_CPYTHON -static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_New(1); - if (unlikely(!args)) return NULL; - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 0, arg); - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, &arg, 1); - } -#endif - if (likely(PyCFunction_Check(func))) { - if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { - return __Pyx_PyObject_CallMethO(func, arg); -#if CYTHON_FAST_PYCCALL - } else if (__Pyx_PyFastCFunction_Check(func)) { - return __Pyx_PyCFunction_FastCall(func, &arg, 1); -#endif - } - } - return __Pyx__PyObject_CallOneArg(func, arg); -} -#else -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_Pack(1, arg); - if (unlikely(!args)) return NULL; - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -#endif - -/* PyObjectSetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_setattro)) - return tp->tp_setattro(obj, attr_name, value); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_setattr)) - return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); -#endif - return PyObject_SetAttr(obj, attr_name, value); -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args, *result = NULL; - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyFunction_FastCall(function, args, 2); - } - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyCFunction_FastCall(function, args, 2); - } - #endif - args = PyTuple_New(2); - if (unlikely(!args)) goto done; - Py_INCREF(arg1); - PyTuple_SET_ITEM(args, 0, arg1); - Py_INCREF(arg2); - PyTuple_SET_ITEM(args, 1, arg2); - Py_INCREF(function); - result = __Pyx_PyObject_Call(function, args, NULL); - Py_DECREF(args); - Py_DECREF(function); -done: - return result; -} - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - #endif - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -#endif - -/* GetException */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type, *local_value, *local_tb; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, - CYTHON_UNUSED PyObject *cause) { - __Pyx_PyThreadState_declare - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { -#if CYTHON_COMPILING_IN_PYPY - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#else - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* PyIntCompare */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { - if (op1 == op2) { - Py_RETURN_TRUE; - } - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - int unequal; - unsigned long uintval; - Py_ssize_t size = Py_SIZE(op1); - const digit* digits = ((PyLongObject*)op1)->ob_digit; - if (intval == 0) { - if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } else if (intval < 0) { - if (size >= 0) - Py_RETURN_FALSE; - intval = -intval; - size = -size; - } else { - if (size <= 0) - Py_RETURN_FALSE; - } - uintval = (unsigned long) intval; -#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 4)) { - unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 3)) { - unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 2)) { - unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 1)) { - unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif - unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); - if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - return ( - PyObject_RichCompare(op1, op2, Py_EQ)); -} - -/* GetAttr */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { -#if CYTHON_USE_TYPE_SLOTS -#if PY_MAJOR_VERSION >= 3 - if (likely(PyUnicode_Check(n))) -#else - if (likely(PyString_Check(n))) -#endif - return __Pyx_PyObject_GetAttrStr(o, n); -#endif - return PyObject_GetAttr(o, n); -} - -/* HasAttr */ -static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { - PyObject *r; - if (unlikely(!__Pyx_PyBaseString_Check(n))) { - PyErr_SetString(PyExc_TypeError, - "hasattr(): attribute name must be string"); - return -1; - } - r = __Pyx_GetAttr(o, n); - if (unlikely(!r)) { - PyErr_Clear(); - return 0; - } else { - Py_DECREF(r); - return 1; - } -} - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; icurexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; - if (unlikely(PyTuple_Check(err))) - return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); -} -#endif - -/* GetAttr3 */ -static PyObject *__Pyx_GetAttr3Default(PyObject *d) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - return NULL; - __Pyx_PyErr_Clear(); - Py_INCREF(d); - return d; -} -static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) { - PyObject *r = __Pyx_GetAttr(o, n); - return (likely(r)) ? r : __Pyx_GetAttr3Default(d); -} - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* FastTypeChecks */ -#if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = a->tp_base; - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; - if (!res) { - res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } - return res; -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; iexc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* FetchCommonType */ -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* fake_module; - PyTypeObject* cached_type = NULL; - fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); - if (!fake_module) return NULL; - Py_INCREF(fake_module); - cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); - if (cached_type) { - if (!PyType_Check((PyObject*)cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", - type->tp_name); - goto bad; - } - if (cached_type->tp_basicsize != type->tp_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - type->tp_name); - goto bad; - } - } else { - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; - } -done: - Py_DECREF(fake_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} - -/* CythonFunctionShared */ -#include -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure) -{ - if (unlikely(op->func_doc == NULL)) { - if (op->func.m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(op->func.m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp = op->func_doc; - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - op->func_doc = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - if (unlikely(op->func_name == NULL)) { -#if PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(op->func.m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - tmp = op->func_name; - Py_INCREF(value); - op->func_name = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - tmp = op->func_qualname; - Py_INCREF(value); - op->func_qualname = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure) -{ - PyObject *self; - self = m->func_closure; - if (self == NULL) - self = Py_None; - Py_INCREF(self); - return self; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - tmp = op->func_dict; - Py_INCREF(value); - op->func_dict = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value) { - value = Py_None; - } else if (value != Py_None && !PyTuple_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - Py_INCREF(value); - tmp = op->defaults_tuple; - op->defaults_tuple = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->defaults_tuple; - if (unlikely(!result)) { - if (op->defaults_getter) { - if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value) { - value = Py_None; - } else if (value != Py_None && !PyDict_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - Py_INCREF(value); - tmp = op->defaults_kwdict; - op->defaults_kwdict = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->defaults_kwdict; - if (unlikely(!result)) { - if (op->defaults_getter) { - if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value || value == Py_None) { - value = NULL; - } else if (!PyDict_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - tmp = op->func_annotations; - op->func_annotations = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->func_annotations; - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0}, - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) -{ -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(m->func.m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - if (unlikely(op == NULL)) - return NULL; - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; - op->func.m_ml = ml; - op->func.m_self = (PyObject *) op; - Py_XINCREF(closure); - op->func_closure = closure; - Py_XINCREF(module); - op->func.m_module = module; - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; - op->func_classobj = NULL; - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); - Py_CLEAR(m->func.m_module); - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); - Py_CLEAR(m->func_classobj); - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - PyObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); - Py_VISIT(m->func.m_module); - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); - Py_VISIT(m->func_classobj); - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) -{ -#if PY_MAJOR_VERSION < 3 - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { - Py_INCREF(func); - return func; - } - if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { - if (type == NULL) - type = (PyObject *)(Py_TYPE(obj)); - return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); - } - if (obj == Py_None) - obj = NULL; -#endif - return __Pyx_PyMethod_New(func, obj, type); -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - Py_ssize_t size; - switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { - size = PyTuple_GET_SIZE(arg); - if (likely(size == 0)) - return (*meth)(self, NULL); - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { - size = PyTuple_GET_SIZE(arg); - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags in " - "__Pyx_CyFunction_Call. METH_OLDARGS is no " - "longer supported!"); - return NULL; - } - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; - argc = PyTuple_GET_SIZE(args); - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, - 0, - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_CyFunction_descr_get, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, -#endif -}; -static int __pyx_CyFunction_init(void) { - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* KeywordStringCheck */ -static int __Pyx_CheckKeywordStrings( - PyObject *kwdict, - const char* function_name, - int kw_allowed) -{ - PyObject* key = 0; - Py_ssize_t pos = 0; -#if CYTHON_COMPILING_IN_PYPY - if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) - goto invalid_keyword; - return 1; -#else - while (PyDict_Next(kwdict, &pos, &key, 0)) { - #if PY_MAJOR_VERSION < 3 - if (unlikely(!PyString_Check(key))) - #endif - if (unlikely(!PyUnicode_Check(key))) - goto invalid_keyword_type; - } - if ((!kw_allowed) && unlikely(key)) - goto invalid_keyword; - return 1; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - return 0; -#endif -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif - return 0; -} - -/* WriteUnraisableException */ -static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, - CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename, - int full_traceback, CYTHON_UNUSED int nogil) { - PyObject *old_exc, *old_val, *old_tb; - PyObject *ctx; - __Pyx_PyThreadState_declare -#ifdef WITH_THREAD - PyGILState_STATE state; - if (nogil) - state = PyGILState_Ensure(); - else state = (PyGILState_STATE)0; -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); - if (full_traceback) { - Py_XINCREF(old_exc); - Py_XINCREF(old_val); - Py_XINCREF(old_tb); - __Pyx_ErrRestore(old_exc, old_val, old_tb); - PyErr_PrintEx(1); - } - #if PY_MAJOR_VERSION < 3 - ctx = PyString_FromString(name); - #else - ctx = PyUnicode_FromString(name); - #endif - __Pyx_ErrRestore(old_exc, old_val, old_tb); - if (!ctx) { - PyErr_WriteUnraisable(Py_None); - } else { - PyErr_WriteUnraisable(ctx); - Py_DECREF(ctx); - } -#ifdef WITH_THREAD - if (nogil) - PyGILState_Release(state); -#endif -} - -/* GetItemInt */ -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return m->sq_item(o, i); - } - } -#else - if (is_list || PySequence_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - x = (long)((unsigned long)a + b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - if (likely(__Pyx_sst_abs(size) <= 1)) { - a = likely(size) ? digits[0] : 0; - if (size == -1) a = -a; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - double result; - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* SliceObject */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, - Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, - int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { -#if CYTHON_USE_TYPE_SLOTS - PyMappingMethods* mp; -#if PY_MAJOR_VERSION < 3 - PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; - if (likely(ms && ms->sq_slice)) { - if (!has_cstart) { - if (_py_start && (*_py_start != Py_None)) { - cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); - if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstart = 0; - } - if (!has_cstop) { - if (_py_stop && (*_py_stop != Py_None)) { - cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); - if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstop = PY_SSIZE_T_MAX; - } - if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { - Py_ssize_t l = ms->sq_length(obj); - if (likely(l >= 0)) { - if (cstop < 0) { - cstop += l; - if (cstop < 0) cstop = 0; - } - if (cstart < 0) { - cstart += l; - if (cstart < 0) cstart = 0; - } - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - goto bad; - PyErr_Clear(); - } - } - return ms->sq_slice(obj, cstart, cstop); - } -#endif - mp = Py_TYPE(obj)->tp_as_mapping; - if (likely(mp && mp->mp_subscript)) -#endif - { - PyObject* result; - PyObject *py_slice, *py_start, *py_stop; - if (_py_slice) { - py_slice = *_py_slice; - } else { - PyObject* owned_start = NULL; - PyObject* owned_stop = NULL; - if (_py_start) { - py_start = *_py_start; - } else { - if (has_cstart) { - owned_start = py_start = PyInt_FromSsize_t(cstart); - if (unlikely(!py_start)) goto bad; - } else - py_start = Py_None; - } - if (_py_stop) { - py_stop = *_py_stop; - } else { - if (has_cstop) { - owned_stop = py_stop = PyInt_FromSsize_t(cstop); - if (unlikely(!py_stop)) { - Py_XDECREF(owned_start); - goto bad; - } - } else - py_stop = Py_None; - } - py_slice = PySlice_New(py_start, py_stop, Py_None); - Py_XDECREF(owned_start); - Py_XDECREF(owned_stop); - if (unlikely(!py_slice)) goto bad; - } -#if CYTHON_USE_TYPE_SLOTS - result = mp->mp_subscript(obj, py_slice); -#else - result = PyObject_GetItem(obj, py_slice); -#endif - if (!_py_slice) { - Py_DECREF(py_slice); - } - return result; - } - PyErr_Format(PyExc_TypeError, - "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); -bad: - return NULL; -} - -/* PyObject_GenericGetAttrNoDict */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'%.50s' object has no attribute '%U'", - tp->tp_name, attr_name); -#else - "'%.50s' object has no attribute '%.400s'", - tp->tp_name, PyString_AS_STRING(attr_name)); -#endif - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* PyObject_GenericGetAttr */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { - if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { - return PyObject_GenericGetAttr(obj, attr_name); - } - return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError */ -static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -} - -/* SetupReduce */ -static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { - int ret; - PyObject *name_attr; - name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); - if (likely(name_attr)) { - ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); - } else { - ret = -1; - } - if (unlikely(ret < 0)) { - PyErr_Clear(); - ret = 0; - } - Py_XDECREF(name_attr); - return ret; -} -static int __Pyx_setup_reduce(PyObject* type_obj) { - int ret = 0; - PyObject *object_reduce = NULL; - PyObject *object_getstate = NULL; - PyObject *object_reduce_ex = NULL; - PyObject *reduce = NULL; - PyObject *reduce_ex = NULL; - PyObject *reduce_cython = NULL; - PyObject *setstate = NULL; - PyObject *setstate_cython = NULL; - PyObject *getstate = NULL; -#if CYTHON_USE_PYTYPE_LOOKUP - getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate); -#else - getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate); - if (!getstate && PyErr_Occurred()) { - goto __PYX_BAD; - } -#endif - if (getstate) { -#if CYTHON_USE_PYTYPE_LOOKUP - object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate); -#else - object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate); - if (!object_getstate && PyErr_Occurred()) { - goto __PYX_BAD; - } -#endif - if (object_getstate != getstate) { - goto __PYX_GOOD; - } - } -#if CYTHON_USE_PYTYPE_LOOKUP - object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; -#else - object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; -#endif - reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD; - if (reduce_ex == object_reduce_ex) { -#if CYTHON_USE_PYTYPE_LOOKUP - object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; -#else - object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; -#endif - reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD; - if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { - reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython); - if (likely(reduce_cython)) { - ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - } else if (reduce == object_reduce || PyErr_Occurred()) { - goto __PYX_BAD; - } - setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); - if (!setstate) PyErr_Clear(); - if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { - setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython); - if (likely(setstate_cython)) { - ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - } else if (!setstate || PyErr_Occurred()) { - goto __PYX_BAD; - } - } - PyType_Modified((PyTypeObject*)type_obj); - } - } - goto __PYX_GOOD; -__PYX_BAD: - if (!PyErr_Occurred()) - PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); - ret = -1; -__PYX_GOOD: -#if !CYTHON_USE_PYTYPE_LOOKUP - Py_XDECREF(object_reduce); - Py_XDECREF(object_reduce_ex); - Py_XDECREF(object_getstate); - Py_XDECREF(getstate); -#endif - Py_XDECREF(reduce); - Py_XDECREF(reduce_ex); - Py_XDECREF(reduce_cython); - Py_XDECREF(setstate); - Py_XDECREF(setstate_cython); - return ret; -} - -/* TypeImport */ -#ifndef __PYX_HAVE_RT_ImportType -#define __PYX_HAVE_RT_ImportType -static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, - size_t size, enum __Pyx_ImportType_CheckSize check_size) -{ - PyObject *result = 0; - char warning[200]; - Py_ssize_t basicsize; -#ifdef Py_LIMITED_API - PyObject *py_basicsize; -#endif - result = PyObject_GetAttrString(module, class_name); - if (!result) - goto bad; - if (!PyType_Check(result)) { - PyErr_Format(PyExc_TypeError, - "%.200s.%.200s is not a type object", - module_name, class_name); - goto bad; - } -#ifndef Py_LIMITED_API - basicsize = ((PyTypeObject *)result)->tp_basicsize; -#else - py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); - if (!py_basicsize) - goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) - goto bad; -#endif - if ((size_t)basicsize < size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - goto bad; - } - if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - goto bad; - } - else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - } - return (PyTypeObject *)result; -bad: - Py_XDECREF(result); - return NULL; -} -#endif - -/* Import */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *empty_list = 0; - PyObject *module = 0; - PyObject *global_dict = 0; - PyObject *empty_dict = 0; - PyObject *list; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (!py_import) - goto bad; - #endif - if (from_list) - list = from_list; - else { - empty_list = PyList_New(0); - if (!empty_list) - goto bad; - list = empty_list; - } - global_dict = PyModule_GetDict(__pyx_m); - if (!global_dict) - goto bad; - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, 1); - if (!module) { - if (!PyErr_ExceptionMatches(PyExc_ImportError)) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (!py_level) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, level); - #endif - } - } -bad: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - Py_XDECREF(empty_list); - Py_XDECREF(empty_dict); - return module; -} - -/* CalculateMetaclass */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { - Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases); - for (i=0; i < nbases; i++) { - PyTypeObject *tmptype; - PyObject *tmp = PyTuple_GET_ITEM(bases, i); - tmptype = Py_TYPE(tmp); -#if PY_MAJOR_VERSION < 3 - if (tmptype == &PyClass_Type) - continue; -#endif - if (!metaclass) { - metaclass = tmptype; - continue; - } - if (PyType_IsSubtype(metaclass, tmptype)) - continue; - if (PyType_IsSubtype(tmptype, metaclass)) { - metaclass = tmptype; - continue; - } - PyErr_SetString(PyExc_TypeError, - "metaclass conflict: " - "the metaclass of a derived class " - "must be a (non-strict) subclass " - "of the metaclasses of all its bases"); - return NULL; - } - if (!metaclass) { -#if PY_MAJOR_VERSION < 3 - metaclass = &PyClass_Type; -#else - metaclass = &PyType_Type; -#endif - } - Py_INCREF((PyObject*) metaclass); - return (PyObject*) metaclass; -} - -/* Py3ClassCreate */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, - PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { - PyObject *ns; - if (metaclass) { - PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare); - if (prep) { - PyObject *pargs = PyTuple_Pack(2, name, bases); - if (unlikely(!pargs)) { - Py_DECREF(prep); - return NULL; - } - ns = PyObject_Call(prep, pargs, mkw); - Py_DECREF(prep); - Py_DECREF(pargs); - } else { - if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError))) - return NULL; - PyErr_Clear(); - ns = PyDict_New(); - } - } else { - ns = PyDict_New(); - } - if (unlikely(!ns)) - return NULL; - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad; - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad; - if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad; - return ns; -bad: - Py_DECREF(ns); - return NULL; -} -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, - PyObject *dict, PyObject *mkw, - int calculate_metaclass, int allow_py2_metaclass) { - PyObject *result, *margs; - PyObject *owned_metaclass = NULL; - if (allow_py2_metaclass) { - owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass); - if (owned_metaclass) { - metaclass = owned_metaclass; - } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { - PyErr_Clear(); - } else { - return NULL; - } - } - if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { - metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); - Py_XDECREF(owned_metaclass); - if (unlikely(!metaclass)) - return NULL; - owned_metaclass = metaclass; - } - margs = PyTuple_Pack(3, name, bases, dict); - if (unlikely(!margs)) { - result = NULL; - } else { - result = PyObject_Call(metaclass, margs, mkw); - Py_DECREF(margs); - } - Py_XDECREF(owned_metaclass); - return result; -} - -/* CLineInTraceback */ -#ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} - -/* AddTraceback */ -#include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} - -/* CIntFromPyVerify */ -#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(int) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(int) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int), - little, !is_unsigned); - } -} - -/* CIntFromPy */ -static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const size_t neg_one = (size_t) -1, const_zero = (size_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(size_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (size_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (size_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0]) - case 2: - if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) { - return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) { - return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) >= 4 * PyLong_SHIFT) { - return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (size_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(size_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (size_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, +digits[0]) - case -2: - if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { - return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { - return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { - return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { - return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { - return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { - return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(size_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - size_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (size_t) -1; - } - } else { - size_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (size_t) -1; - val = __Pyx_PyInt_As_size_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to size_t"); - return (size_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to size_t"); - return (size_t) -1; -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); - } -} - -/* CIntFromPy */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(int) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(int) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) - case -2: - if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } -#endif - if (sizeof(int) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - int val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (int) -1; - } - } else { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* CIntFromPy */ -static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(uint32_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(uint32_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (uint32_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint32_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, digits[0]) - case 2: - if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) >= 2 * PyLong_SHIFT) { - return (uint32_t) (((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) >= 3 * PyLong_SHIFT) { - return (uint32_t) (((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) >= 4 * PyLong_SHIFT) { - return (uint32_t) (((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (uint32_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(uint32_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint32_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(uint32_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, +digits[0]) - case -2: - if (8 * sizeof(uint32_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { - return (uint32_t) (((uint32_t)-1)*(((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { - return (uint32_t) ((((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { - return (uint32_t) (((uint32_t)-1)*(((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { - return (uint32_t) ((((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) { - return (uint32_t) (((uint32_t)-1)*(((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) { - return (uint32_t) ((((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(uint32_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint32_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint32_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - uint32_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (uint32_t) -1; - } - } else { - uint32_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (uint32_t) -1; - val = __Pyx_PyInt_As_uint32_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to uint32_t"); - return (uint32_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to uint32_t"); - return (uint32_t) -1; -} - -/* CIntFromPy */ -static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(unsigned int) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(unsigned int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (unsigned int) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (unsigned int) 0; - case 1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, digits[0]) - case 2: - if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT) { - return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT) { - return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT) { - return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (unsigned int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(unsigned int) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (unsigned int) 0; - case -1: __PYX_VERIFY_RETURN_INT(unsigned int, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(unsigned int, digit, +digits[0]) - case -2: - if (8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { - return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(unsigned int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { - return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { - return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(unsigned int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { - return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) { - return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(unsigned int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT) { - return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]))); - } - } - break; - } -#endif - if (sizeof(unsigned int) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - unsigned int val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (unsigned int) -1; - } - } else { - unsigned int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (unsigned int) -1; - val = __Pyx_PyInt_As_unsigned_int(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned int"); - return (unsigned int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned int"); - return (unsigned int) -1; -} - -/* CIntFromPy */ -static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint16_t neg_one = (uint16_t) -1, const_zero = (uint16_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(uint16_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(uint16_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (uint16_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint16_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, digits[0]) - case 2: - if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) >= 2 * PyLong_SHIFT) { - return (uint16_t) (((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) >= 3 * PyLong_SHIFT) { - return (uint16_t) (((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) >= 4 * PyLong_SHIFT) { - return (uint16_t) (((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (uint16_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(uint16_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint16_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint16_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(uint16_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, +digits[0]) - case -2: - if (8 * sizeof(uint16_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { - return (uint16_t) (((uint16_t)-1)*(((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { - return (uint16_t) ((((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { - return (uint16_t) (((uint16_t)-1)*(((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { - return (uint16_t) ((((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) { - return (uint16_t) (((uint16_t)-1)*(((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) { - return (uint16_t) ((((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(uint16_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint16_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint16_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint16_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - uint16_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (uint16_t) -1; - } - } else { - uint16_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (uint16_t) -1; - val = __Pyx_PyInt_As_uint16_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to uint16_t"); - return (uint16_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to uint16_t"); - return (uint16_t) -1; -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(uint32_t) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(uint32_t) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(uint32_t) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(uint32_t), - little, !is_unsigned); - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(uint64_t) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(uint64_t) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(uint64_t) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(uint64_t), - little, !is_unsigned); - } -} - -/* CIntFromPy */ -static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(int64_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(int64_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int64_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int64_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, digits[0]) - case 2: - if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) >= 2 * PyLong_SHIFT) { - return (int64_t) (((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) >= 3 * PyLong_SHIFT) { - return (int64_t) (((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) >= 4 * PyLong_SHIFT) { - return (int64_t) (((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int64_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(int64_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int64_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(int64_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, +digits[0]) - case -2: - if (8 * sizeof(int64_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { - return (int64_t) (((int64_t)-1)*(((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { - return (int64_t) ((((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { - return (int64_t) (((int64_t)-1)*(((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { - return (int64_t) ((((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) { - return (int64_t) (((int64_t)-1)*(((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) { - return (int64_t) ((((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(int64_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(int64_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int64_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - int64_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (int64_t) -1; - } - } else { - int64_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int64_t) -1; - val = __Pyx_PyInt_As_int64_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int64_t"); - return (int64_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int64_t"); - return (int64_t) -1; -} - -/* CIntFromPy */ -static CYTHON_INLINE uint8_t __Pyx_PyInt_As_uint8_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint8_t neg_one = (uint8_t) -1, const_zero = (uint8_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(uint8_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(uint8_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (uint8_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint8_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(uint8_t, digit, digits[0]) - case 2: - if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) >= 2 * PyLong_SHIFT) { - return (uint8_t) (((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) >= 3 * PyLong_SHIFT) { - return (uint8_t) (((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) >= 4 * PyLong_SHIFT) { - return (uint8_t) (((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (uint8_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(uint8_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint8_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint8_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint8_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(uint8_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(uint8_t, digit, +digits[0]) - case -2: - if (8 * sizeof(uint8_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { - return (uint8_t) (((uint8_t)-1)*(((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(uint8_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { - return (uint8_t) ((((((uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(uint8_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { - return (uint8_t) (((uint8_t)-1)*(((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(uint8_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { - return (uint8_t) ((((((((uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(uint8_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) - 1 > 4 * PyLong_SHIFT) { - return (uint8_t) (((uint8_t)-1)*(((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(uint8_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint8_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint8_t) - 1 > 4 * PyLong_SHIFT) { - return (uint8_t) ((((((((((uint8_t)digits[3]) << PyLong_SHIFT) | (uint8_t)digits[2]) << PyLong_SHIFT) | (uint8_t)digits[1]) << PyLong_SHIFT) | (uint8_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(uint8_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint8_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint8_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint8_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - uint8_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (uint8_t) -1; - } - } else { - uint8_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (uint8_t) -1; - val = __Pyx_PyInt_As_uint8_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to uint8_t"); - return (uint8_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to uint8_t"); - return (uint8_t) -1; -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(unsigned int) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(unsigned int) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(unsigned int) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(unsigned int), - little, !is_unsigned); - } -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(int64_t) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(int64_t) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(int64_t) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int64_t), - little, !is_unsigned); - } -} - -/* CIntFromPy */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(long) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(long) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) - case -2: - if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } -#endif - if (sizeof(long) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - long val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (long) -1; - } - } else { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* PyObjectGetMethod */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { - PyObject *attr; -#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP - PyTypeObject *tp = Py_TYPE(obj); - PyObject *descr; - descrgetfunc f = NULL; - PyObject **dictptr, *dict; - int meth_found = 0; - assert (*method == NULL); - if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; - } - if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { - return 0; - } - descr = _PyType_Lookup(tp, name); - if (likely(descr != NULL)) { - Py_INCREF(descr); -#if PY_MAJOR_VERSION >= 3 - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) - #endif -#else - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr))) - #endif -#endif - { - meth_found = 1; - } else { - f = Py_TYPE(descr)->tp_descr_get; - if (f != NULL && PyDescr_IsData(descr)) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - } - } - dictptr = _PyObject_GetDictPtr(obj); - if (dictptr != NULL && (dict = *dictptr) != NULL) { - Py_INCREF(dict); - attr = __Pyx_PyDict_GetItemStr(dict, name); - if (attr != NULL) { - Py_INCREF(attr); - Py_DECREF(dict); - Py_XDECREF(descr); - goto try_unpack; - } - Py_DECREF(dict); - } - if (meth_found) { - *method = descr; - return 1; - } - if (f != NULL) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - if (descr != NULL) { - *method = descr; - return 0; - } - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'%.50s' object has no attribute '%U'", - tp->tp_name, name); -#else - "'%.50s' object has no attribute '%.400s'", - tp->tp_name, PyString_AS_STRING(name)); -#endif - return 0; -#else - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; -#endif -try_unpack: -#if CYTHON_UNPACK_METHODS - if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { - PyObject *function = PyMethod_GET_FUNCTION(attr); - Py_INCREF(function); - Py_DECREF(attr); - *method = function; - return 1; - } -#endif - *method = attr; - return 0; -} - -/* PyObjectCallMethod1 */ -static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { - PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); - Py_DECREF(method); - return result; -} -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { - PyObject *method = NULL, *result; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_Call2Args(method, obj, arg); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) return NULL; - return __Pyx__PyObject_CallMethod1(method, arg); -} - -/* CoroutineBase */ -#include -#include -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) -static int __Pyx_PyGen__FetchStopIterationValue(CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject **pvalue) { - PyObject *et, *ev, *tb; - PyObject *value = NULL; - __Pyx_ErrFetch(&et, &ev, &tb); - if (!et) { - Py_XDECREF(tb); - Py_XDECREF(ev); - Py_INCREF(Py_None); - *pvalue = Py_None; - return 0; - } - if (likely(et == PyExc_StopIteration)) { - if (!ev) { - Py_INCREF(Py_None); - value = Py_None; - } -#if PY_VERSION_HEX >= 0x030300A0 - else if (Py_TYPE(ev) == (PyTypeObject*)PyExc_StopIteration) { - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); - } -#endif - else if (unlikely(PyTuple_Check(ev))) { - if (PyTuple_GET_SIZE(ev) >= 1) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - value = PyTuple_GET_ITEM(ev, 0); - Py_INCREF(value); -#else - value = PySequence_ITEM(ev, 0); -#endif - } else { - Py_INCREF(Py_None); - value = Py_None; - } - Py_DECREF(ev); - } - else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { - value = ev; - } - if (likely(value)) { - Py_XDECREF(tb); - Py_DECREF(et); - *pvalue = value; - return 0; - } - } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - PyErr_NormalizeException(&et, &ev, &tb); - if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - Py_XDECREF(tb); - Py_DECREF(et); -#if PY_VERSION_HEX >= 0x030300A0 - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); -#else - { - PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); - Py_DECREF(ev); - if (likely(args)) { - value = PySequence_GetItem(args, 0); - Py_DECREF(args); - } - if (unlikely(!value)) { - __Pyx_ErrRestore(NULL, NULL, NULL); - Py_INCREF(Py_None); - value = Py_None; - } - } -#endif - *pvalue = value; - return 0; -} -static CYTHON_INLINE -void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { - PyObject *t, *v, *tb; - t = exc_state->exc_type; - v = exc_state->exc_value; - tb = exc_state->exc_traceback; - exc_state->exc_type = NULL; - exc_state->exc_value = NULL; - exc_state->exc_traceback = NULL; - Py_XDECREF(t); - Py_XDECREF(v); - Py_XDECREF(tb); -} -#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyRunningError(CYTHON_UNUSED __pyx_CoroutineObject *gen) { - const char *msg; - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { - msg = "coroutine already executing"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { - msg = "async generator already executing"; - #endif - } else { - msg = "generator already executing"; - } - PyErr_SetString(PyExc_ValueError, msg); -} -#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_NotStartedError(CYTHON_UNUSED PyObject *gen) { - const char *msg; - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(gen)) { - msg = "can't send non-None value to a just-started coroutine"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(gen)) { - msg = "can't send non-None value to a just-started async generator"; - #endif - } else { - msg = "can't send non-None value to a just-started generator"; - } - PyErr_SetString(PyExc_TypeError, msg); -} -#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyTerminatedError(CYTHON_UNUSED PyObject *gen, PyObject *value, CYTHON_UNUSED int closing) { - #ifdef __Pyx_Coroutine_USED - if (!closing && __Pyx_Coroutine_Check(gen)) { - PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); - } else - #endif - if (value) { - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); - else - #endif - PyErr_SetNone(PyExc_StopIteration); - } -} -static -PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { - __Pyx_PyThreadState_declare - PyThreadState *tstate; - __Pyx_ExcInfoStruct *exc_state; - PyObject *retval; - assert(!self->is_running); - if (unlikely(self->resume_label == 0)) { - if (unlikely(value && value != Py_None)) { - return __Pyx_Coroutine_NotStartedError((PyObject*)self); - } - } - if (unlikely(self->resume_label == -1)) { - return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); - } -#if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - tstate = __pyx_tstate; -#else - tstate = __Pyx_PyThreadState_Current; -#endif - exc_state = &self->gi_exc_state; - if (exc_state->exc_type) { - #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON - #else - if (exc_state->exc_traceback) { - PyTracebackObject *tb = (PyTracebackObject *) exc_state->exc_traceback; - PyFrameObject *f = tb->tb_frame; - assert(f->f_back == NULL); - #if PY_VERSION_HEX >= 0x030B00A1 - f->f_back = PyThreadState_GetFrame(tstate); - #else - Py_XINCREF(tstate->frame); - f->f_back = tstate->frame; - #endif - } - #endif - } -#if CYTHON_USE_EXC_INFO_STACK - exc_state->previous_item = tstate->exc_info; - tstate->exc_info = exc_state; -#else - if (exc_state->exc_type) { - __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } else { - __Pyx_Coroutine_ExceptionClear(exc_state); - __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } -#endif - self->is_running = 1; - retval = self->body((PyObject *) self, tstate, value); - self->is_running = 0; -#if CYTHON_USE_EXC_INFO_STACK - exc_state = &self->gi_exc_state; - tstate->exc_info = exc_state->previous_item; - exc_state->previous_item = NULL; - __Pyx_Coroutine_ResetFrameBackpointer(exc_state); -#endif - return retval; -} -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { - PyObject *exc_tb = exc_state->exc_traceback; - if (likely(exc_tb)) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON -#else - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - Py_CLEAR(f->f_back); -#endif - } -} -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_MethodReturn(CYTHON_UNUSED PyObject* gen, PyObject *retval) { - if (unlikely(!retval)) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (!__Pyx_PyErr_Occurred()) { - PyObject *exc = PyExc_StopIteration; - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - exc = __Pyx_PyExc_StopAsyncIteration; - #endif - __Pyx_PyErr_SetNone(exc); - } - } - return retval; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) -static CYTHON_INLINE -PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) { -#if PY_VERSION_HEX <= 0x030A00A1 - return _PyGen_Send(gen, arg); -#else - PyObject *result; - if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { - if (PyAsyncGen_CheckExact(gen)) { - assert(result == Py_None); - PyErr_SetNone(PyExc_StopAsyncIteration); - } - else if (result == Py_None) { - PyErr_SetNone(PyExc_StopIteration); - } - else { - _PyGen_SetStopIterationValue(result); - } - Py_CLEAR(result); - } - return result; -#endif -} -#endif -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { - PyObject *ret; - PyObject *val = NULL; - __Pyx_Coroutine_Undelegate(gen); - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); - ret = __Pyx_Coroutine_SendEx(gen, val, 0); - Py_XDECREF(val); - return ret; -} -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { - PyObject *retval; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - ret = __Pyx_async_gen_asend_send(yf, value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyCoro_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - { - if (value == Py_None) - ret = Py_TYPE(yf)->tp_iternext(yf); - else - ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); - } - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - retval = __Pyx_Coroutine_FinishDelegation(gen); - } else { - retval = __Pyx_Coroutine_SendEx(gen, value, 0); - } - return __Pyx_Coroutine_MethodReturn(self, retval); -} -static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { - PyObject *retval = NULL; - int err = 0; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - if (__Pyx_CoroutineAwait_CheckExact(yf)) { - retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - retval = __Pyx_async_gen_asend_close(yf, NULL); - } else - if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { - retval = __Pyx_async_gen_athrow_close(yf, NULL); - } else - #endif - { - PyObject *meth; - gen->is_running = 1; - meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_close); - if (unlikely(!meth)) { - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_WriteUnraisable(yf); - } - PyErr_Clear(); - } else { - retval = PyObject_CallFunction(meth, NULL); - Py_DECREF(meth); - if (!retval) - err = -1; - } - gen->is_running = 0; - } - Py_XDECREF(retval); - return err; -} -static PyObject *__Pyx_Generator_Next(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Generator_Next(yf); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, Py_None); - } else - #endif - ret = Py_TYPE(yf)->tp_iternext(yf); - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - return __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_SendEx(gen, Py_None, 0); -} -static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, CYTHON_UNUSED PyObject *arg) { - return __Pyx_Coroutine_Close(self); -} -static PyObject *__Pyx_Coroutine_Close(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *retval, *raised_exception; - PyObject *yf = gen->yieldfrom; - int err = 0; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - Py_INCREF(yf); - err = __Pyx_Coroutine_CloseIter(gen, yf); - __Pyx_Coroutine_Undelegate(gen); - Py_DECREF(yf); - } - if (err == 0) - PyErr_SetNone(PyExc_GeneratorExit); - retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); - if (unlikely(retval)) { - const char *msg; - Py_DECREF(retval); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(self)) { - msg = "coroutine ignored GeneratorExit"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(self)) { -#if PY_VERSION_HEX < 0x03060000 - msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; -#else - msg = "async generator ignored GeneratorExit"; -#endif - #endif - } else { - msg = "generator ignored GeneratorExit"; - } - PyErr_SetString(PyExc_RuntimeError, msg); - return NULL; - } - raised_exception = PyErr_Occurred(); - if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { - if (raised_exception) PyErr_Clear(); - Py_INCREF(Py_None); - return Py_None; - } - return NULL; -} -static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, - PyObject *args, int close_on_genexit) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - Py_INCREF(yf); - if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { - int err = __Pyx_Coroutine_CloseIter(gen, yf); - Py_DECREF(yf); - __Pyx_Coroutine_Undelegate(gen); - if (err < 0) - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); - goto throw_here; - } - gen->is_running = 1; - if (0 - #ifdef __Pyx_Generator_USED - || __Pyx_Generator_CheckExact(yf) - #endif - #ifdef __Pyx_Coroutine_USED - || __Pyx_Coroutine_Check(yf) - #endif - ) { - ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { - ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); - #endif - } else { - PyObject *meth = __Pyx_PyObject_GetAttrStr(yf, __pyx_n_s_throw); - if (unlikely(!meth)) { - Py_DECREF(yf); - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) { - gen->is_running = 0; - return NULL; - } - PyErr_Clear(); - __Pyx_Coroutine_Undelegate(gen); - gen->is_running = 0; - goto throw_here; - } - if (likely(args)) { - ret = PyObject_CallObject(meth, args); - } else { - ret = PyObject_CallFunctionObjArgs(meth, typ, val, tb, NULL); - } - Py_DECREF(meth); - } - gen->is_running = 0; - Py_DECREF(yf); - if (!ret) { - ret = __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_MethodReturn(self, ret); - } -throw_here: - __Pyx_Raise(typ, val, tb, NULL); - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); -} -static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { - PyObject *typ; - PyObject *val = NULL; - PyObject *tb = NULL; - if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb)) - return NULL; - return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); -} -static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { - Py_VISIT(exc_state->exc_type); - Py_VISIT(exc_state->exc_value); - Py_VISIT(exc_state->exc_traceback); - return 0; -} -static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { - Py_VISIT(gen->closure); - Py_VISIT(gen->classobj); - Py_VISIT(gen->yieldfrom); - return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); -} -static int __Pyx_Coroutine_clear(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - Py_CLEAR(gen->closure); - Py_CLEAR(gen->classobj); - Py_CLEAR(gen->yieldfrom); - __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); - } -#endif - Py_CLEAR(gen->gi_code); - Py_CLEAR(gen->gi_frame); - Py_CLEAR(gen->gi_name); - Py_CLEAR(gen->gi_qualname); - Py_CLEAR(gen->gi_modulename); - return 0; -} -static void __Pyx_Coroutine_dealloc(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject_GC_UnTrack(gen); - if (gen->gi_weakreflist != NULL) - PyObject_ClearWeakRefs(self); - if (gen->resume_label >= 0) { - PyObject_GC_Track(self); -#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE - if (PyObject_CallFinalizerFromDealloc(self)) -#else - Py_TYPE(gen)->tp_del(self); - if (Py_REFCNT(self) > 0) -#endif - { - return; - } - PyObject_GC_UnTrack(self); - } -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - /* We have to handle this case for asynchronous generators - right here, because this code has to be between UNTRACK - and GC_Del. */ - Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); - } -#endif - __Pyx_Coroutine_clear(self); - PyObject_GC_Del(gen); -} -static void __Pyx_Coroutine_del(PyObject *self) { - PyObject *error_type, *error_value, *error_traceback; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - __Pyx_PyThreadState_declare - if (gen->resume_label < 0) { - return; - } -#if !CYTHON_USE_TP_FINALIZE - assert(self->ob_refcnt == 0); - __Pyx_SET_REFCNT(self, 1); -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; - PyObject *finalizer = agen->ag_finalizer; - if (finalizer && !agen->ag_closed) { - PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); - if (unlikely(!res)) { - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); - return; - } - } -#endif - if (unlikely(gen->resume_label == 0 && !error_value)) { -#ifdef __Pyx_Coroutine_USED -#ifdef __Pyx_Generator_USED - if (!__Pyx_Generator_CheckExact(self)) -#endif - { - PyObject_GC_UnTrack(self); -#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) - if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) - PyErr_WriteUnraisable(self); -#else - {PyObject *msg; - char *cmsg; - #if CYTHON_COMPILING_IN_PYPY - msg = NULL; - cmsg = (char*) "coroutine was never awaited"; - #else - char *cname; - PyObject *qualname; - qualname = gen->gi_qualname; - cname = PyString_AS_STRING(qualname); - msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); - if (unlikely(!msg)) { - PyErr_Clear(); - cmsg = (char*) "coroutine was never awaited"; - } else { - cmsg = PyString_AS_STRING(msg); - } - #endif - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) - PyErr_WriteUnraisable(self); - Py_XDECREF(msg);} -#endif - PyObject_GC_Track(self); - } -#endif - } else { - PyObject *res = __Pyx_Coroutine_Close(self); - if (unlikely(!res)) { - if (PyErr_Occurred()) - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); -#if !CYTHON_USE_TP_FINALIZE - assert(Py_REFCNT(self) > 0); - if (--self->ob_refcnt == 0) { - return; - } - { - Py_ssize_t refcnt = Py_REFCNT(self); - _Py_NewReference(self); - __Pyx_SET_REFCNT(self, refcnt); - } -#if CYTHON_COMPILING_IN_CPYTHON - assert(PyType_IS_GC(Py_TYPE(self)) && - _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); - _Py_DEC_REFTOTAL; -#endif -#ifdef COUNT_ALLOCS - --Py_TYPE(self)->tp_frees; - --Py_TYPE(self)->tp_allocs; -#endif -#endif -} -static PyObject * -__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context) -{ - PyObject *name = self->gi_name; - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - tmp = self->gi_name; - Py_INCREF(value); - self->gi_name = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context) -{ - PyObject *name = self->gi_qualname; - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - tmp = self->gi_qualname; - Py_INCREF(value); - self->gi_qualname = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context) -{ - PyObject *frame = self->gi_frame; - if (!frame) { - if (unlikely(!self->gi_code)) { - Py_RETURN_NONE; - } - frame = (PyObject *) PyFrame_New( - PyThreadState_Get(), /*PyThreadState *tstate,*/ - (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (unlikely(!frame)) - return NULL; - self->gi_frame = frame; - } - Py_INCREF(frame); - return frame; -} -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); - if (unlikely(!gen)) - return NULL; - return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); -} -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - gen->body = body; - gen->closure = closure; - Py_XINCREF(closure); - gen->is_running = 0; - gen->resume_label = 0; - gen->classobj = NULL; - gen->yieldfrom = NULL; - gen->gi_exc_state.exc_type = NULL; - gen->gi_exc_state.exc_value = NULL; - gen->gi_exc_state.exc_traceback = NULL; -#if CYTHON_USE_EXC_INFO_STACK - gen->gi_exc_state.previous_item = NULL; -#endif - gen->gi_weakreflist = NULL; - Py_XINCREF(qualname); - gen->gi_qualname = qualname; - Py_XINCREF(name); - gen->gi_name = name; - Py_XINCREF(module_name); - gen->gi_modulename = module_name; - Py_XINCREF(code); - gen->gi_code = code; - gen->gi_frame = NULL; - PyObject_GC_Track(gen); - return gen; -} - -/* PatchModuleWithCoroutine */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - int result; - PyObject *globals, *result_obj; - globals = PyDict_New(); if (unlikely(!globals)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_coroutine_type", - #ifdef __Pyx_Coroutine_USED - (PyObject*)__pyx_CoroutineType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_generator_type", - #ifdef __Pyx_Generator_USED - (PyObject*)__pyx_GeneratorType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; - result_obj = PyRun_String(py_code, Py_file_input, globals, globals); - if (unlikely(!result_obj)) goto ignore; - Py_DECREF(result_obj); - Py_DECREF(globals); - return module; -ignore: - Py_XDECREF(globals); - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - py_code++; -#endif - return module; -} - -/* PatchGeneratorABC */ -#ifndef CYTHON_REGISTER_ABCS -#define CYTHON_REGISTER_ABCS 1 -#endif -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) -static PyObject* __Pyx_patch_abc_module(PyObject *module); -static PyObject* __Pyx_patch_abc_module(PyObject *module) { - module = __Pyx_Coroutine_patch_module( - module, "" -"if _cython_generator_type is not None:\n" -" try: Generator = _module.Generator\n" -" except AttributeError: pass\n" -" else: Generator.register(_cython_generator_type)\n" -"if _cython_coroutine_type is not None:\n" -" try: Coroutine = _module.Coroutine\n" -" except AttributeError: pass\n" -" else: Coroutine.register(_cython_coroutine_type)\n" - ); - return module; -} -#endif -static int __Pyx_patch_abc(void) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - static int abc_patched = 0; - if (CYTHON_REGISTER_ABCS && !abc_patched) { - PyObject *module; - module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); - if (!module) { - PyErr_WriteUnraisable(NULL); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, - ((PY_MAJOR_VERSION >= 3) ? - "Cython module failed to register with collections.abc module" : - "Cython module failed to register with collections module"), 1) < 0)) { - return -1; - } - } else { - module = __Pyx_patch_abc_module(module); - abc_patched = 1; - if (unlikely(!module)) - return -1; - Py_DECREF(module); - } - module = PyImport_ImportModule("backports_abc"); - if (module) { - module = __Pyx_patch_abc_module(module); - Py_XDECREF(module); - } - if (!module) { - PyErr_Clear(); - } - } -#else - if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); -#endif - return 0; -} - -/* Generator */ -static PyMethodDef __pyx_Generator_methods[] = { - {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside generator.")}, - {0, 0, 0, 0} -}; -static PyMemberDef __pyx_Generator_memberlist[] = { - {(char *) "gi_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, - {(char*) "gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, - (char*) PyDoc_STR("object being iterated by 'yield from', or None")}, - {(char*) "gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, - {0, 0, 0, 0, 0} -}; -static PyGetSetDef __pyx_Generator_getsets[] = { - {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, - (char*) PyDoc_STR("name of the generator"), 0}, - {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, - (char*) PyDoc_STR("qualified name of the generator"), 0}, - {(char *) "gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL, - (char*) PyDoc_STR("Frame of the generator"), 0}, - {0, 0, 0, 0, 0} -}; -static PyTypeObject __pyx_GeneratorType_type = { - PyVarObject_HEAD_INIT(0, 0) - "generator", - sizeof(__pyx_CoroutineObject), - 0, - (destructor) __Pyx_Coroutine_dealloc, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - 0, - (traverseproc) __Pyx_Coroutine_traverse, - 0, - 0, - offsetof(__pyx_CoroutineObject, gi_weakreflist), - 0, - (iternextfunc) __Pyx_Generator_Next, - __pyx_Generator_methods, - __pyx_Generator_memberlist, - __pyx_Generator_getsets, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if CYTHON_USE_TP_FINALIZE - 0, -#else - __Pyx_Coroutine_del, -#endif - 0, -#if CYTHON_USE_TP_FINALIZE - __Pyx_Coroutine_del, -#elif PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, -#endif -}; -static int __pyx_Generator_init(void) { - __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter; - __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type); - if (unlikely(!__pyx_GeneratorType)) { - return -1; - } - return 0; -} - -/* CheckBinaryVersion */ -static int __Pyx_check_binary_version(void) { - char ctversion[5]; - int same=1, i, found_dot; - const char* rt_from_call = Py_GetVersion(); - PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); - found_dot = 0; - for (i = 0; i < 4; i++) { - if (!ctversion[i]) { - same = (rt_from_call[i] < '0' || rt_from_call[i] > '9'); - break; - } - if (rt_from_call[i] != ctversion[i]) { - same = 0; - break; - } - } - if (!same) { - char rtversion[5] = {'\0'}; - char message[200]; - for (i=0; i<4; ++i) { - if (rt_from_call[i] == '.') { - if (found_dot) break; - found_dot = 1; - } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { - break; - } - rtversion[i] = rt_from_call[i]; - } - PyOS_snprintf(message, sizeof(message), - "compiletime version %s of module '%.100s' " - "does not match runtime version %s", - ctversion, __Pyx_MODULE_NAME, rtversion); - return PyErr_WarnEx(NULL, message, 1); - } - return 0; -} - -/* InitStrings */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION < 3 - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - #else - if (t->is_unicode | t->is_str) { - if (t->intern) { - *t->p = PyUnicode_InternFromString(t->s); - } else if (t->encoding) { - *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); - } else { - *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); - } - } else { - *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); - } - #endif - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - ++t; - } - return 0; -} - -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type %.200s). " - "The ability to return an instance of a strict subclass of int " - "is deprecated, and may be removed in a future version of Python.", - Py_TYPE(result)->tp_name)) { - Py_DECREF(result); - return NULL; - } - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type %.200s)", - type_name, type_name, Py_TYPE(result)->tp_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)b)->ob_digit; - const Py_ssize_t size = Py_SIZE(b); - if (likely(__Pyx_sst_abs(size) <= 1)) { - ival = likely(size) ? digits[0] : 0; - if (size == -1) ival = -ival; - return ival; - } else { - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -#endif /* Py_PYTHON_H */ diff --git a/indexed_gzip/indexed_gzip.cpython-36m-darwin.so b/indexed_gzip/indexed_gzip.cpython-36m-darwin.so deleted file mode 100755 index eb62e206c16b5acab40265528e7f76e5277bbc08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 377216 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­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 kCzlDVz z+j((7mmVEM@$Gn+K22Tg3sS`9vCu3Cto zwo?h*;BMc&lufVRpa%oIT?aOTx0JHH4QMH5d0{Q(EH5lk(6T}@N?KlASbZsqT3*;O z?r~Wp%(veI&qqqiBotEawEe+=X)hOZKC}l`E6#7$(d|Lz8r>l%uZ5K9Iz+Y&=lpHSRT~*5&Uu#y-I;A&Yk7cqO?Ugw zqu2=D62$ZNISHGs-$j9WjU@HGD7tINq>1!63eHW3#!Q+~j}=WnZ%bO*eqLBda^XAElb(GwOixy~tsZvrMIr1wG3IZMkJF z;iWf~w6MCd=)~!`{P7E-hOdhuUE+V(fv+$=(P~#d7OUH`3;)#Bou#7eoj+LcwnzY~ zea8ve-Hob5-ruaZ2GQTdIKcf>HwU|TI>eP+7o698 zcW{6k*#=r{-tQy?Z>-vVEDFL)m4@Uhzy6|luSrnRG>zax?(71npR>(&xm}fax2w{G zCYF`4S2tE>q%;9J58^p?t;dqdtdo(+1|1}_b<0lg<|llyqxZU6KYV*yt)F_Y-`2e| z0PKPG>UnkB<5bxm9a8J3!7TR$&*_2@9N>Hgs>_UiSp~>^s@MKx-72d=a zU#5%cryy-QpK00b{PI(Ay zq}$?2H`mi*KAT-nmm;gPi|Og2&^Kw7YoT+!oL?2E%YsU%(_FL7KMQpbP> $II^N z`L~P+MI)i?Fwhqa2B7Au^)X&zA7+wkpkE?MXzGl6cWo_!_a{xHm$@v o1q5J#@E;J7@}9DQzmzllC4*1_@`67K6n-eQ4!Y6HqSNX855L%`NdN!< diff --git a/indexed_gzip/indexed_gzip.cpython-37m-darwin.so b/indexed_gzip/indexed_gzip.cpython-37m-darwin.so deleted file mode 100755 index e046516972385dfdb2315e0ac74547279cb9afa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 458016 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σf{dxygI(ub+ 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 Z5`aMPOQsBe$RxY)$fO7XI*~5%^Ph~G_3Hot diff --git a/indexed_gzip/tests/__pycache__/__init__.cpython-36.pyc b/indexed_gzip/tests/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 0d1b219295153d6f52a7f4dc389c71841a9b9fe1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4762 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 LEACV73$F8Dqsy)% diff --git a/indexed_gzip/tests/__pycache__/__main__.cpython-36.pyc b/indexed_gzip/tests/__pycache__/__main__.cpython-36.pyc deleted file mode 100644 index 0163d6ecb73844910d3eebbacc2f106c2ad007e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 895 zcmY*XO>fjN5OqFw6Cx`0R&le$X(h7m(xnxsLP$N+LlHvSOXQ8+jkk%N+D^8M+Ed}g zFX10>kl~b=AIWbPVutb{4jK?#6&(8-tJISx_Kk{!rLO;>g2RV8JX7<4`G(*f| ze(5d!SV?6own9n3Sy)?}SA;A8S2G{ysv`HCQpVedkO*TMZph@t%fo*i zz%{>6E!XFzTJ?>Wu*r=zWIB0%w12oiC5-__DNL=XWN9fRPiv}a#Vyw+b(aB%9HR$d zWO{HkJ(^6WPd7nw2P&e|+8nu5T<@?sX_u|3%U{LfdSigV%$iMpt{c_HFfsbB;m|ai| zO%U^#UwV~43A~jZPC^#2@H3k9c%SvoeLdv8PY9y^J2dFiuO33lNh7h4j9+q=%|416 zH&R$^xv^%5@d>|Zgysg<3wMOA!cz|U#?rFnY?vg;2c^#qrdlPAqTdqy&9s>|L zM)$zT`1$^Le>56DTN}w8%n=>uPP^si8-pBym_tx7UsR%NWW5_7B(UMFck5kyws+IN zLO0QsHv{`DW_T|ecHrv(`b;862#UTTy#fB8x8%J6x@1n}>`YK8$ox!_ zBgHt$6{97clE+`|e`h&vl4b6iEQ3Fx-QV8^F?~?Ti~TKsdFJq~vIbEXWf@aBK#i0c uE@^~L>kvw`d%uSgM=i^iNFS+9Na^CkO0lNoueQK5?%pui@ZunjWA86HW(pGk diff --git a/indexed_gzip/tests/__pycache__/conftest.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/conftest.cpython-37-pytest-7.2.1.pyc deleted file mode 100644 index c6cae1b48472525e452bf561677f730b96f00d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2439 zcmb7FPj4GV6yMohuh)*_q)8~P5U_}%VnJexssz3QLT$68DZill+PHXcy zd~^1)lRPt3F8c9!q>XQ`K^%k3`7;WK!SV9V^jI)3}(l zzfmHhnRN}iJUSfr`|v)=lqMG2rg4%*sYr8qG6{Bfl@NRqJpwI1iZh<4QC0>$D80)i zOcKZzCMoQGG7^(Z2XSh>wTZAIN@${mRLNiXX7cGWfk{@3SMsK!sx8mdV$SozX4FIc#={}Bmk()0V>)|v?@A<4kh211`70FWC?t&S6YWU5E8iZu=-D62Z7rKpeNh>UcwM zi(O_77PxkOkyP@Y5^Ix6NLVHnVY_A67K}hJZ78=vT1>t{bNXOu8If4cyO1gu#Bt@D zps!@CEZUbbR%(8+V(hI~GPY9qFJUgcXc7-s48FZ;kRo2-^A4D0DhZ$5`7T7ebBEsC zC!_*}G_Op7U*_n5d-E#IPr*$IbN<0adr7d_y~(xz>oK>ZC$m<#JSBMr-^r^WKnNIWk=*ebZpa#dRFm129zlnm3dZ6R`Wg(! z^)qr(HY+b1ckXcyG5b^B=HV0V&rx0TDr(T5hg5fGcxOK3wJ9o99ZbEcPx4dR!ACwS z2a?c=-nEXl+O_?KE)MG8#Ms`s-Lvuu;_W_};kP%KwCbI$)#kNFDoS3%X3Jz5H!qAo z%##c=Wdam!@0iPXp=1K_IKdaKN|`4rFiBXmTbPgxXXxVp$(;!=y!sZpY7>MKNGYtd zrdvlMiF1( zkEU=PJDX~*_KFzI#wRM@BUuGkQ*mOkflI*Z+dgZm{p7J8OJN&?E!;9l0=YeH>+MRA n7An+oO!!%v^YKXB3Bf6XUFd8%fC?IW=!H>pvsuCGH=F+g{*Y31 diff --git a/indexed_gzip/tests/__pycache__/test_indexed_gzip.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/test_indexed_gzip.cpython-37-pytest-7.2.1.pyc deleted file mode 100644 index afb1a02b80d716063fa4891232558f5ad172946b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmZWly-ve05I!eqnuc_s6Wv&|G%tWq)$Uyo3|S&KHkH%-$xcMJmDPE;u3q&wfAzwfhW!=VpoAMbBza0c*cii260OwrX00|Q2Kh)H`|g>38eXZS3mv7Gk*(IqQIuTUiy!rc|7-=`!c9AbYsjhOe9G zT5+kOEiG4>prwemSsBeM#-p@iG^fkxSk2$UFsbOD7BdT&D`BsXC>%mV;_YXZEFSoQ*YPU-@bkBDRD%bJpvFOCC nYQNhv<5tb@Cv=&MI<0})N`#a5 diff --git a/indexed_gzip/tests/__pycache__/test_indexed_gzip_threading.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/test_indexed_gzip_threading.cpython-37-pytest-7.2.1.pyc deleted file mode 100644 index a2496f06bc79f814a260ef13d7c978a4a8fbe3a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 575 zcmY*U!BWC75KU4FZEX<{XY>=e&>wIdM(;rvIMyE`SD(iVgSB;usg_snR{9}!vKRNs33;WW8^TxsKr4U;Eu}$ zWmt6)fS~H(=&usvxUD2OY5fsSTc6>q^?iKIIxH*))esLM;MsDtJi%iY+=5B>+wBDt zX#2Gi(vZhS7DlY3%S22(3+?dDH{5at#ex@4gi%AuGc5(1oZ5uA9@8jJi1MFNfipIG zXhdm*)Ha>f8?ukiNxd;#n<>?rE5B%}_*x0WZM;v}-Y%E8W=|(n*+6f!jm<)F%7mQT zP&QS)u}IdoyJgu_NXB0{BlA~L+fcL)sL(6wR8&3L;UR4*MVY$vSVPACkyk{?tj2E~*u4N`4u+eR}Ln O3R4t;5s1+4rsx+@Ft2m~ diff --git a/indexed_gzip/tests/__pycache__/test_nibabel_integration.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/test_nibabel_integration.cpython-37-pytest-7.2.1.pyc deleted file mode 100644 index c5f05c7ea833fc090097358d6b12fd7354aff52c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2209 zcmZWqOK%%D5GJ_~t=DVCb)1KtN8P|}A+(SZ2Pldn2!bX}kREhN+5(FP#9E~6mG@;X z<-~@3atid)L;rz%DbPPspr;;s>gbK+L@)@tO$5Jd7U+`h;|%SC9+o$E_mW zOg3fKp{Au}UWrr(EJ?cgzG83{G-{BU~6EKHPm+aFNaf#1yR3CQ&_bX#OXo<)aLlL}JcqdD1Jt*_)?q!S-1NO z4hE^_yn81r2T4}n1z~1jXcr>(>MBdMYJnll+*)SC*xjqOdYgm_Kxu;6S(j#x2t8PQ z-_bjWV>A}=2!sh80eB;_!vJI2@6Z#U3YEqy^|t(^*cU-StPmS+=QIx zr5I-@N1X4DldRDwAOWJzVYh_c>78mMtck*eFF>n(=mLg6yLRAhbZ>QU!o6%i&XXaYdq&*hz-NGr8NVcz&Q{q9t#<@f1`145Fw}OXxBUp{W}npT1T z{tN=-X0rvJqCc?}0&kjWM=;Y#9e2^V4a`~=uj_`fjNA8LOJbF`fRdvsd;^xrpc-kg*ShmGz{ z9Bu=bxXD9{b6R6A0QM@ozW&U>Eh3bipr`FK$W9W=K#BJ^ntYXjN{(fyj zv}sCm3oI;a61L<-P!#;N-8H)ChD?19+RhEgVVq_WnY=u|*$b8+T1_HHw zr{r^$YH8+9mrQH67J{)Q%0!t~S$C^MZyOhTwT^+$4adbmmt|HPHq^$ix5qlojNe$9 zD9x)<=~C4@@ahpL;}zq)+E+-cpgzOV>Qh`=I=j@hOs$abjGHHFCyr)>jT#d+Zct;| zy3|R=OC_XAi!I{=qH>^{(#>-YWyHTO&ebPyTzu)|pf1)3>n$wowYrGf3o~sEsisMG wqQk3i0X|b5%OCdn1a}(7xr<9R!V{1s648JnfrJdl$O)V_4WbYV*T$LuAJ_OT`~Uy| diff --git a/indexed_gzip/tests/__pycache__/test_zran.cpython-37-pytest-7.2.1.pyc b/indexed_gzip/tests/__pycache__/test_zran.cpython-37-pytest-7.2.1.pyc deleted file mode 100644 index 381459985816adf15fa45a1bd0d141aea67b8609..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 501 zcmY*TJx;?g6t*r$tzCv-Z$R|tx&B{9tILtr}34|d>86r^|J9!rY z2=X2|`ki2c1y1`fF^^uMxoc4aGHBzFjChB4vvEEl69~j0ouEZu6R<|i(u9%d^oDAmXV99~s2vr-v1T$T;}tIlZI zgvA9jM(A*Mp+&8w6|Vo+az}?=?3Y^}rd?zj<8YZVdtd0>#l|viO)c$%>+MmltE#+g z98#qNx*K$Ka;6_iKgguvkc;=w(0&8@)MHxreVyETK_;o0+N6>xnbfIDt_m)ab-`K2 vR*6(xJPA%WTUq`u!ex`RLIcynYryAu!K+MMU{7JD-VG53Gk}qg{teL&N9~!b diff --git a/indexed_gzip/tests/ctest_indexed_gzip.c b/indexed_gzip/tests/ctest_indexed_gzip.c deleted file mode 100644 index 9813cfc7..00000000 --- a/indexed_gzip/tests/ctest_indexed_gzip.c +++ /dev/null @@ -1,52176 +0,0 @@ -/* Generated by Cython 0.29.33 */ - -/* BEGIN: Cython Metadata -{ - "distutils": { - "define_macros": [ - [ - "CYTHON_TRACE_NOGIL", - "1" - ] - ], - "depends": [], - "extra_compile_args": [ - "-Wall", - "-Wno-unused-function" - ], - "include_dirs": [ - "indexed_gzip", - "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include" - ], - "libraries": [ - "z" - ], - "name": "indexed_gzip.tests.ctest_indexed_gzip", - "sources": [ - "indexed_gzip/tests/ctest_indexed_gzip.pyx" - ] - }, - "module_name": "indexed_gzip.tests.ctest_indexed_gzip" -} -END: Cython Metadata */ - -#ifndef PY_SSIZE_T_CLEAN -#define PY_SSIZE_T_CLEAN -#endif /* PY_SSIZE_T_CLEAN */ -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.6+ or Python 3.3+. -#else -#define CYTHON_ABI "0_29_33" -#define CYTHON_HEX_VERSION 0x001D21F0 -#define CYTHON_FUTURE_DIVISION 0 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #if PY_VERSION_HEX >= 0x02070000 - #define HAVE_LONG_LONG - #endif -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#ifdef PYPY_VERSION - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif -#elif defined(PYSTON_VERSION) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif -#elif defined(PY_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #elif !defined(CYTHON_USE_PYLONG_INTERNALS) - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #if PY_VERSION_HEX >= 0x030B00A4 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #elif !defined(CYTHON_FAST_THREAD_STATE) - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) - #endif - #ifndef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) - #endif - #if PY_VERSION_HEX >= 0x030B00A4 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int32 uint32_t; - #endif - #endif -#else - #include -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) && __cplusplus >= 201103L - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #elif __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__ ) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) - #define Py_OptimizeFlag 0 -#endif -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #define __Pyx_DefaultClassType PyClass_Type -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if PY_VERSION_HEX >= 0x030B00A1 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; - PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; - const char *fn_cstr=NULL; - const char *name_cstr=NULL; - PyCodeObject* co=NULL; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - if (!(kwds=PyDict_New())) goto end; - if (!(argcount=PyLong_FromLong(a))) goto end; - if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; - if (!(posonlyargcount=PyLong_FromLong(0))) goto end; - if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; - if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; - if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; - if (!(nlocals=PyLong_FromLong(l))) goto end; - if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; - if (!(stacksize=PyLong_FromLong(s))) goto end; - if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; - if (!(flags=PyLong_FromLong(f))) goto end; - if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; - if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; - if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; - if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; - if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; - if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here - if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; - Py_XDECREF((PyObject*)co); - co = (PyCodeObject*)call_result; - call_result = NULL; - if (0) { - cleanup_code_too: - Py_XDECREF((PyObject*)co); - co = NULL; - } - end: - Py_XDECREF(kwds); - Py_XDECREF(argcount); - Py_XDECREF(posonlyargcount); - Py_XDECREF(kwonlyargcount); - Py_XDECREF(nlocals); - Py_XDECREF(stacksize); - Py_XDECREF(replace); - Py_XDECREF(call_result); - Py_XDECREF(empty); - if (type) { - PyErr_Restore(type, value, traceback); - } - return co; - } -#else - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif - #define __Pyx_DefaultClassType PyType_Type -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #define __Pyx_PyCFunctionFast _PyCFunctionFast - #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords -#endif -#if CYTHON_FAST_PYCCALL -#define __Pyx_PyFastCFunction_Check(func)\ - ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) -#else -#define __Pyx_PyFastCFunction_Check(func) 0 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 - #define PyMem_RawMalloc(n) PyMem_Malloc(n) - #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) - #define PyMem_RawFree(p) PyMem_Free(p) -#endif -#if CYTHON_COMPILING_IN_PYSTON - #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -#else -#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) -#endif -#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) - #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) -#else - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) -#else - #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifndef __PYX_EXTERN_C - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__indexed_gzip__tests__ctest_indexed_gzip -#define __PYX_HAVE_API__indexed_gzip__tests__ctest_indexed_gzip -/* Early includes */ -#include -#include -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { - const Py_UNICODE *u_end = u; - while (*u_end++) ; - return (size_t)(u_end - u - 1); -} -#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) -#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -static PyObject *__pyx_m = NULL; -static PyObject *__pyx_d; -static PyObject *__pyx_b; -static PyObject *__pyx_cython_runtime = NULL; -static PyObject *__pyx_empty_tuple; -static PyObject *__pyx_empty_bytes; -static PyObject *__pyx_empty_unicode; -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm= __FILE__; -static const char *__pyx_filename; - - -static const char *__pyx_f[] = { - "indexed_gzip/tests/ctest_indexed_gzip.pyx", -}; - -/*--- Type declarations ---*/ -struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto; - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 - * - * - * def test_readinto(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * line 1 - */ -struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto { - PyObject_HEAD - PyObject *__pyx_v_lines; -}; - - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); - void (*DECREF)(void*, PyObject*, int); - void (*GOTREF)(void*, PyObject*, int); - void (*GIVEREF)(void*, PyObject*, int); - void* (*SetupContext)(const char*, int, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -#endif - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* Profile.proto */ -#ifndef CYTHON_PROFILE -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON - #define CYTHON_PROFILE 0 -#else - #define CYTHON_PROFILE 1 -#endif -#endif -#ifndef CYTHON_TRACE_NOGIL - #define CYTHON_TRACE_NOGIL 0 -#else - #if CYTHON_TRACE_NOGIL && !defined(CYTHON_TRACE) - #define CYTHON_TRACE 1 - #endif -#endif -#ifndef CYTHON_TRACE - #define CYTHON_TRACE 0 -#endif -#if CYTHON_TRACE - #undef CYTHON_PROFILE_REUSE_FRAME -#endif -#ifndef CYTHON_PROFILE_REUSE_FRAME - #define CYTHON_PROFILE_REUSE_FRAME 0 -#endif -#if CYTHON_PROFILE || CYTHON_TRACE - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #if CYTHON_PROFILE_REUSE_FRAME - #define CYTHON_FRAME_MODIFIER static - #define CYTHON_FRAME_DEL(frame) - #else - #define CYTHON_FRAME_MODIFIER - #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame) - #endif - #define __Pyx_TraceDeclarations\ - static PyCodeObject *__pyx_frame_code = NULL;\ - CYTHON_FRAME_MODIFIER PyFrameObject *__pyx_frame = NULL;\ - int __Pyx_use_tracing = 0; - #define __Pyx_TraceFrameInit(codeobj)\ - if (codeobj) __pyx_frame_code = (PyCodeObject*) codeobj; -#if PY_VERSION_HEX >= 0x030b00a2 - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->cframe->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate) PyThreadState_EnterTracing(tstate) - #define __Pyx_LeaveTracing(tstate) PyThreadState_LeaveTracing(tstate) -#elif PY_VERSION_HEX >= 0x030a00b1 - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->cframe->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate)\ - do { tstate->tracing++; tstate->cframe->use_tracing = 0; } while (0) - #define __Pyx_LeaveTracing(tstate)\ - do {\ - tstate->tracing--;\ - tstate->cframe->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ - || tstate->c_profilefunc != NULL);\ - } while (0) -#else - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate)\ - do { tstate->tracing++; tstate->use_tracing = 0; } while (0) - #define __Pyx_LeaveTracing(tstate)\ - do {\ - tstate->tracing--;\ - tstate->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ - || tstate->c_profilefunc != NULL);\ - } while (0) -#endif - #ifdef WITH_THREAD - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - }\ - PyGILState_Release(state);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } else {\ - PyThreadState* tstate = PyThreadState_GET();\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } - #else - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ - { PyThreadState* tstate = PyThreadState_GET();\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } - #endif - #define __Pyx_TraceException()\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 1)) {\ - __Pyx_EnterTracing(tstate);\ - PyObject *exc_info = __Pyx_GetExceptionTuple(tstate);\ - if (exc_info) {\ - if (CYTHON_TRACE && tstate->c_tracefunc)\ - tstate->c_tracefunc(\ - tstate->c_traceobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ - tstate->c_profilefunc(\ - tstate->c_profileobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ - Py_DECREF(exc_info);\ - }\ - __Pyx_LeaveTracing(tstate);\ - }\ - } - static void __Pyx_call_return_trace_func(PyThreadState *tstate, PyFrameObject *frame, PyObject *result) { - PyObject *type, *value, *traceback; - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - __Pyx_EnterTracing(tstate); - if (CYTHON_TRACE && tstate->c_tracefunc) - tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result); - if (tstate->c_profilefunc) - tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result); - CYTHON_FRAME_DEL(frame); - __Pyx_LeaveTracing(tstate); - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - } - #ifdef WITH_THREAD - #define __Pyx_TraceReturn(result, nogil)\ - if (likely(!__Pyx_use_tracing)); else {\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - PyGILState_Release(state);\ - }\ - } else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - }\ - } - #else - #define __Pyx_TraceReturn(result, nogil)\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - } - #endif - static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno); - static int __Pyx_TraceSetupAndCall(PyCodeObject** code, PyFrameObject** frame, PyThreadState* tstate, const char *funcname, const char *srcfile, int firstlineno); -#else - #define __Pyx_TraceDeclarations - #define __Pyx_TraceFrameInit(codeobj) - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) if ((1)); else goto_error; - #define __Pyx_TraceException() - #define __Pyx_TraceReturn(result, nogil) -#endif -#if CYTHON_TRACE - static int __Pyx_call_line_trace_func(PyThreadState *tstate, PyFrameObject *frame, int lineno) { - int ret; - PyObject *type, *value, *traceback; - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - __Pyx_PyFrame_SetLineNumber(frame, lineno); - __Pyx_EnterTracing(tstate); - ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL); - __Pyx_LeaveTracing(tstate); - if (likely(!ret)) { - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - } else { - Py_XDECREF(type); - Py_XDECREF(value); - Py_XDECREF(traceback); - } - return ret; - } - #ifdef WITH_THREAD - #define __Pyx_TraceLine(lineno, nogil, goto_error)\ - if (likely(!__Pyx_use_tracing)); else {\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - int ret = 0;\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - }\ - PyGILState_Release(state);\ - if (unlikely(ret)) goto_error;\ - }\ - } else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - if (unlikely(ret)) goto_error;\ - }\ - }\ - } - #else - #define __Pyx_TraceLine(lineno, nogil, goto_error)\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - if (unlikely(ret)) goto_error;\ - }\ - } - #endif -#else - #define __Pyx_TraceLine(lineno, nogil, goto_error) if ((1)); else goto_error; -#endif - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#else -#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if CYTHON_FAST_PYCALL - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif // CYTHON_FAST_PYCALL -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectCallNoArg.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); -#else -#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) -#endif - -/* PyCFunctionFastCall.proto */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); -#else -#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) -#endif - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyObjectSetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); -#else -#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) -#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) -#endif - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ - const char* function_name); - -/* ListAppend.proto */ -#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS -static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { - PyListObject* L = (PyListObject*) list; - Py_ssize_t len = Py_SIZE(list); - if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) { - Py_INCREF(x); - PyList_SET_ITEM(list, len, x); - __Pyx_SET_SIZE(list, len + 1); - return 0; - } - return PyList_Append(list, x); -} -#else -#define __Pyx_PyList_Append(L,x) PyList_Append(L,x) -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectGetMethod.proto */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); - -/* PyObjectCallMethod1.proto */ -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* append.proto */ -static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x); - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* SliceObject.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( - PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** py_start, PyObject** py_stop, PyObject** py_slice, - int has_cstart, int has_cstop, int wraparound); - -/* SetItemInt.proto */ -#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\ - __Pyx_SetItemInt_Generic(o, to_py_func(i), v))) -static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v); -static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, - int is_list, int wraparound, int boundscheck); - -/* StringJoin.proto */ -#if PY_MAJOR_VERSION < 3 -#define __Pyx_PyString_Join __Pyx_PyBytes_Join -#define __Pyx_PyBaseString_Join(s, v) (PyUnicode_CheckExact(s) ? PyUnicode_Join(s, v) : __Pyx_PyBytes_Join(s, v)) -#else -#define __Pyx_PyString_Join PyUnicode_Join -#define __Pyx_PyBaseString_Join PyUnicode_Join -#endif -#if CYTHON_COMPILING_IN_CPYTHON - #if PY_MAJOR_VERSION < 3 - #define __Pyx_PyBytes_Join _PyString_Join - #else - #define __Pyx_PyBytes_Join _PyBytes_Join - #endif -#else -static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values); -#endif - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* UnpackUnboundCMethod.proto */ -typedef struct { - PyObject *type; - PyObject **method_name; - PyCFunction func; - PyObject *method; - int flag; -} __Pyx_CachedCFunction; - -/* CallUnboundCMethod1.proto */ -static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg); -#else -#define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg) -#endif - -/* PyObjectFormatSimple.proto */ -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#elif PY_MAJOR_VERSION < 3 - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\ - PyObject_Format(s, f)) -#elif CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_str(s) :\ - likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_str(s) :\ - PyObject_Format(s, f)) -#else - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#endif - -/* GCCDiagnostics.proto */ -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* BuildPyUnicode.proto */ -static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, char* chars, int clength, - int prepend_sign, char padding_char); - -/* IncludeStringH.proto */ -#include - -/* CIntToPyUnicode.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char); - -/* JoinPyUnicode.proto */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* KeywordStringCheck.proto */ -static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); -#if PY_MAJOR_VERSION < 3 - if (unlikely(PyInstance_Check(obj))) - return __Pyx_PyObject_GetAttrStr(obj, attr_name); -#endif - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#else -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* None.proto */ -static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname); - -/* RaiseTooManyValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); - -/* RaiseNeedMoreValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -/* IterFinish.proto */ -static CYTHON_INLINE int __Pyx_IterFinish(void); - -/* UnpackItemEndCheck.proto */ -static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* CalculateMetaclass.proto */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); - -/* Py3ClassCreate.proto */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, - PyObject *mkw, PyObject *modname, PyObject *doc); -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, - PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* StrEquals.proto */ -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals -#else -#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals -#endif - -/* GetAttr.proto */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); - -/* HasAttr.proto */ -static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); - -/* PyIntCompare.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* None.proto */ -static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname); - -/* ListCompAppend.proto */ -#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS -static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { - PyListObject* L = (PyListObject*) list; - Py_ssize_t len = Py_SIZE(list); - if (likely(L->allocated > len)) { - Py_INCREF(x); - PyList_SET_ITEM(list, len, x); - __Pyx_SET_SIZE(list, len + 1); - return 0; - } - return PyList_Append(list, x); -} -#else -#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) -#endif - -/* FetchCommonType.proto */ -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED 1 -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { - PyCFunctionObject func; -#if PY_VERSION_HEX < 0x030500A0 - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; - PyObject *func_classobj; - void *defaults; - int defaults_pyobjects; - size_t defaults_size; // used by FusedFunction for copying defaults - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; -} __pyx_CyFunctionObject; -static PyTypeObject *__pyx_CyFunctionType = 0; -#define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType)) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *self, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(void); - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* decode_c_string_utf16.proto */ -static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) { - int byteorder = 0; - return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); -} -static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) { - int byteorder = -1; - return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); -} -static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) { - int byteorder = 1; - return PyUnicode_DecodeUTF16(s, size, errors, &byteorder); -} - -/* decode_c_bytes.proto */ -static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes( - const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop, - const char* encoding, const char* errors, - PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)); - -/* decode_bytes.proto */ -static CYTHON_INLINE PyObject* __Pyx_decode_bytes( - PyObject* string, Py_ssize_t start, Py_ssize_t stop, - const char* encoding, const char* errors, - PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { - return __Pyx_decode_c_bytes( - PyBytes_AS_STRING(string), PyBytes_GET_SIZE(string), - start, stop, encoding, errors, decode_func); -} - -/* decode_bytearray.proto */ -static CYTHON_INLINE PyObject* __Pyx_decode_bytearray( - PyObject* string, Py_ssize_t start, Py_ssize_t stop, - const char* encoding, const char* errors, - PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { - return __Pyx_decode_c_bytes( - PyByteArray_AS_STRING(string), PyByteArray_GET_SIZE(string), - start, stop, encoding, errors, decode_func); -} - -/* IterNext.proto */ -#define __Pyx_PyIter_Next(obj) __Pyx_PyIter_Next2(obj, NULL) -static CYTHON_INLINE PyObject *__Pyx_PyIter_Next2(PyObject *, PyObject *); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddCObj(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* DivInt[Py_ssize_t].proto */ -static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t); - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* ImportFrom.proto */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* SetNameInClass.proto */ -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) -#elif CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) -#else -#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) -#endif - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static int __Pyx_check_binary_version(void); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - - -/* Module declarations from 'libc.string' */ - -/* Module declarations from 'libc.stdio' */ - -/* Module declarations from 'indexed_gzip.tests.ctest_indexed_gzip' */ -static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto = 0; -#define __Pyx_MODULE_NAME "indexed_gzip.tests.ctest_indexed_gzip" -extern int __pyx_module_is_main_indexed_gzip__tests__ctest_indexed_gzip; -int __pyx_module_is_main_indexed_gzip__tests__ctest_indexed_gzip = 0; - -/* Implementation of 'indexed_gzip.tests.ctest_indexed_gzip' */ -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_print; -static PyObject *__pyx_builtin_IOError; -static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_builtin_open; -static PyObject *__pyx_builtin_enumerate; -static PyObject *__pyx_builtin_sum; -static PyObject *__pyx_builtin_all; -static PyObject *__pyx_builtin_chr; -static PyObject *__pyx_builtin_zip; -static PyObject *__pyx_builtin_StopIteration; -static const char __pyx_k_b[] = "b"; -static const char __pyx_k_e[] = "e"; -static const char __pyx_k_f[] = "f"; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k_l[] = "l"; -static const char __pyx_k_m[] = "m"; -static const char __pyx_k_r[] = "r"; -static const char __pyx_k_s[] = "s"; -static const char __pyx_k_w[] = "w"; -static const char __pyx_k__5[] = ""; -static const char __pyx_k_ab[] = "ab"; -static const char __pyx_k_cp[] = "cp"; -static const char __pyx_k_es[] = "es"; -static const char __pyx_k_f1[] = "f1"; -static const char __pyx_k_f2[] = "f2"; -static const char __pyx_k_ft[] = "ft"; -static const char __pyx_k_gf[] = "gf"; -static const char __pyx_k_io[] = "io"; -static const char __pyx_k_it[] = "it"; -static const char __pyx_k_mp[] = "mp"; -static const char __pyx_k_np[] = "np"; -static const char __pyx_k_op[] = "op"; -static const char __pyx_k_os[] = "os"; -static const char __pyx_k_rb[] = "rb"; -static const char __pyx_k_rt[] = "rt"; -static const char __pyx_k_sp[] = "sp"; -static const char __pyx_k_st[] = "st"; -static const char __pyx_k_td[] = "td"; -static const char __pyx_k_wb[] = "wb"; -static const char __pyx_k_wt[] = "wt"; -static const char __pyx_k__23[] = "{}\n"; -static const char __pyx_k__49[] = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"; -static const char __pyx_k__57[] = "\n"; -static const char __pyx_k__60[] = "\000\000\000\000\000\000\000\000\000"; -static const char __pyx_k__89[] = "*"; -static const char __pyx_k_all[] = "all"; -static const char __pyx_k_bin[] = ".bin"; -static const char __pyx_k_buf[] = "buf"; -static const char __pyx_k_chr[] = "chr"; -static const char __pyx_k_del[] = "del"; -static const char __pyx_k_doc[] = "__doc__"; -static const char __pyx_k_fid[] = "fid"; -static const char __pyx_k_gcd[] = "gcd"; -static const char __pyx_k_gf1[] = "gf1"; -static const char __pyx_k_gf2[] = "gf2"; -static const char __pyx_k_gf3[] = "gf3"; -static const char __pyx_k_gzf[] = "gzf"; -static const char __pyx_k_idx[] = "idx"; -static const char __pyx_k_int[] = "int"; -static const char __pyx_k_len[] = "__len__"; -static const char __pyx_k_lim[] = "lim"; -static const char __pyx_k_map[] = "map"; -static const char __pyx_k_num[] = "num"; -static const char __pyx_k_off[] = "off"; -static const char __pyx_k_ret[] = "ret"; -static const char __pyx_k_sum[] = "sum"; -static const char __pyx_k_sys[] = "sys"; -static const char __pyx_k_val[] = "val"; -static const char __pyx_k_zip[] = "zip"; -static const char __pyx_k_Pool[] = "Pool"; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_bool[] = "__bool__"; -static const char __pyx_k_ceil[] = "ceil"; -static const char __pyx_k_copy[] = "copy"; -static const char __pyx_k_data[] = "data"; -static const char __pyx_k_drop[] = "drop"; -static const char __pyx_k_exit[] = "__exit__"; -static const char __pyx_k_expl[] = "expl"; -static const char __pyx_k_f_gz[] = "f.gz"; -static const char __pyx_k_fobj[] = "fobj"; -static const char __pyx_k_func[] = "func"; -static const char __pyx_k_gotl[] = "gotl"; -static const char __pyx_k_gzf1[] = "gzf1"; -static const char __pyx_k_gzf2[] = "gzf2"; -static const char __pyx_k_gzf3[] = "gzf3"; -static const char __pyx_k_gzip[] = "gzip"; -static const char __pyx_k_idxf[] = "idxf"; -static const char __pyx_k_init[] = "__init__"; -static const char __pyx_k_join[] = "join"; -static const char __pyx_k_line[] = "line"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_mode[] = "mode"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_ones[] = "ones"; -static const char __pyx_k_open[] = "open"; -static const char __pyx_k_peek[] = "peek"; -static const char __pyx_k_pool[] = "pool"; -static const char __pyx_k_read[] = "read"; -static const char __pyx_k_seed[] = "seed"; -static const char __pyx_k_seek[] = "seek"; -static const char __pyx_k_self[] = "self"; -static const char __pyx_k_size[] = "size"; -static const char __pyx_k_skip[] = "skip"; -static const char __pyx_k_sqrt[] = "sqrt"; -static const char __pyx_k_tdir[] = "tdir"; -static const char __pyx_k_tell[] = "tell"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_time[] = "time"; -static const char __pyx_k_12345[] = "12345"; -static const char __pyx_k_Error[] = "Error"; -static const char __pyx_k_block[] = "block"; -static const char __pyx_k_bufsz[] = "bufsz"; -static const char __pyx_k_bytes[] = "bytes"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_data1[] = "data1"; -static const char __pyx_k_data2[] = "data2"; -static const char __pyx_k_deque[] = "deque"; -static const char __pyx_k_dtype[] = "dtype"; -static const char __pyx_k_dumps[] = "dumps"; -static const char __pyx_k_enter[] = "__enter__"; -static const char __pyx_k_flush[] = "flush"; -static const char __pyx_k_fname[] = "fname"; -static const char __pyx_k_fsize[] = "fsize"; -static const char __pyx_k_igzip[] = "igzip"; -static const char __pyx_k_lines[] = "lines"; -static const char __pyx_k_loads[] = "loads"; -static const char __pyx_k_modes[] = "modes"; -static const char __pyx_k_numpy[] = "numpy"; -static const char __pyx_k_point[] = "point"; -static const char __pyx_k_pread[] = "pread"; -static const char __pyx_k_print[] = "print"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_shape[] = "shape"; -static const char __pyx_k_split[] = "split"; -static const char __pyx_k_strip[] = "strip"; -static const char __pyx_k_touch[] = "touch"; -static const char __pyx_k_write[] = "write"; -static const char __pyx_k_append[] = "append"; -static const char __pyx_k_arange[] = "arange"; -static const char __pyx_k_buffer[] = "buffer"; -static const char __pyx_k_closed[] = "closed"; -static const char __pyx_k_concat[] = "concat"; -static const char __pyx_k_decode[] = "decode"; -static const char __pyx_k_dedent[] = "dedent"; -static const char __pyx_k_encode[] = "encode"; -static const char __pyx_k_expect[] = "expect"; -static const char __pyx_k_extend[] = "extend"; -static const char __pyx_k_fileno[] = "fileno"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_kwargs[] = "kwargs"; -static const char __pyx_k_limits[] = "limits"; -static const char __pyx_k_module[] = "__module__"; -static const char __pyx_k_mpfunc[] = "_mpfunc"; -static const char __pyx_k_nbytes[] = "nbytes"; -static const char __pyx_k_nelems[] = "nelems"; -static const char __pyx_k_niters[] = "niters"; -static const char __pyx_k_offset[] = "offset"; -static const char __pyx_k_pickle[] = "pickle"; -static const char __pyx_k_points[] = "points"; -static const char __pyx_k_pytest[] = "pytest"; -static const char __pyx_k_raises[] = "raises"; -static const char __pyx_k_random[] = "random"; -static const char __pyx_k_shutil[] = "shutil"; -static const char __pyx_k_uint32[] = "uint32"; -static const char __pyx_k_uint64[] = "uint64"; -static const char __pyx_k_BytesIO[] = "BytesIO"; -static const char __pyx_k_IOError[] = "IOError"; -static const char __pyx_k_divisor[] = "divisor"; -static const char __pyx_k_element[] = "element"; -static const char __pyx_k_filelen[] = "filelen"; -static const char __pyx_k_fileobj[] = "fileobj"; -static const char __pyx_k_getsize[] = "getsize"; -static const char __pyx_k_gotline[] = "gotline"; -static const char __pyx_k_hashlib[] = "hashlib"; -static const char __pyx_k_ndarray[] = "ndarray"; -static const char __pyx_k_offsets[] = "offsets"; -static const char __pyx_k_os_path[] = "os.path"; -static const char __pyx_k_partial[] = "partial"; -static const char __pyx_k_pickled[] = "pickled"; -static const char __pyx_k_popleft[] = "popleft"; -static const char __pyx_k_prepare[] = "__prepare__"; -static const char __pyx_k_randint[] = "randint"; -static const char __pyx_k_readval[] = "readval"; -static const char __pyx_k_results[] = "results"; -static const char __pyx_k_seekloc[] = "seekloc"; -static const char __pyx_k_seekpos[] = "seekpos"; -static const char __pyx_k_spacing[] = "spacing"; -static const char __pyx_k_tempdir[] = "tempdir"; -static const char __pyx_k_test_gz[] = "test.gz"; -static const char __pyx_k_testval[] = "testval"; -static const char __pyx_k_tobytes[] = "tobytes"; -static const char __pyx_k_GzipFile[] = "GzipFile"; -static const char __pyx_k_compress[] = "compress"; -static const char __pyx_k_deepcopy[] = "deepcopy"; -static const char __pyx_k_eofseeks[] = "eofseeks"; -static const char __pyx_k_error_fn[] = "error_fn"; -static const char __pyx_k_expected[] = "expected"; -static const char __pyx_k_filename[] = "filename"; -static const char __pyx_k_filesize[] = "filesize"; -static const char __pyx_k_gotlines[] = "gotlines"; -static const char __pyx_k_gzf_copy[] = "gzf_copy"; -static const char __pyx_k_idxfname[] = "idxfname"; -static const char __pyx_k_line_one[] = "line one"; -static const char __pyx_k_line_two[] = "line two"; -static const char __pyx_k_lo_world[] = "lo world"; -static const char __pyx_k_qualname[] = "__qualname__"; -static const char __pyx_k_read_out[] = ", read out "; -static const char __pyx_k_readable[] = "readable"; -static const char __pyx_k_readinto[] = "readinto"; -static const char __pyx_k_readline[] = "readline"; -static const char __pyx_k_readval1[] = "readval1"; -static const char __pyx_k_readval2[] = "readval2"; -static const char __pyx_k_readval3[] = "readval3"; -static const char __pyx_k_ret_list[] = "ret_list"; -static const char __pyx_k_seekable[] = "seekable"; -static const char __pyx_k_seeklocs[] = "seeklocs"; -static const char __pyx_k_tempfile[] = "tempfile"; -static const char __pyx_k_test_txt[] = "test.txt"; -static const char __pyx_k_testfile[] = "testfile"; -static const char __pyx_k_textwrap[] = "textwrap"; -static const char __pyx_k_tostring[] = "tostring"; -static const char __pyx_k_use_mmap[] = "use_mmap"; -static const char __pyx_k_writable[] = "writable"; -static const char __pyx_k_enumerate[] = "enumerate"; -static const char __pyx_k_first50MB[] = "first50MB"; -static const char __pyx_k_functools[] = "functools"; -static const char __pyx_k_gzf_copy2[] = "gzf_copy2"; -static const char __pyx_k_itertools[] = "itertools"; -static const char __pyx_k_metaclass[] = "__metaclass__"; -static const char __pyx_k_num_bytes[] = "num_bytes"; -static const char __pyx_k_readlines[] = "readlines"; -static const char __pyx_k_remainder[] = "remainder"; -static const char __pyx_k_seekelems[] = "seekelems"; -static const char __pyx_k_test_atts[] = "test_atts"; -static const char __pyx_k_test_iter[] = "test_iter"; -static const char __pyx_k_test_seek[] = "test_seek"; -static const char __pyx_k_GzipStream[] = "GzipStream"; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_appendleft[] = "appendleft"; -static const char __pyx_k_auto_build[] = "auto_build"; -static const char __pyx_k_candidates[] = "candidates"; -static const char __pyx_k_contextlib[] = "contextlib"; -static const char __pyx_k_frombuffer[] = "frombuffer"; -static const char __pyx_k_index_file[] = "index_file"; -static const char __pyx_k_memoryview[] = "memoryview"; -static const char __pyx_k_second50MB[] = "second50MB"; -static const char __pyx_k_subprocess[] = "subprocess"; -static const char __pyx_k_test_gzidx[] = "test.gzidx"; -static const char __pyx_k_test_pread[] = "test_pread"; -static const char __pyx_k_BytesBuffer[] = "BytesBuffer"; -static const char __pyx_k_collections[] = "collections"; -static const char __pyx_k_hello_world[] = "hello world"; -static const char __pyx_k_line_offset[] = "line_offset"; -static const char __pyx_k_seek_points[] = "seek_points"; -static const char __pyx_k_Generated_to[] = "Generated to {}..."; -static const char __pyx_k_drop_handles[] = "drop_handles"; -static const char __pyx_k_export_index[] = "export_index"; -static const char __pyx_k_import_index[] = "import_index"; -static const char __pyx_k_indexed_gzip[] = "indexed_gzip"; -static const char __pyx_k_read_element[] = "read_element"; -static const char __pyx_k_readbuf_size[] = "readbuf_size"; -static const char __pyx_k_tmp_filename[] = "tmp_filename"; -static const char __pyx_k_version_info[] = "version_info"; -static const char __pyx_k_NoHandleError[] = "NoHandleError"; -static const char __pyx_k_PicklingError[] = "PicklingError"; -static const char __pyx_k_StopIteration[] = "StopIteration"; -static const char __pyx_k_gen_test_data[] = "gen_test_data"; -static const char __pyx_k_num_bytes_was[] = ", num_bytes was "; -static const char __pyx_k_test_copyable[] = "test_copyable"; -static const char __pyx_k_test_read_all[] = "test_read_all"; -static const char __pyx_k_test_readinto[] = "test_readinto"; -static const char __pyx_k_test_readline[] = "test_readline"; -static const char __pyx_k_uncmp_offsets[] = "uncmp_offsets"; -static const char __pyx_k_fill_buf_bytes[] = "_fill_buf_bytes"; -static const char __pyx_k_read_in_length[] = ", read in length = "; -static const char __pyx_k_test_open_mode[] = "test_open_mode"; -static const char __pyx_k_test_picklable[] = "test_picklable"; -static const char __pyx_k_test_readlines[] = "test_readlines"; -static const char __pyx_k_BytesIOWithMode[] = "BytesIOWithMode"; -static const char __pyx_k_GzipStream_peek[] = "GzipStream.peek"; -static const char __pyx_k_GzipStream_read[] = "GzipStream.read"; -static const char __pyx_k_GzipStream_tell[] = "GzipStream.tell"; -static const char __pyx_k_IndexedGzipFile[] = "_IndexedGzipFile"; -static const char __pyx_k_NotCoveredError[] = "NotCoveredError"; -static const char __pyx_k_Size_changed_to[] = "Size changed to "; -static const char __pyx_k_multiprocessing[] = "multiprocessing"; -static const char __pyx_k_test_open_close[] = "test_open_close"; -static const char __pyx_k_BytesBuffer__buf[] = "_BytesBuffer__buf"; -static const char __pyx_k_BytesBuffer__pos[] = "_BytesBuffer__pos"; -static const char __pyx_k_BytesBuffer_peek[] = "BytesBuffer.peek"; -static const char __pyx_k_BytesBuffer_read[] = "BytesBuffer.read"; -static const char __pyx_k_BytesBuffer_tell[] = "BytesBuffer.tell"; -static const char __pyx_k_GzipStream__gzip[] = "_GzipStream__gzip"; -static const char __pyx_k_GzipStream__size[] = "_GzipStream__size"; -static const char __pyx_k_GzipStream_close[] = "GzipStream.close"; -static const char __pyx_k_build_full_index[] = "build_full_index"; -static const char __pyx_k_check_data_valid[] = "check_data_valid"; -static const char __pyx_k_file_like_object[] = "file_like_object"; -static const char __pyx_k_length_of_buffer[] = ", length of buffer = "; -static const char __pyx_k_readall_buf_size[] = "readall_buf_size"; -static const char __pyx_k_BytesBuffer___len[] = "BytesBuffer.__len__"; -static const char __pyx_k_BytesBuffer__size[] = "_BytesBuffer__size"; -static const char __pyx_k_BytesBuffer_close[] = "BytesBuffer.close"; -static const char __pyx_k_BytesBuffer_flush[] = "BytesBuffer.flush"; -static const char __pyx_k_BytesBuffer_write[] = "BytesBuffer.write"; -static const char __pyx_k_GzipStream___init[] = "GzipStream.__init__"; -static const char __pyx_k_GzipStream__input[] = "_GzipStream__input"; -static const char __pyx_k_IndexedGzipFile_2[] = "IndexedGzipFile"; -static const char __pyx_k_test_manual_build[] = "test_manual_build"; -static const char __pyx_k_BytesBuffer___bool[] = "BytesBuffer.__bool__"; -static const char __pyx_k_BytesBuffer___init[] = "BytesBuffer.__init__"; -static const char __pyx_k_GzipStream__buffer[] = "_GzipStream__buffer"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_test_open_function[] = "test_open_function"; -static const char __pyx_k_test_seek_and_read[] = "test_seek_and_read"; -static const char __pyx_k_test_seek_and_tell[] = "test_seek_and_tell"; -static const char __pyx_k_test_wrapper_class[] = "test_wrapper_class"; -static const char __pyx_k_GzipStream_seekable[] = "GzipStream.seekable"; -static const char __pyx_k_test_32bit_overflow[] = "test_32bit_overflow"; -static const char __pyx_k_test_read_beyond_end[] = "test_read_beyond_end"; -static const char __pyx_k_test_init_failure_cases[] = "test_init_failure_cases"; -static const char __pyx_k_test_init_success_cases[] = "test_init_success_cases"; -static const char __pyx_k_test_readline_sizelimit[] = "test_readline_sizelimit"; -static const char __pyx_k_write_text_to_gzip_file[] = "write_text_to_gzip_file"; -static const char __pyx_k_Error_in__fill_buf_bytes[] = "Error in _fill_buf_bytes"; -static const char __pyx_k_test_handles_not_dropped[] = "test_handles_not_dropped"; -static const char __pyx_k_test_import_export_index[] = "test_import_export_index"; -static const char __pyx_k_test_multiproc_serialise[] = "test_multiproc_serialise"; -static const char __pyx_k_test_readlines_sizelimit[] = "test_readlines_sizelimit"; -static const char __pyx_k_test_prioritize_fd_over_f[] = "test_prioritize_fd_over_f"; -static const char __pyx_k_GzipStream__fill_buf_bytes[] = "GzipStream._fill_buf_bytes"; -static const char __pyx_k_test_get_index_seek_points[] = "test_get_index_seek_points"; -static const char __pyx_k_test_open_close_ctxmanager[] = "test_open_close_ctxmanager"; -static const char __pyx_k_test_read_with_null_padding[] = "test_read_with_null_padding"; -static const char __pyx_k_test_create_from_open_handle[] = "test_create_from_open_handle"; -static const char __pyx_k_test_size_multiple_of_readbuf[] = "test_size_multiple_of_readbuf"; -static const char __pyx_k_expected_number_of_seek_points[] = "expected_number_of_seek_points"; -static const char __pyx_k_this_is_even_more_text_that_is[] = "\n this is\n even more text\n that is split\n across several lines\n the creativity\n involved in generating\n this test data is\n unparalleled\n "; -static const char __pyx_k_this_is_some_text_split_across[] = "\n this is\n some text\n split across\n several lines\n how creative\n "; -static const char __pyx_k_A_class_for_a_buffer_of_bytes_U[] = "\n A class for a buffer of bytes. Unlike io.BytesIO(), this class\n keeps track of the buffer's size (in bytes).\n "; -static const char __pyx_k_line_1_line_2_this_is_line_3_li[] = "\n line 1\n line 2\n this is line 3\n line the fourth\n here is the fifth line\n "; -static const char __pyx_k_test_accept_filename_or_fileobj[] = "test_accept_filename_or_fileobj"; -static const char __pyx_k_this_is_some_more_text_split_ac[] = "\n this is\n some more text\n split across\n several lines\n super imaginative\n test data\n "; -static const char __pyx_k_A_stream_that_gzips_a_file_in_ch[] = "A stream that gzips a file in chunks.\n "; -static const char __pyx_k_In_GzipStream__fill_buf_bytes_nu[] = "In GzipStream _fill_buf_bytes, num_bytes = "; -static const char __pyx_k_In_GzipStream_tell_is_called_sel[] = "In GzipStream, tell() is called. self.__size is "; -static const char __pyx_k_indexed_gzip_tests_ctest_indexed[] = "indexed_gzip.tests.ctest_indexed_gzip"; -static const char __pyx_k_skipping_test_read_all_test_as_i[] = "skipping test_read_all test as it will require too much memory"; -static const char __pyx_k_skipping_test_read_with_null_pad[] = "skipping test_read_with_null_padding test as it will require too much memory"; -static const char __pyx_k_test_build_index_from_unseekable[] = "test_build_index_from_unseekable"; -static const char __pyx_k_test_import_export_index_open_fi[] = "test_import_export_index_open_file"; -static const char __pyx_k_test_open_mode_locals_BytesIOWit[] = "test_open_mode..BytesIOWithMode"; -static const char __pyx_k_test_readinto_locals_line_offset[] = "test_readinto..line_offset"; -static const char __pyx_k_test_simple_read_with_null_paddi[] = "test_simple_read_with_null_padding"; -static const char __pyx_k_indexed_gzip_tests_ctest_indexed_2[] = "indexed_gzip/tests/ctest_indexed_gzip.pyx"; -static PyObject *__pyx_kp_b_12345; -static PyObject *__pyx_kp_s_A_class_for_a_buffer_of_bytes_U; -static PyObject *__pyx_kp_s_A_stream_that_gzips_a_file_in_ch; -static PyObject *__pyx_n_s_BytesBuffer; -static PyObject *__pyx_n_s_BytesBuffer___bool; -static PyObject *__pyx_n_s_BytesBuffer___init; -static PyObject *__pyx_n_s_BytesBuffer___len; -static PyObject *__pyx_n_s_BytesBuffer__buf; -static PyObject *__pyx_n_s_BytesBuffer__pos; -static PyObject *__pyx_n_s_BytesBuffer__size; -static PyObject *__pyx_n_s_BytesBuffer_close; -static PyObject *__pyx_n_s_BytesBuffer_flush; -static PyObject *__pyx_n_s_BytesBuffer_peek; -static PyObject *__pyx_n_s_BytesBuffer_read; -static PyObject *__pyx_n_s_BytesBuffer_tell; -static PyObject *__pyx_n_s_BytesBuffer_write; -static PyObject *__pyx_n_s_BytesIO; -static PyObject *__pyx_n_s_BytesIOWithMode; -static PyObject *__pyx_n_s_Error; -static PyObject *__pyx_kp_s_Error_in__fill_buf_bytes; -static PyObject *__pyx_kp_s_Generated_to; -static PyObject *__pyx_n_s_GzipFile; -static PyObject *__pyx_n_s_GzipStream; -static PyObject *__pyx_n_s_GzipStream___init; -static PyObject *__pyx_n_s_GzipStream__buffer; -static PyObject *__pyx_n_s_GzipStream__fill_buf_bytes; -static PyObject *__pyx_n_s_GzipStream__gzip; -static PyObject *__pyx_n_s_GzipStream__input; -static PyObject *__pyx_n_s_GzipStream__size; -static PyObject *__pyx_n_s_GzipStream_close; -static PyObject *__pyx_n_s_GzipStream_peek; -static PyObject *__pyx_n_s_GzipStream_read; -static PyObject *__pyx_n_s_GzipStream_seekable; -static PyObject *__pyx_n_s_GzipStream_tell; -static PyObject *__pyx_n_s_IOError; -static PyObject *__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu; -static PyObject *__pyx_kp_u_In_GzipStream_tell_is_called_sel; -static PyObject *__pyx_n_s_IndexedGzipFile; -static PyObject *__pyx_n_s_IndexedGzipFile_2; -static PyObject *__pyx_n_s_NoHandleError; -static PyObject *__pyx_n_s_NotCoveredError; -static PyObject *__pyx_n_s_PicklingError; -static PyObject *__pyx_n_s_Pool; -static PyObject *__pyx_kp_u_Size_changed_to; -static PyObject *__pyx_n_s_StopIteration; -static PyObject *__pyx_n_s_ValueError; -static PyObject *__pyx_kp_s__23; -static PyObject *__pyx_kp_b__49; -static PyObject *__pyx_n_s__5; -static PyObject *__pyx_kp_b__5; -static PyObject *__pyx_kp_s__57; -static PyObject *__pyx_kp_b__60; -static PyObject *__pyx_n_s__89; -static PyObject *__pyx_n_s_ab; -static PyObject *__pyx_n_s_all; -static PyObject *__pyx_n_s_append; -static PyObject *__pyx_n_s_appendleft; -static PyObject *__pyx_n_s_arange; -static PyObject *__pyx_n_s_args; -static PyObject *__pyx_n_s_auto_build; -static PyObject *__pyx_n_s_b; -static PyObject *__pyx_kp_s_bin; -static PyObject *__pyx_n_s_block; -static PyObject *__pyx_n_s_bool; -static PyObject *__pyx_n_s_buf; -static PyObject *__pyx_n_s_buffer; -static PyObject *__pyx_n_s_bufsz; -static PyObject *__pyx_n_s_build_full_index; -static PyObject *__pyx_n_s_bytes; -static PyObject *__pyx_n_s_candidates; -static PyObject *__pyx_n_s_ceil; -static PyObject *__pyx_n_s_check_data_valid; -static PyObject *__pyx_n_s_chr; -static PyObject *__pyx_n_s_cline_in_traceback; -static PyObject *__pyx_n_s_close; -static PyObject *__pyx_n_s_closed; -static PyObject *__pyx_n_s_collections; -static PyObject *__pyx_n_s_compress; -static PyObject *__pyx_n_s_concat; -static PyObject *__pyx_n_s_contextlib; -static PyObject *__pyx_n_s_copy; -static PyObject *__pyx_n_s_cp; -static PyObject *__pyx_n_s_data; -static PyObject *__pyx_n_s_data1; -static PyObject *__pyx_n_s_data2; -static PyObject *__pyx_n_s_decode; -static PyObject *__pyx_n_s_dedent; -static PyObject *__pyx_n_s_deepcopy; -static PyObject *__pyx_n_s_del; -static PyObject *__pyx_n_s_deque; -static PyObject *__pyx_n_s_divisor; -static PyObject *__pyx_n_s_doc; -static PyObject *__pyx_n_s_drop; -static PyObject *__pyx_n_s_drop_handles; -static PyObject *__pyx_n_s_dtype; -static PyObject *__pyx_n_s_dumps; -static PyObject *__pyx_n_s_e; -static PyObject *__pyx_n_s_element; -static PyObject *__pyx_n_s_encode; -static PyObject *__pyx_n_s_enter; -static PyObject *__pyx_n_s_enumerate; -static PyObject *__pyx_n_s_eofseeks; -static PyObject *__pyx_n_s_error_fn; -static PyObject *__pyx_n_s_es; -static PyObject *__pyx_n_s_exit; -static PyObject *__pyx_n_s_expect; -static PyObject *__pyx_n_s_expected; -static PyObject *__pyx_n_s_expected_number_of_seek_points; -static PyObject *__pyx_n_s_expl; -static PyObject *__pyx_n_s_export_index; -static PyObject *__pyx_n_s_extend; -static PyObject *__pyx_n_s_f; -static PyObject *__pyx_n_s_f1; -static PyObject *__pyx_n_s_f2; -static PyObject *__pyx_kp_s_f_gz; -static PyObject *__pyx_n_s_fid; -static PyObject *__pyx_n_s_file_like_object; -static PyObject *__pyx_n_s_filelen; -static PyObject *__pyx_n_s_filename; -static PyObject *__pyx_n_s_fileno; -static PyObject *__pyx_n_s_fileobj; -static PyObject *__pyx_n_s_filesize; -static PyObject *__pyx_n_s_fill_buf_bytes; -static PyObject *__pyx_n_s_first50MB; -static PyObject *__pyx_n_s_flush; -static PyObject *__pyx_n_s_fname; -static PyObject *__pyx_n_s_fobj; -static PyObject *__pyx_n_s_format; -static PyObject *__pyx_n_s_frombuffer; -static PyObject *__pyx_n_s_fsize; -static PyObject *__pyx_n_s_ft; -static PyObject *__pyx_n_s_func; -static PyObject *__pyx_n_s_functools; -static PyObject *__pyx_n_s_gcd; -static PyObject *__pyx_n_s_gen_test_data; -static PyObject *__pyx_n_s_getsize; -static PyObject *__pyx_n_s_gf; -static PyObject *__pyx_n_s_gf1; -static PyObject *__pyx_n_s_gf2; -static PyObject *__pyx_n_s_gf3; -static PyObject *__pyx_n_s_gotl; -static PyObject *__pyx_n_s_gotline; -static PyObject *__pyx_n_s_gotlines; -static PyObject *__pyx_n_s_gzf; -static PyObject *__pyx_n_s_gzf1; -static PyObject *__pyx_n_s_gzf2; -static PyObject *__pyx_n_s_gzf3; -static PyObject *__pyx_n_s_gzf_copy; -static PyObject *__pyx_n_s_gzf_copy2; -static PyObject *__pyx_n_s_gzip; -static PyObject *__pyx_n_s_hashlib; -static PyObject *__pyx_kp_b_hello_world; -static PyObject *__pyx_n_s_i; -static PyObject *__pyx_n_s_idx; -static PyObject *__pyx_n_s_idxf; -static PyObject *__pyx_n_s_idxfname; -static PyObject *__pyx_n_s_igzip; -static PyObject *__pyx_n_s_import; -static PyObject *__pyx_n_s_import_index; -static PyObject *__pyx_n_s_index_file; -static PyObject *__pyx_n_s_indexed_gzip; -static PyObject *__pyx_n_s_indexed_gzip_tests_ctest_indexed; -static PyObject *__pyx_kp_s_indexed_gzip_tests_ctest_indexed_2; -static PyObject *__pyx_n_s_init; -static PyObject *__pyx_n_u_int; -static PyObject *__pyx_n_s_io; -static PyObject *__pyx_n_s_it; -static PyObject *__pyx_n_s_itertools; -static PyObject *__pyx_n_s_join; -static PyObject *__pyx_n_s_kwargs; -static PyObject *__pyx_n_s_l; -static PyObject *__pyx_n_s_len; -static PyObject *__pyx_kp_u_length_of_buffer; -static PyObject *__pyx_n_s_lim; -static PyObject *__pyx_n_s_limits; -static PyObject *__pyx_n_s_line; -static PyObject *__pyx_kp_s_line_1_line_2_this_is_line_3_li; -static PyObject *__pyx_n_s_line_offset; -static PyObject *__pyx_kp_s_line_one; -static PyObject *__pyx_kp_s_line_two; -static PyObject *__pyx_n_s_lines; -static PyObject *__pyx_kp_b_lo_world; -static PyObject *__pyx_n_s_loads; -static PyObject *__pyx_n_s_m; -static PyObject *__pyx_n_s_main; -static PyObject *__pyx_n_s_map; -static PyObject *__pyx_n_s_memoryview; -static PyObject *__pyx_n_s_metaclass; -static PyObject *__pyx_n_s_mode; -static PyObject *__pyx_n_s_modes; -static PyObject *__pyx_n_s_module; -static PyObject *__pyx_n_s_mp; -static PyObject *__pyx_n_s_mpfunc; -static PyObject *__pyx_n_s_multiprocessing; -static PyObject *__pyx_n_s_name; -static PyObject *__pyx_n_s_nbytes; -static PyObject *__pyx_n_s_ndarray; -static PyObject *__pyx_n_s_nelems; -static PyObject *__pyx_n_s_niters; -static PyObject *__pyx_n_s_np; -static PyObject *__pyx_n_s_num; -static PyObject *__pyx_n_s_num_bytes; -static PyObject *__pyx_kp_u_num_bytes_was; -static PyObject *__pyx_n_s_numpy; -static PyObject *__pyx_n_s_off; -static PyObject *__pyx_n_s_offset; -static PyObject *__pyx_n_s_offsets; -static PyObject *__pyx_n_s_ones; -static PyObject *__pyx_n_s_op; -static PyObject *__pyx_n_s_open; -static PyObject *__pyx_n_s_os; -static PyObject *__pyx_n_s_os_path; -static PyObject *__pyx_n_s_partial; -static PyObject *__pyx_n_s_peek; -static PyObject *__pyx_n_s_pickle; -static PyObject *__pyx_n_s_pickled; -static PyObject *__pyx_n_s_point; -static PyObject *__pyx_n_s_points; -static PyObject *__pyx_n_s_pool; -static PyObject *__pyx_n_s_popleft; -static PyObject *__pyx_n_s_pread; -static PyObject *__pyx_n_s_prepare; -static PyObject *__pyx_n_s_print; -static PyObject *__pyx_n_s_pytest; -static PyObject *__pyx_n_s_qualname; -static PyObject *__pyx_n_s_r; -static PyObject *__pyx_n_s_raises; -static PyObject *__pyx_n_s_randint; -static PyObject *__pyx_n_s_random; -static PyObject *__pyx_n_s_range; -static PyObject *__pyx_n_s_rb; -static PyObject *__pyx_n_s_read; -static PyObject *__pyx_n_s_read_element; -static PyObject *__pyx_kp_u_read_in_length; -static PyObject *__pyx_kp_u_read_out; -static PyObject *__pyx_n_s_readable; -static PyObject *__pyx_n_s_readall_buf_size; -static PyObject *__pyx_n_s_readbuf_size; -static PyObject *__pyx_n_s_readinto; -static PyObject *__pyx_n_s_readline; -static PyObject *__pyx_n_s_readlines; -static PyObject *__pyx_n_s_readval; -static PyObject *__pyx_n_s_readval1; -static PyObject *__pyx_n_s_readval2; -static PyObject *__pyx_n_s_readval3; -static PyObject *__pyx_n_s_remainder; -static PyObject *__pyx_n_s_results; -static PyObject *__pyx_n_s_ret; -static PyObject *__pyx_n_s_ret_list; -static PyObject *__pyx_n_s_rt; -static PyObject *__pyx_n_s_s; -static PyObject *__pyx_n_s_second50MB; -static PyObject *__pyx_n_s_seed; -static PyObject *__pyx_n_s_seek; -static PyObject *__pyx_n_s_seek_points; -static PyObject *__pyx_n_s_seekable; -static PyObject *__pyx_n_s_seekelems; -static PyObject *__pyx_n_s_seekloc; -static PyObject *__pyx_n_s_seeklocs; -static PyObject *__pyx_n_s_seekpos; -static PyObject *__pyx_n_s_self; -static PyObject *__pyx_n_s_shape; -static PyObject *__pyx_n_s_shutil; -static PyObject *__pyx_n_s_size; -static PyObject *__pyx_n_s_skip; -static PyObject *__pyx_kp_s_skipping_test_read_all_test_as_i; -static PyObject *__pyx_kp_s_skipping_test_read_with_null_pad; -static PyObject *__pyx_n_s_sp; -static PyObject *__pyx_n_s_spacing; -static PyObject *__pyx_n_s_split; -static PyObject *__pyx_n_s_sqrt; -static PyObject *__pyx_n_s_st; -static PyObject *__pyx_n_s_strip; -static PyObject *__pyx_n_s_subprocess; -static PyObject *__pyx_n_s_sum; -static PyObject *__pyx_n_s_sys; -static PyObject *__pyx_n_s_td; -static PyObject *__pyx_n_s_tdir; -static PyObject *__pyx_n_s_tell; -static PyObject *__pyx_n_s_tempdir; -static PyObject *__pyx_n_s_tempfile; -static PyObject *__pyx_n_s_test; -static PyObject *__pyx_n_s_test_32bit_overflow; -static PyObject *__pyx_n_s_test_accept_filename_or_fileobj; -static PyObject *__pyx_n_s_test_atts; -static PyObject *__pyx_n_s_test_build_index_from_unseekable; -static PyObject *__pyx_n_s_test_copyable; -static PyObject *__pyx_n_s_test_create_from_open_handle; -static PyObject *__pyx_n_s_test_get_index_seek_points; -static PyObject *__pyx_kp_s_test_gz; -static PyObject *__pyx_kp_s_test_gzidx; -static PyObject *__pyx_n_s_test_handles_not_dropped; -static PyObject *__pyx_n_s_test_import_export_index; -static PyObject *__pyx_n_s_test_import_export_index_open_fi; -static PyObject *__pyx_n_s_test_init_failure_cases; -static PyObject *__pyx_n_s_test_init_success_cases; -static PyObject *__pyx_n_s_test_iter; -static PyObject *__pyx_n_s_test_manual_build; -static PyObject *__pyx_n_s_test_multiproc_serialise; -static PyObject *__pyx_n_s_test_open_close; -static PyObject *__pyx_n_s_test_open_close_ctxmanager; -static PyObject *__pyx_n_s_test_open_function; -static PyObject *__pyx_n_s_test_open_mode; -static PyObject *__pyx_n_s_test_open_mode_locals_BytesIOWit; -static PyObject *__pyx_n_s_test_picklable; -static PyObject *__pyx_n_s_test_pread; -static PyObject *__pyx_n_s_test_prioritize_fd_over_f; -static PyObject *__pyx_n_s_test_read_all; -static PyObject *__pyx_n_s_test_read_beyond_end; -static PyObject *__pyx_n_s_test_read_with_null_padding; -static PyObject *__pyx_n_s_test_readinto; -static PyObject *__pyx_n_s_test_readinto_locals_line_offset; -static PyObject *__pyx_n_s_test_readline; -static PyObject *__pyx_n_s_test_readline_sizelimit; -static PyObject *__pyx_n_s_test_readlines; -static PyObject *__pyx_n_s_test_readlines_sizelimit; -static PyObject *__pyx_n_s_test_seek; -static PyObject *__pyx_n_s_test_seek_and_read; -static PyObject *__pyx_n_s_test_seek_and_tell; -static PyObject *__pyx_n_s_test_simple_read_with_null_paddi; -static PyObject *__pyx_n_s_test_size_multiple_of_readbuf; -static PyObject *__pyx_kp_s_test_txt; -static PyObject *__pyx_n_s_test_wrapper_class; -static PyObject *__pyx_n_s_testfile; -static PyObject *__pyx_n_s_testval; -static PyObject *__pyx_n_s_textwrap; -static PyObject *__pyx_kp_s_this_is_even_more_text_that_is; -static PyObject *__pyx_kp_s_this_is_some_more_text_split_ac; -static PyObject *__pyx_kp_s_this_is_some_text_split_across; -static PyObject *__pyx_n_s_time; -static PyObject *__pyx_n_s_tmp_filename; -static PyObject *__pyx_n_s_tobytes; -static PyObject *__pyx_n_s_tostring; -static PyObject *__pyx_n_s_touch; -static PyObject *__pyx_n_s_uint32; -static PyObject *__pyx_n_s_uint64; -static PyObject *__pyx_n_s_uncmp_offsets; -static PyObject *__pyx_n_s_use_mmap; -static PyObject *__pyx_n_s_val; -static PyObject *__pyx_n_s_version_info; -static PyObject *__pyx_n_s_w; -static PyObject *__pyx_n_s_wb; -static PyObject *__pyx_n_s_writable; -static PyObject *__pyx_n_s_write; -static PyObject *__pyx_n_s_write_text_to_gzip_file; -static PyObject *__pyx_n_s_wt; -static PyObject *__pyx_n_s_zip; -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_2__len__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_4write(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_data); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_6read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_size); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_8peek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_size); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_10flush(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_12close(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_14tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_16__bool__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_fileobj); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_2_fill_buf_bytes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_4read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_6close(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_8peek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_10tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_12seekable(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_error_fn(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_element(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gzf, PyObject *__pyx_v_element, PyObject *__pyx_v_seek); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text_to_gzip_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_lines); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_close(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_function(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open_close_ctxmanager(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open_mode(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init_failure_cases(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init_success_cases(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_create_from_open_handle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop, PyObject *__pyx_v_file_like_object); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_accept_filename_or_fileobj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_handles_not_dropped(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manual_build(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simple_read_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read_beyond_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek_and_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek_and_tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_pread(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(PyObject *__pyx_self, PyObject *__pyx_v_idx); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_readinto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_readline(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_readline_sizelimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_readlines(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_readlines_sizelimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_index_seek_points(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_import_export_index(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_import_export_index_open_file(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_build_index_from_unseekable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrapper_class(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_num); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size_multiple_of_readbuf(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_picklable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copyable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gzf, PyObject *__pyx_v_size, PyObject *__pyx_v_offset); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_multiproc_serialise(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bit_overflow(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static __Pyx_CachedCFunction __pyx_umethod_PyByteArray_Type_extend = {0, &__pyx_n_s_extend, 0, 0, 0}; -static PyObject *__pyx_int_0; -static PyObject *__pyx_int_1; -static PyObject *__pyx_int_2; -static PyObject *__pyx_int_3; -static PyObject *__pyx_int_4; -static PyObject *__pyx_int_5; -static PyObject *__pyx_int_8; -static PyObject *__pyx_int_10; -static PyObject *__pyx_int_16; -static PyObject *__pyx_int_20; -static PyObject *__pyx_int_24; -static PyObject *__pyx_int_48; -static PyObject *__pyx_int_99; -static PyObject *__pyx_int_128; -static PyObject *__pyx_int_200; -static PyObject *__pyx_int_1000; -static PyObject *__pyx_int_1024; -static PyObject *__pyx_int_5242; -static PyObject *__pyx_int_10000; -static PyObject *__pyx_int_50000; -static PyObject *__pyx_int_65535; -static PyObject *__pyx_int_65536; -static PyObject *__pyx_int_100000; -static PyObject *__pyx_int_131072; -static PyObject *__pyx_int_261744; -static PyObject *__pyx_int_262044; -static PyObject *__pyx_int_524280; -static PyObject *__pyx_int_524288; -static PyObject *__pyx_int_1048576; -static PyObject *__pyx_int_10000000; -static PyObject *__pyx_int_16777216; -static PyObject *__pyx_int_52428800; -static PyObject *__pyx_int_neg_1; -static PyObject *__pyx_int_neg_2; -static PyObject *__pyx_int_neg_16; -static PyObject *__pyx_int_neg_100; -static PyObject *__pyx_int_neg_800; -static PyObject *__pyx_int_neg_3200; -static PyObject *__pyx_codeobj_; -static PyObject *__pyx_slice__64; -static PyObject *__pyx_tuple__12; -static PyObject *__pyx_tuple__20; -static PyObject *__pyx_tuple__24; -static PyObject *__pyx_tuple__29; -static PyObject *__pyx_tuple__30; -static PyObject *__pyx_tuple__31; -static PyObject *__pyx_tuple__32; -static PyObject *__pyx_tuple__33; -static PyObject *__pyx_tuple__34; -static PyObject *__pyx_tuple__35; -static PyObject *__pyx_tuple__36; -static PyObject *__pyx_tuple__37; -static PyObject *__pyx_tuple__46; -static PyObject *__pyx_tuple__58; -static PyObject *__pyx_tuple__61; -static PyObject *__pyx_tuple__70; -static PyObject *__pyx_tuple__73; -static PyObject *__pyx_tuple__75; -static PyObject *__pyx_tuple__78; -static PyObject *__pyx_tuple__80; -static PyObject *__pyx_tuple__81; -static PyObject *__pyx_tuple__82; -static PyObject *__pyx_tuple__86; -static PyObject *__pyx_tuple__88; -static PyObject *__pyx_tuple__90; -static PyObject *__pyx_tuple__91; -static PyObject *__pyx_tuple__92; -static PyObject *__pyx_tuple__93; -static PyObject *__pyx_tuple__94; -static PyObject *__pyx_tuple__95; -static PyObject *__pyx_tuple__96; -static PyObject *__pyx_tuple__97; -static PyObject *__pyx_tuple__98; -static PyObject *__pyx_tuple__99; -static PyObject *__pyx_codeobj__2; -static PyObject *__pyx_codeobj__3; -static PyObject *__pyx_codeobj__4; -static PyObject *__pyx_codeobj__6; -static PyObject *__pyx_codeobj__7; -static PyObject *__pyx_codeobj__8; -static PyObject *__pyx_codeobj__9; -static PyObject *__pyx_tuple__100; -static PyObject *__pyx_tuple__101; -static PyObject *__pyx_tuple__102; -static PyObject *__pyx_tuple__103; -static PyObject *__pyx_tuple__104; -static PyObject *__pyx_tuple__105; -static PyObject *__pyx_tuple__106; -static PyObject *__pyx_tuple__107; -static PyObject *__pyx_tuple__108; -static PyObject *__pyx_tuple__109; -static PyObject *__pyx_tuple__110; -static PyObject *__pyx_tuple__111; -static PyObject *__pyx_tuple__112; -static PyObject *__pyx_tuple__113; -static PyObject *__pyx_tuple__114; -static PyObject *__pyx_tuple__115; -static PyObject *__pyx_tuple__116; -static PyObject *__pyx_tuple__117; -static PyObject *__pyx_tuple__118; -static PyObject *__pyx_tuple__119; -static PyObject *__pyx_tuple__120; -static PyObject *__pyx_tuple__121; -static PyObject *__pyx_tuple__122; -static PyObject *__pyx_tuple__123; -static PyObject *__pyx_tuple__124; -static PyObject *__pyx_tuple__125; -static PyObject *__pyx_tuple__126; -static PyObject *__pyx_tuple__127; -static PyObject *__pyx_tuple__128; -static PyObject *__pyx_tuple__129; -static PyObject *__pyx_tuple__130; -static PyObject *__pyx_tuple__131; -static PyObject *__pyx_tuple__132; -static PyObject *__pyx_tuple__133; -static PyObject *__pyx_tuple__134; -static PyObject *__pyx_tuple__135; -static PyObject *__pyx_tuple__136; -static PyObject *__pyx_tuple__137; -static PyObject *__pyx_tuple__138; -static PyObject *__pyx_tuple__139; -static PyObject *__pyx_tuple__140; -static PyObject *__pyx_tuple__141; -static PyObject *__pyx_tuple__142; -static PyObject *__pyx_tuple__143; -static PyObject *__pyx_tuple__144; -static PyObject *__pyx_tuple__145; -static PyObject *__pyx_tuple__146; -static PyObject *__pyx_tuple__147; -static PyObject *__pyx_tuple__148; -static PyObject *__pyx_tuple__149; -static PyObject *__pyx_codeobj__10; -static PyObject *__pyx_codeobj__11; -static PyObject *__pyx_codeobj__13; -static PyObject *__pyx_codeobj__14; -static PyObject *__pyx_codeobj__15; -static PyObject *__pyx_codeobj__16; -static PyObject *__pyx_codeobj__17; -static PyObject *__pyx_codeobj__18; -static PyObject *__pyx_codeobj__19; -static PyObject *__pyx_codeobj__21; -static PyObject *__pyx_codeobj__22; -static PyObject *__pyx_codeobj__25; -static PyObject *__pyx_codeobj__26; -static PyObject *__pyx_codeobj__27; -static PyObject *__pyx_codeobj__28; -static PyObject *__pyx_codeobj__38; -static PyObject *__pyx_codeobj__39; -static PyObject *__pyx_codeobj__40; -static PyObject *__pyx_codeobj__41; -static PyObject *__pyx_codeobj__42; -static PyObject *__pyx_codeobj__43; -static PyObject *__pyx_codeobj__44; -static PyObject *__pyx_codeobj__45; -static PyObject *__pyx_codeobj__47; -static PyObject *__pyx_codeobj__48; -static PyObject *__pyx_codeobj__50; -static PyObject *__pyx_codeobj__51; -static PyObject *__pyx_codeobj__52; -static PyObject *__pyx_codeobj__53; -static PyObject *__pyx_codeobj__54; -static PyObject *__pyx_codeobj__55; -static PyObject *__pyx_codeobj__56; -static PyObject *__pyx_codeobj__59; -static PyObject *__pyx_codeobj__62; -static PyObject *__pyx_codeobj__63; -static PyObject *__pyx_codeobj__65; -static PyObject *__pyx_codeobj__66; -static PyObject *__pyx_codeobj__67; -static PyObject *__pyx_codeobj__68; -static PyObject *__pyx_codeobj__69; -static PyObject *__pyx_codeobj__71; -static PyObject *__pyx_codeobj__72; -static PyObject *__pyx_codeobj__74; -static PyObject *__pyx_codeobj__76; -static PyObject *__pyx_codeobj__77; -static PyObject *__pyx_codeobj__79; -static PyObject *__pyx_codeobj__83; -static PyObject *__pyx_codeobj__84; -static PyObject *__pyx_codeobj__85; -static PyObject *__pyx_codeobj__87; -/* Late includes */ - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 - * """ - * - * def __init__(self): # <<<<<<<<<<<<<< - * self.__buf = deque() - * self.__size = 0 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__ = {"__init__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer___init__(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj_) - __Pyx_RefNannySetupContext("__init__", 0); - __Pyx_TraceCall("__init__", __pyx_f[0], 52, 0, __PYX_ERR(0, 52, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":53 - * - * def __init__(self): - * self.__buf = deque() # <<<<<<<<<<<<<< - * self.__size = 0 - * self.__pos = 0 - */ - __Pyx_TraceLine(53,0,__PYX_ERR(0, 53, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_deque); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 53, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf, __pyx_t_1) < 0) __PYX_ERR(0, 53, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":54 - * def __init__(self): - * self.__buf = deque() - * self.__size = 0 # <<<<<<<<<<<<<< - * self.__pos = 0 - * - */ - __Pyx_TraceLine(54,0,__PYX_ERR(0, 54, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size, __pyx_int_0) < 0) __PYX_ERR(0, 54, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":55 - * self.__buf = deque() - * self.__size = 0 - * self.__pos = 0 # <<<<<<<<<<<<<< - * - * def __len__(self): - */ - __Pyx_TraceLine(55,0,__PYX_ERR(0, 55, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__pos, __pyx_int_0) < 0) __PYX_ERR(0, 55, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 - * """ - * - * def __init__(self): # <<<<<<<<<<<<<< - * self.__buf = deque() - * self.__size = 0 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 - * self.__pos = 0 - * - * def __len__(self): # <<<<<<<<<<<<<< - * return self.__size - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__ = {"__len__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__len__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_2__len__(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_2__len__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__2) - __Pyx_RefNannySetupContext("__len__", 0); - __Pyx_TraceCall("__len__", __pyx_f[0], 57, 0, __PYX_ERR(0, 57, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":58 - * - * def __len__(self): - * return self.__size # <<<<<<<<<<<<<< - * - * def write(self, data): - */ - __Pyx_TraceLine(58,0,__PYX_ERR(0, 58, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 - * self.__pos = 0 - * - * def __len__(self): # <<<<<<<<<<<<<< - * return self.__size - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 - * return self.__size - * - * def write(self, data): # <<<<<<<<<<<<<< - * self.__buf.append(data) - * self.__size += len(data) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write = {"write", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_data = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("write (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_data,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_data)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, 1); __PYX_ERR(0, 60, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) __PYX_ERR(0, 60, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_self = values[0]; - __pyx_v_data = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("write", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 60, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.write", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_4write(__pyx_self, __pyx_v_self, __pyx_v_data); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_4write(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_data) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - Py_ssize_t __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__3) - __Pyx_RefNannySetupContext("write", 0); - __Pyx_TraceCall("write", __pyx_f[0], 60, 0, __PYX_ERR(0, 60, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":61 - * - * def write(self, data): - * self.__buf.append(data) # <<<<<<<<<<<<<< - * self.__size += len(data) - * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") - */ - __Pyx_TraceLine(61,0,__PYX_ERR(0, 61, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_v_data); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":62 - * def write(self, data): - * self.__buf.append(data) - * self.__size += len(data) # <<<<<<<<<<<<<< - * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") - * - */ - __Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 62, __pyx_L1_error) - __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size, __pyx_t_5) < 0) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 - * return self.__size - * - * def write(self, data): # <<<<<<<<<<<<<< - * self.__buf.append(data) - * self.__size += len(data) - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.write", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 - * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") - * - * def read(self, size = None): # <<<<<<<<<<<<<< - * if size is None: - * size = self.__size - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read = {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_size = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("read (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_size,0}; - PyObject* values[2] = {0,0}; - values[1] = ((PyObject *)((PyObject *)Py_None)); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 65, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_self = values[0]; - __pyx_v_size = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("read", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 65, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_6read(__pyx_self, __pyx_v_self, __pyx_v_size); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_6read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_size) { - PyObject *__pyx_v_ret_list = NULL; - PyObject *__pyx_v_s = NULL; - PyObject *__pyx_v_remainder = NULL; - PyObject *__pyx_v_ret = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__4) - __Pyx_RefNannySetupContext("read", 0); - __Pyx_TraceCall("read", __pyx_f[0], 65, 0, __PYX_ERR(0, 65, __pyx_L1_error)); - __Pyx_INCREF(__pyx_v_size); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":66 - * - * def read(self, size = None): - * if size is None: # <<<<<<<<<<<<<< - * size = self.__size - * ret_list = [] - */ - __Pyx_TraceLine(66,0,__PYX_ERR(0, 66, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_size == Py_None); - __pyx_t_2 = (__pyx_t_1 != 0); - if (__pyx_t_2) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":67 - * def read(self, size = None): - * if size is None: - * size = self.__size # <<<<<<<<<<<<<< - * ret_list = [] - * while size > 0 and len(self.__buf): - */ - __Pyx_TraceLine(67,0,__PYX_ERR(0, 67, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF_SET(__pyx_v_size, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":66 - * - * def read(self, size = None): - * if size is None: # <<<<<<<<<<<<<< - * size = self.__size - * ret_list = [] - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":68 - * if size is None: - * size = self.__size - * ret_list = [] # <<<<<<<<<<<<<< - * while size > 0 and len(self.__buf): - * s = self.__buf.popleft() - */ - __Pyx_TraceLine(68,0,__PYX_ERR(0, 68, __pyx_L1_error)) - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_v_ret_list = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":69 - * size = self.__size - * ret_list = [] - * while size > 0 and len(self.__buf): # <<<<<<<<<<<<<< - * s = self.__buf.popleft() - * size -= len(s) - */ - __Pyx_TraceLine(69,0,__PYX_ERR(0, 69, __pyx_L1_error)) - while (1) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_size, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_1) { - } else { - __pyx_t_2 = __pyx_t_1; - goto __pyx_L6_bool_binop_done; - } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_1 = (__pyx_t_4 != 0); - __pyx_t_2 = __pyx_t_1; - __pyx_L6_bool_binop_done:; - if (!__pyx_t_2) break; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":70 - * ret_list = [] - * while size > 0 and len(self.__buf): - * s = self.__buf.popleft() # <<<<<<<<<<<<<< - * size -= len(s) - * # print(f"In BytesBUffer read, current size to read: {size}") - */ - __Pyx_TraceLine(70,0,__PYX_ERR(0, 70, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_popleft); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":71 - * while size > 0 and len(self.__buf): - * s = self.__buf.popleft() - * size -= len(s) # <<<<<<<<<<<<<< - * # print(f"In BytesBUffer read, current size to read: {size}") - * ret_list.append(s) - */ - __Pyx_TraceLine(71,0,__PYX_ERR(0, 71, __pyx_L1_error)) - __pyx_t_4 = PyObject_Length(__pyx_v_s); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 71, __pyx_L1_error) - __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = PyNumber_InPlaceSubtract(__pyx_v_size, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_size, __pyx_t_6); - __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":73 - * size -= len(s) - * # print(f"In BytesBUffer read, current size to read: {size}") - * ret_list.append(s) # <<<<<<<<<<<<<< - * if size < 0: - * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") - */ - __Pyx_TraceLine(73,0,__PYX_ERR(0, 73, __pyx_L1_error)) - __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_ret_list, __pyx_v_s); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 73, __pyx_L1_error) - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":74 - * # print(f"In BytesBUffer read, current size to read: {size}") - * ret_list.append(s) - * if size < 0: # <<<<<<<<<<<<<< - * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") - * ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] - */ - __Pyx_TraceLine(74,0,__PYX_ERR(0, 74, __pyx_L1_error)) - __pyx_t_6 = PyObject_RichCompare(__pyx_v_size, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 74, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_2) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":76 - * if size < 0: - * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") - * ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] # <<<<<<<<<<<<<< - * self.__buf.appendleft(remainder) - * - */ - __Pyx_TraceLine(76,0,__PYX_ERR(0, 76, __pyx_L1_error)) - __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_ret_list, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_6, 0, 0, NULL, &__pyx_v_size, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_ret_list, -1L, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_t_6, 0, 0, &__pyx_v_size, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__Pyx_SetItemInt(__pyx_v_ret_list, -1L, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 1, 1, 1) < 0)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_remainder = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":77 - * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") - * ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] - * self.__buf.appendleft(remainder) # <<<<<<<<<<<<<< - * - * ret = b''.join(ret_list) - */ - __Pyx_TraceLine(77,0,__PYX_ERR(0, 77, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_appendleft); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_v_remainder) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_remainder); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":74 - * # print(f"In BytesBUffer read, current size to read: {size}") - * ret_list.append(s) - * if size < 0: # <<<<<<<<<<<<<< - * # print(f"Before correct size, ret list[-1]: {len(ret_list[-1])}") - * ret_list[-1], remainder = ret_list[-1][:size], ret_list[-1][size:] - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":79 - * self.__buf.appendleft(remainder) - * - * ret = b''.join(ret_list) # <<<<<<<<<<<<<< - * self.__size -= len(ret) - * # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") - */ - __Pyx_TraceLine(79,0,__PYX_ERR(0, 79, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyBytes_Join(__pyx_kp_b__5, __pyx_v_ret_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_ret = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":80 - * - * ret = b''.join(ret_list) - * self.__size -= len(ret) # <<<<<<<<<<<<<< - * # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") - * self.__pos += len(ret) - */ - __Pyx_TraceLine(80,0,__PYX_ERR(0, 80, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_Length(__pyx_v_ret); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 80, __pyx_L1_error) - __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyNumber_InPlaceSubtract(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__size, __pyx_t_3) < 0) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":82 - * self.__size -= len(ret) - * # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") - * self.__pos += len(ret) # <<<<<<<<<<<<<< - * return ret - * - */ - __Pyx_TraceLine(82,0,__PYX_ERR(0, 82, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__pos); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_Length(__pyx_v_ret); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 82, __pyx_L1_error) - __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__pos, __pyx_t_5) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":83 - * # print(f"After correct size, ret list[-1]: {len(ret_list[-1])}, len(reminder): {len(remainder)}, len(ret) : {len(ret)}, __size: {self.__size}") - * self.__pos += len(ret) - * return ret # <<<<<<<<<<<<<< - * - * def peek(self, size: int): - */ - __Pyx_TraceLine(83,0,__PYX_ERR(0, 83, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_ret); - __pyx_r = __pyx_v_ret; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 - * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") - * - * def read(self, size = None): # <<<<<<<<<<<<<< - * if size is None: - * size = self.__size - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_ret_list); - __Pyx_XDECREF(__pyx_v_s); - __Pyx_XDECREF(__pyx_v_remainder); - __Pyx_XDECREF(__pyx_v_ret); - __Pyx_XDECREF(__pyx_v_size); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 - * return ret - * - * def peek(self, size: int): # <<<<<<<<<<<<<< - * b = bytearray() - * for i in range(0, min(size, len(self.__buf))): - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek = {"peek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_size = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_size,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, 1); __PYX_ERR(0, 85, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "peek") < 0)) __PYX_ERR(0, 85, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_self = values[0]; - __pyx_v_size = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 85, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_8peek(__pyx_self, __pyx_v_self, __pyx_v_size); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_8peek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_size) { - PyObject *__pyx_v_b = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - Py_ssize_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *(*__pyx_t_7)(PyObject *); - Py_ssize_t __pyx_t_8; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__6) - __Pyx_RefNannySetupContext("peek", 0); - __Pyx_TraceCall("peek", __pyx_f[0], 85, 0, __PYX_ERR(0, 85, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":86 - * - * def peek(self, size: int): - * b = bytearray() # <<<<<<<<<<<<<< - * for i in range(0, min(size, len(self.__buf))): - * b.extend(self.__buf[i]) - */ - __Pyx_TraceLine(86,0,__PYX_ERR(0, 86, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)(&PyByteArray_Type))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_b = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":87 - * def peek(self, size: int): - * b = bytearray() - * for i in range(0, min(size, len(self.__buf))): # <<<<<<<<<<<<<< - * b.extend(self.__buf[i]) - * return bytes(b)[:size] - */ - __Pyx_TraceLine(87,0,__PYX_ERR(0, 87, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_INCREF(__pyx_v_size); - __pyx_t_1 = __pyx_v_size; - __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } else { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); - __Pyx_INCREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; - __pyx_t_7 = NULL; - } else { - __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 87, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (likely(!__pyx_t_7)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 87, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } else { - if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 87, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } - } else { - __pyx_t_3 = __pyx_t_7(__pyx_t_1); - if (unlikely(!__pyx_t_3)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 87, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":88 - * b = bytearray() - * for i in range(0, min(size, len(self.__buf))): - * b.extend(self.__buf[i]) # <<<<<<<<<<<<<< - * return bytes(b)[:size] - * - */ - __Pyx_TraceLine(88,0,__PYX_ERR(0, 88, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__buf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyByteArray_Type_extend, __pyx_v_b, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":87 - * def peek(self, size: int): - * b = bytearray() - * for i in range(0, min(size, len(self.__buf))): # <<<<<<<<<<<<<< - * b.extend(self.__buf[i]) - * return bytes(b)[:size] - */ - __Pyx_TraceLine(87,0,__PYX_ERR(0, 87, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":89 - * for i in range(0, min(size, len(self.__buf))): - * b.extend(self.__buf[i]) - * return bytes(b)[:size] # <<<<<<<<<<<<<< - * - * def flush(self): - */ - __Pyx_TraceLine(89,0,__PYX_ERR(0, 89, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyBytes_Type)), __pyx_v_b); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_size); - __pyx_t_3 = __pyx_v_size; - __pyx_t_6 = (__pyx_t_3 == Py_None); - if (__pyx_t_6) { - __pyx_t_2 = PY_SSIZE_T_MAX; - } else { - __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L1_error) - __pyx_t_2 = __pyx_t_8; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySequence_GetSlice(__pyx_t_1, 0, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 89, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 - * return ret - * - * def peek(self, size: int): # <<<<<<<<<<<<<< - * b = bytearray() - * for i in range(0, min(size, len(self.__buf))): - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_b); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":91 - * return bytes(b)[:size] - * - * def flush(self): # <<<<<<<<<<<<<< - * pass - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush = {"flush", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("flush (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_10flush(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_10flush(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__7) - __Pyx_RefNannySetupContext("flush", 0); - __Pyx_TraceCall("flush", __pyx_f[0], 91, 0, __PYX_ERR(0, 91, __pyx_L1_error)); - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.flush", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":94 - * pass - * - * def close(self): # <<<<<<<<<<<<<< - * pass - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close = {"close", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("close (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_12close(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_12close(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__8) - __Pyx_RefNannySetupContext("close", 0); - __Pyx_TraceCall("close", __pyx_f[0], 94, 0, __PYX_ERR(0, 94, __pyx_L1_error)); - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 - * pass - * - * def tell(self): # <<<<<<<<<<<<<< - * return self.__pos - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell = {"tell", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("tell (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_14tell(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_14tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__9) - __Pyx_RefNannySetupContext("tell", 0); - __Pyx_TraceCall("tell", __pyx_f[0], 97, 0, __PYX_ERR(0, 97, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":98 - * - * def tell(self): - * return self.__pos # <<<<<<<<<<<<<< - * - * def __bool__(self): - */ - __Pyx_TraceLine(98,0,__PYX_ERR(0, 98, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_BytesBuffer__pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 - * pass - * - * def tell(self): # <<<<<<<<<<<<<< - * return self.__pos - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.tell", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 - * return self.__pos - * - * def __bool__(self): # <<<<<<<<<<<<<< - * return True - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__ = {"__bool__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_16__bool__(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_16__bool__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__10) - __Pyx_RefNannySetupContext("__bool__", 0); - __Pyx_TraceCall("__bool__", __pyx_f[0], 100, 0, __PYX_ERR(0, 100, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":101 - * - * def __bool__(self): - * return True # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(101,0,__PYX_ERR(0, 101, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_True); - __pyx_r = Py_True; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 - * return self.__pos - * - * def __bool__(self): # <<<<<<<<<<<<<< - * return True - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.BytesBuffer.__bool__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 - * """ - * - * def __init__(self, fileobj): # <<<<<<<<<<<<<< - * self.__input = fileobj - * self.__buffer = BytesBuffer() - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_fileobj = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__init__ (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_fileobj,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fileobj)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 108, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 108, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_self = values[0]; - __pyx_v_fileobj = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 108, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream___init__(__pyx_self, __pyx_v_self, __pyx_v_fileobj); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_fileobj) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__11) - __Pyx_RefNannySetupContext("__init__", 0); - __Pyx_TraceCall("__init__", __pyx_f[0], 108, 0, __PYX_ERR(0, 108, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":109 - * - * def __init__(self, fileobj): - * self.__input = fileobj # <<<<<<<<<<<<<< - * self.__buffer = BytesBuffer() - * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) - */ - __Pyx_TraceLine(109,0,__PYX_ERR(0, 109, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input, __pyx_v_fileobj) < 0) __PYX_ERR(0, 109, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":110 - * def __init__(self, fileobj): - * self.__input = fileobj - * self.__buffer = BytesBuffer() # <<<<<<<<<<<<<< - * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) - * self.__size = 0 - */ - __Pyx_TraceLine(110,0,__PYX_ERR(0, 110, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesBuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer, __pyx_t_1) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":111 - * self.__input = fileobj - * self.__buffer = BytesBuffer() - * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) # <<<<<<<<<<<<<< - * self.__size = 0 - * - */ - __Pyx_TraceLine(111,0,__PYX_ERR(0, 111, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 111, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_t_3) < 0) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__12, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip, __pyx_t_3) < 0) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":112 - * self.__buffer = BytesBuffer() - * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) - * self.__size = 0 # <<<<<<<<<<<<<< - * - * def _fill_buf_bytes(self, num_bytes=None): - */ - __Pyx_TraceLine(112,0,__PYX_ERR(0, 112, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size, __pyx_int_0) < 0) __PYX_ERR(0, 112, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 - * """ - * - * def __init__(self, fileobj): # <<<<<<<<<<<<<< - * self.__input = fileobj - * self.__buffer = BytesBuffer() - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 - * self.__size = 0 - * - * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< - * try: - * while num_bytes is None or len(self.__buffer) < num_bytes: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes = {"_fill_buf_bytes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_num_bytes = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_fill_buf_bytes (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_num_bytes,0}; - PyObject* values[2] = {0,0}; - values[1] = ((PyObject *)((PyObject *)Py_None)); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_bytes); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_fill_buf_bytes") < 0)) __PYX_ERR(0, 114, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_self = values[0]; - __pyx_v_num_bytes = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_fill_buf_bytes", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 114, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream._fill_buf_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_2_fill_buf_bytes(__pyx_self, __pyx_v_self, __pyx_v_num_bytes); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_2_fill_buf_bytes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes) { - PyObject *__pyx_v_s = NULL; - PyObject *__pyx_v_e = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - Py_UCS4 __pyx_t_11; - Py_ssize_t __pyx_t_12; - int __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__13) - __Pyx_RefNannySetupContext("_fill_buf_bytes", 0); - __Pyx_TraceCall("_fill_buf_bytes", __pyx_f[0], 114, 0, __PYX_ERR(0, 114, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":115 - * - * def _fill_buf_bytes(self, num_bytes=None): - * try: # <<<<<<<<<<<<<< - * while num_bytes is None or len(self.__buffer) < num_bytes: - * s = self.__input.read(num_bytes) - */ - __Pyx_TraceLine(115,0,__PYX_ERR(0, 115, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":116 - * def _fill_buf_bytes(self, num_bytes=None): - * try: - * while num_bytes is None or len(self.__buffer) < num_bytes: # <<<<<<<<<<<<<< - * s = self.__input.read(num_bytes) - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - */ - __Pyx_TraceLine(116,0,__PYX_ERR(0, 116, __pyx_L3_error)) - while (1) { - __pyx_t_5 = (__pyx_v_num_bytes == Py_None); - __pyx_t_6 = (__pyx_t_5 != 0); - if (!__pyx_t_6) { - } else { - __pyx_t_4 = __pyx_t_6; - goto __pyx_L11_bool_binop_done; - } - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 116, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 116, __pyx_L3_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 116, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = PyObject_RichCompare(__pyx_t_7, __pyx_v_num_bytes, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 116, __pyx_L3_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 116, __pyx_L3_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_4 = __pyx_t_6; - __pyx_L11_bool_binop_done:; - if (!__pyx_t_4) break; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":117 - * try: - * while num_bytes is None or len(self.__buffer) < num_bytes: - * s = self.__input.read(num_bytes) # <<<<<<<<<<<<<< - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - * if not s: - */ - __Pyx_TraceLine(117,0,__PYX_ERR(0, 117, __pyx_L3_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 117, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_read); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 117, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_9 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_7, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_num_bytes); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 117, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_9); - __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":118 - * while num_bytes is None or len(self.__buffer) < num_bytes: - * s = self.__input.read(num_bytes) - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") # <<<<<<<<<<<<<< - * if not s: - * self.__gzip.close() - */ - __Pyx_TraceLine(118,0,__PYX_ERR(0, 118, __pyx_L3_error)) - __pyx_t_9 = PyTuple_New(6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 118, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_8 = 0; - __pyx_t_11 = 127; - __Pyx_INCREF(__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); - __pyx_t_8 += 43; - __Pyx_GIVEREF(__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u_In_GzipStream__fill_buf_bytes_nu); - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_v_num_bytes, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_11) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_11; - __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_10); - __pyx_t_10 = 0; - __Pyx_INCREF(__pyx_kp_u_read_in_length); - __pyx_t_8 += 19; - __Pyx_GIVEREF(__pyx_kp_u_read_in_length); - PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u_read_in_length); - __pyx_t_12 = PyObject_Length(__pyx_v_s); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 118, __pyx_L3_error) - __pyx_t_10 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_12, 0, ' ', 'd'); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_10); - __pyx_t_10 = 0; - __Pyx_INCREF(__pyx_kp_u_length_of_buffer); - __pyx_t_8 += 21; - __Pyx_GIVEREF(__pyx_kp_u_length_of_buffer); - PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_kp_u_length_of_buffer); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = PyObject_Length(__pyx_t_10); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 118, __pyx_L3_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_12, 0, ' ', 'd'); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_9, 5, __pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_9, 6, __pyx_t_8, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 118, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":119 - * s = self.__input.read(num_bytes) - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - * if not s: # <<<<<<<<<<<<<< - * self.__gzip.close() - * break - */ - __Pyx_TraceLine(119,0,__PYX_ERR(0, 119, __pyx_L3_error)) - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_s); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 119, __pyx_L3_error) - __pyx_t_6 = ((!__pyx_t_4) != 0); - if (__pyx_t_6) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":120 - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - * if not s: - * self.__gzip.close() # <<<<<<<<<<<<<< - * break - * self.__gzip.write(s) # gzip the current file - */ - __Pyx_TraceLine(120,0,__PYX_ERR(0, 120, __pyx_L3_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 120, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_close); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 120, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 120, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":121 - * if not s: - * self.__gzip.close() - * break # <<<<<<<<<<<<<< - * self.__gzip.write(s) # gzip the current file - * except Exception as e: - */ - __Pyx_TraceLine(121,0,__PYX_ERR(0, 121, __pyx_L3_error)) - goto __pyx_L10_break; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":119 - * s = self.__input.read(num_bytes) - * print(f"In GzipStream _fill_buf_bytes, num_bytes = {num_bytes}, read in length = {len(s)}, length of buffer = {len(self.__buffer)}") - * if not s: # <<<<<<<<<<<<<< - * self.__gzip.close() - * break - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":122 - * self.__gzip.close() - * break - * self.__gzip.write(s) # gzip the current file # <<<<<<<<<<<<<< - * except Exception as e: - * print("Error in _fill_buf_bytes", repr(e)) - */ - __Pyx_TraceLine(122,0,__PYX_ERR(0, 122, __pyx_L3_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__gzip); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 122, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 122, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_9 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_7, __pyx_v_s) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_s); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 122, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_L10_break:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":115 - * - * def _fill_buf_bytes(self, num_bytes=None): - * try: # <<<<<<<<<<<<<< - * while num_bytes is None or len(self.__buffer) < num_bytes: - * s = self.__input.read(num_bytes) - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":123 - * break - * self.__gzip.write(s) # gzip the current file - * except Exception as e: # <<<<<<<<<<<<<< - * print("Error in _fill_buf_bytes", repr(e)) - * raise e - */ - __Pyx_TraceLine(123,0,__PYX_ERR(0, 123, __pyx_L5_except_error)) - __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_13) { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream._fill_buf_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_10, &__pyx_t_7) < 0) __PYX_ERR(0, 123, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GOTREF(__pyx_t_7); - __Pyx_INCREF(__pyx_t_10); - __pyx_v_e = __pyx_t_10; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":124 - * self.__gzip.write(s) # gzip the current file - * except Exception as e: - * print("Error in _fill_buf_bytes", repr(e)) # <<<<<<<<<<<<<< - * raise e - * - */ - __Pyx_TraceLine(124,0,__PYX_ERR(0, 124, __pyx_L5_except_error)) - __pyx_t_14 = PyObject_Repr(__pyx_v_e); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 124, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 124, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF(__pyx_kp_s_Error_in__fill_buf_bytes); - __Pyx_GIVEREF(__pyx_kp_s_Error_in__fill_buf_bytes); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_kp_s_Error_in__fill_buf_bytes); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_15, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 124, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":125 - * except Exception as e: - * print("Error in _fill_buf_bytes", repr(e)) - * raise e # <<<<<<<<<<<<<< - * - * def read(self, num_bytes=None): - */ - __Pyx_TraceLine(125,0,__PYX_ERR(0, 125, __pyx_L5_except_error)) - __Pyx_Raise(__pyx_v_e, 0, 0, 0); - __PYX_ERR(0, 125, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":115 - * - * def _fill_buf_bytes(self, num_bytes=None): - * try: # <<<<<<<<<<<<<< - * while num_bytes is None or len(self.__buffer) < num_bytes: - * s = self.__input.read(num_bytes) - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 - * self.__size = 0 - * - * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< - * try: - * while num_bytes is None or len(self.__buffer) < num_bytes: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream._fill_buf_bytes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_s); - __Pyx_XDECREF(__pyx_v_e); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":127 - * raise e - * - * def read(self, num_bytes=None): # <<<<<<<<<<<<<< - * try: - * self._fill_buf_bytes(num_bytes) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read = {"read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_num_bytes = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("read (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_num_bytes,0}; - PyObject* values[2] = {0,0}; - values[1] = ((PyObject *)((PyObject *)Py_None)); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_bytes); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) __PYX_ERR(0, 127, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_self = values[0]; - __pyx_v_num_bytes = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("read", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 127, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_4read(__pyx_self, __pyx_v_self, __pyx_v_num_bytes); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_4read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes) { - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_e = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - Py_UCS4 __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__14) - __Pyx_RefNannySetupContext("read", 0); - __Pyx_TraceCall("read", __pyx_f[0], 127, 0, __PYX_ERR(0, 127, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":128 - * - * def read(self, num_bytes=None): - * try: # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * data = self.__buffer.read(num_bytes) - */ - __Pyx_TraceLine(128,0,__PYX_ERR(0, 128, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":129 - * def read(self, num_bytes=None): - * try: - * self._fill_buf_bytes(num_bytes) # <<<<<<<<<<<<<< - * data = self.__buffer.read(num_bytes) - * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") - */ - __Pyx_TraceLine(129,0,__PYX_ERR(0, 129, __pyx_L3_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fill_buf_bytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 129, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_num_bytes); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 129, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":130 - * try: - * self._fill_buf_bytes(num_bytes) - * data = self.__buffer.read(num_bytes) # <<<<<<<<<<<<<< - * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") - * self.__size += len(data) - */ - __Pyx_TraceLine(130,0,__PYX_ERR(0, 130, __pyx_L3_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_num_bytes); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 130, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_data = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":132 - * data = self.__buffer.read(num_bytes) - * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") - * self.__size += len(data) # <<<<<<<<<<<<<< - * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") - * return data - */ - __Pyx_TraceLine(132,0,__PYX_ERR(0, 132, __pyx_L3_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 132, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 132, __pyx_L3_error) - __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size, __pyx_t_5) < 0) __PYX_ERR(0, 132, __pyx_L3_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":133 - * # print(f"In GzipStream read(). num_bytes = {num_bytes}, read out data from GzipStream length = {len(data)}") - * self.__size += len(data) - * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") # <<<<<<<<<<<<<< - * return data - * except Exception as e: - */ - __Pyx_TraceLine(133,0,__PYX_ERR(0, 133, __pyx_L3_error)) - __pyx_t_5 = PyTuple_New(6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u_Size_changed_to); - __pyx_t_7 += 16; - __Pyx_GIVEREF(__pyx_kp_u_Size_changed_to); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Size_changed_to); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_INCREF(__pyx_kp_u_num_bytes_was); - __pyx_t_7 += 16; - __Pyx_GIVEREF(__pyx_kp_u_num_bytes_was); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_num_bytes_was); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_num_bytes, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_INCREF(__pyx_kp_u_read_out); - __pyx_t_7 += 11; - __Pyx_GIVEREF(__pyx_kp_u_read_out); - PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u_read_out); - __pyx_t_9 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 133, __pyx_L3_error) - __pyx_t_4 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_9, 0, ' ', 'd'); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_5, 6, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":134 - * self.__size += len(data) - * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") - * return data # <<<<<<<<<<<<<< - * except Exception as e: - * print(repr(e)) - */ - __Pyx_TraceLine(134,0,__PYX_ERR(0, 134, __pyx_L3_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_data); - __pyx_r = __pyx_v_data; - goto __pyx_L7_try_return; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":128 - * - * def read(self, num_bytes=None): - * try: # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * data = self.__buffer.read(num_bytes) - */ - } - __pyx_L3_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":135 - * print(f"Size changed to {self.__size}, num_bytes was {num_bytes}, read out {len(data)}") - * return data - * except Exception as e: # <<<<<<<<<<<<<< - * print(repr(e)) - * - */ - __Pyx_TraceLine(135,0,__PYX_ERR(0, 135, __pyx_L5_except_error)) - __pyx_t_10 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_10) { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 135, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __pyx_v_e = __pyx_t_4; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":136 - * return data - * except Exception as e: - * print(repr(e)) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(136,0,__PYX_ERR(0, 136, __pyx_L5_except_error)) - __pyx_t_11 = PyObject_Repr(__pyx_v_e); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 136, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 136, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L4_exception_handled; - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":128 - * - * def read(self, num_bytes=None): - * try: # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * data = self.__buffer.read(num_bytes) - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L7_try_return:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L0; - __pyx_L4_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":127 - * raise e - * - * def read(self, num_bytes=None): # <<<<<<<<<<<<<< - * try: - * self._fill_buf_bytes(num_bytes) - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_e); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 - * - * - * def close(self): # <<<<<<<<<<<<<< - * self.__input.close() - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close = {"close", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("close (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_6close(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_6close(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__15) - __Pyx_RefNannySetupContext("close", 0); - __Pyx_TraceCall("close", __pyx_f[0], 139, 0, __PYX_ERR(0, 139, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":140 - * - * def close(self): - * self.__input.close() # <<<<<<<<<<<<<< - * - * def peek(self, num_bytes): - */ - __Pyx_TraceLine(140,0,__PYX_ERR(0, 140, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__input); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 - * - * - * def close(self): # <<<<<<<<<<<<<< - * self.__input.close() - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":142 - * self.__input.close() - * - * def peek(self, num_bytes): # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * return self.__buffer.peek(num_bytes) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek = {"peek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_self = 0; - PyObject *__pyx_v_num_bytes = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("peek (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_num_bytes,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_num_bytes)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, 1); __PYX_ERR(0, 142, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "peek") < 0)) __PYX_ERR(0, 142, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_self = values[0]; - __pyx_v_num_bytes = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("peek", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 142, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_8peek(__pyx_self, __pyx_v_self, __pyx_v_num_bytes); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_8peek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_num_bytes) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__16) - __Pyx_RefNannySetupContext("peek", 0); - __Pyx_TraceCall("peek", __pyx_f[0], 142, 0, __PYX_ERR(0, 142, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":143 - * - * def peek(self, num_bytes): - * self._fill_buf_bytes(num_bytes) # <<<<<<<<<<<<<< - * return self.__buffer.peek(num_bytes) - * - */ - __Pyx_TraceLine(143,0,__PYX_ERR(0, 143, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fill_buf_bytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_num_bytes); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":144 - * def peek(self, num_bytes): - * self._fill_buf_bytes(num_bytes) - * return self.__buffer.peek(num_bytes) # <<<<<<<<<<<<<< - * - * def tell(self): - */ - __Pyx_TraceLine(144,0,__PYX_ERR(0, 144, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__buffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_peek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_num_bytes) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_num_bytes); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 144, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":142 - * self.__input.close() - * - * def peek(self, num_bytes): # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * return self.__buffer.peek(num_bytes) - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.peek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 - * return self.__buffer.peek(num_bytes) - * - * def tell(self): # <<<<<<<<<<<<<< - * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") - * return self.__size - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell = {"tell", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("tell (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_10tell(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_10tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__17) - __Pyx_RefNannySetupContext("tell", 0); - __Pyx_TraceCall("tell", __pyx_f[0], 146, 0, __PYX_ERR(0, 146, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":147 - * - * def tell(self): - * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") # <<<<<<<<<<<<<< - * return self.__size - * - */ - __Pyx_TraceLine(147,0,__PYX_ERR(0, 147, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_In_GzipStream_tell_is_called_sel, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":148 - * def tell(self): - * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") - * return self.__size # <<<<<<<<<<<<<< - * - * def seekable(self): - */ - __Pyx_TraceLine(148,0,__PYX_ERR(0, 148, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_GzipStream__size); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 - * return self.__buffer.peek(num_bytes) - * - * def tell(self): # <<<<<<<<<<<<<< - * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") - * return self.__size - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.tell", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 - * return self.__size - * - * def seekable(self): # <<<<<<<<<<<<<< - * return False - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable = {"seekable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable(PyObject *__pyx_self, PyObject *__pyx_v_self) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("seekable (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_12seekable(__pyx_self, ((PyObject *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_12seekable(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__18) - __Pyx_RefNannySetupContext("seekable", 0); - __Pyx_TraceCall("seekable", __pyx_f[0], 150, 0, __PYX_ERR(0, 150, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":151 - * - * def seekable(self): - * return False # <<<<<<<<<<<<<< - * - * def error_fn(*args, **kwargs): - */ - __Pyx_TraceLine(151,0,__PYX_ERR(0, 151, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_False); - __pyx_r = Py_False; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 - * return self.__size - * - * def seekable(self): # <<<<<<<<<<<<<< - * return False - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.GzipStream.seekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 - * return False - * - * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< - * raise Exception("Error") - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn = {"error_fn", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - CYTHON_UNUSED PyObject *__pyx_v_args = 0; - CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("error_fn (wrapper)", 0); - if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "error_fn", 1))) return NULL; - __Pyx_INCREF(__pyx_args); - __pyx_v_args = __pyx_args; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_error_fn(__pyx_self, __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XDECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_error_fn(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__19) - __Pyx_RefNannySetupContext("error_fn", 0); - __Pyx_TraceCall("error_fn", __pyx_f[0], 153, 0, __PYX_ERR(0, 153, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":154 - * - * def error_fn(*args, **kwargs): - * raise Exception("Error") # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(154,0,__PYX_ERR(0, 154, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 154, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 - * return False - * - * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< - * raise Exception("Error") - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.error_fn", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":157 - * - * - * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< - * - * if seek: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element = {"read_element", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_gzf = 0; - PyObject *__pyx_v_element = 0; - PyObject *__pyx_v_seek = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("read_element (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gzf,&__pyx_n_s_element,&__pyx_n_s_seek,0}; - PyObject* values[3] = {0,0,0}; - values[2] = ((PyObject *)Py_True); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gzf)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_element)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("read_element", 0, 2, 3, 1); __PYX_ERR(0, 157, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seek); - if (value) { values[2] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read_element") < 0)) __PYX_ERR(0, 157, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_gzf = values[0]; - __pyx_v_element = values[1]; - __pyx_v_seek = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("read_element", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 157, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_element(__pyx_self, __pyx_v_gzf, __pyx_v_element, __pyx_v_seek); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_2read_element(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gzf, PyObject *__pyx_v_element, PyObject *__pyx_v_seek) { - PyObject *__pyx_v_bytes = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__21) - __Pyx_RefNannySetupContext("read_element", 0); - __Pyx_TraceCall("read_element", __pyx_f[0], 157, 0, __PYX_ERR(0, 157, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":159 - * def read_element(gzf, element, seek=True): - * - * if seek: # <<<<<<<<<<<<<< - * gzf.seek(int(element) * 8) - * - */ - __Pyx_TraceLine(159,0,__PYX_ERR(0, 159, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_seek); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 159, __pyx_L1_error) - if (__pyx_t_1) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":160 - * - * if seek: - * gzf.seek(int(element) * 8) # <<<<<<<<<<<<<< - * - * bytes = gzf.read(8) - */ - __Pyx_TraceLine(160,0,__PYX_ERR(0, 160, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_element); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyNumber_Multiply(__pyx_t_4, __pyx_int_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":159 - * def read_element(gzf, element, seek=True): - * - * if seek: # <<<<<<<<<<<<<< - * gzf.seek(int(element) * 8) - * - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":162 - * gzf.seek(int(element) * 8) - * - * bytes = gzf.read(8) # <<<<<<<<<<<<<< - * val = np.ndarray(1, np.uint64, buffer=bytes) - * - */ - __Pyx_TraceLine(162,0,__PYX_ERR(0, 162, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_bytes = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":163 - * - * bytes = gzf.read(8) - * val = np.ndarray(1, np.uint64, buffer=bytes) # <<<<<<<<<<<<<< - * - * return val[0] - */ - __Pyx_TraceLine(163,0,__PYX_ERR(0, 163, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_v_bytes) < 0) __PYX_ERR(0, 163, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_val = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":165 - * val = np.ndarray(1, np.uint64, buffer=bytes) - * - * return val[0] # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(165,0,__PYX_ERR(0, 165, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_r = __pyx_t_4; - __pyx_t_4 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":157 - * - * - * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< - * - * if seek: - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_bytes); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":168 - * - * - * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< - * with gzip.open(fname, mode='wb') as f: - * for line in lines: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file = {"write_text_to_gzip_file", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_fname = 0; - PyObject *__pyx_v_lines = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("write_text_to_gzip_file (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_fname,&__pyx_n_s_lines,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_fname)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lines)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("write_text_to_gzip_file", 1, 2, 2, 1); __PYX_ERR(0, 168, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_text_to_gzip_file") < 0)) __PYX_ERR(0, 168, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_fname = values[0]; - __pyx_v_lines = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("write_text_to_gzip_file", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 168, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.write_text_to_gzip_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text_to_gzip_file(__pyx_self, __pyx_v_fname, __pyx_v_lines); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_4write_text_to_gzip_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_fname, PyObject *__pyx_v_lines) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_line = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - Py_ssize_t __pyx_t_9; - PyObject *(*__pyx_t_10)(PyObject *); - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__22) - __Pyx_RefNannySetupContext("write_text_to_gzip_file", 0); - __Pyx_TraceCall("write_text_to_gzip_file", __pyx_f[0], 168, 0, __PYX_ERR(0, 168, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":169 - * - * def write_text_to_gzip_file(fname, lines): - * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< - * for line in lines: - * f.write('{}\n'.format(line).encode()) - */ - __Pyx_TraceLine(169,0,__PYX_ERR(0, 169, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 169, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":170 - * def write_text_to_gzip_file(fname, lines): - * with gzip.open(fname, mode='wb') as f: - * for line in lines: # <<<<<<<<<<<<<< - * f.write('{}\n'.format(line).encode()) - * - */ - __Pyx_TraceLine(170,0,__PYX_ERR(0, 170, __pyx_L7_error)) - if (likely(PyList_CheckExact(__pyx_v_lines)) || PyTuple_CheckExact(__pyx_v_lines)) { - __pyx_t_1 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; - __pyx_t_10 = NULL; - } else { - __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 170, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 170, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_10)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 170, __pyx_L7_error) - #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 170, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } else { - if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 170, __pyx_L7_error) - #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 170, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } - } else { - __pyx_t_4 = __pyx_t_10(__pyx_t_1); - if (unlikely(!__pyx_t_4)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 170, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":171 - * with gzip.open(fname, mode='wb') as f: - * for line in lines: - * f.write('{}\n'.format(line).encode()) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(171,0,__PYX_ERR(0, 171, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__23, __pyx_n_s_format); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 171, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_13, __pyx_v_line) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_line); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 171, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_encode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 171, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - } - } - __pyx_t_2 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_4 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_12, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":170 - * def write_text_to_gzip_file(fname, lines): - * with gzip.open(fname, mode='wb') as f: - * for line in lines: # <<<<<<<<<<<<<< - * f.write('{}\n'.format(line).encode()) - * - */ - __Pyx_TraceLine(170,0,__PYX_ERR(0, 170, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":169 - * - * def write_text_to_gzip_file(fname, lines): - * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< - * for line in lines: - * f.write('{}\n'.format(line).encode()) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.write_text_to_gzip_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) __PYX_ERR(0, 169, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 169, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 169, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 169, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L18; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L18:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":168 - * - * - * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< - * with gzip.open(fname, mode='wb') as f: - * for line in lines: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.write_text_to_gzip_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_line); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 - * - * - * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< - * - * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close = {"test_open_close", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_open_close (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_seed,&__pyx_n_s_drop,0}; - PyObject* values[4] = {0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 1); __PYX_ERR(0, 174, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 2); __PYX_ERR(0, 174, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, 3); __PYX_ERR(0, 174, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_close") < 0)) __PYX_ERR(0, 174, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - __pyx_v_seed = values[2]; - __pyx_v_drop = values[3]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_open_close", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 174, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_close(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_seed, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_6test_open_close(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_element = NULL; - PyObject *__pyx_v_readval = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__25) - __Pyx_RefNannySetupContext("test_open_close", 0); - __Pyx_TraceCall("test_open_close", __pyx_f[0], 174, 0, __PYX_ERR(0, 174, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":176 - * def test_open_close(testfile, nelems, seed, drop): - * - * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) # <<<<<<<<<<<<<< - * - * assert not f.closed - */ - __Pyx_TraceLine(176,0,__PYX_ERR(0, 176, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 176, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 176, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_f = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":178 - * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) - * - * assert not f.closed # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - __Pyx_TraceLine(178,0,__PYX_ERR(0, 178, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 178, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 178, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!((!__pyx_t_4) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 178, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":180 - * assert not f.closed - * - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval = read_element(f, element) - * - */ - __Pyx_TraceLine(180,0,__PYX_ERR(0, 180, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_nelems); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_int_1); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_element = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":181 - * - * element = np.random.randint(0, nelems, 1) - * readval = read_element(f, element) # <<<<<<<<<<<<<< - * - * assert readval == element - */ - __Pyx_TraceLine(181,0,__PYX_ERR(0, 181, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_f, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_f, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_6) { - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL; - } - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_5, __pyx_v_f); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_5, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_readval = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":183 - * readval = read_element(f, element) - * - * assert readval == element # <<<<<<<<<<<<<< - * - * f.close() - */ - __Pyx_TraceLine(183,0,__PYX_ERR(0, 183, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 183, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":185 - * assert readval == element - * - * f.close() # <<<<<<<<<<<<<< - * - * assert f.closed - */ - __Pyx_TraceLine(185,0,__PYX_ERR(0, 185, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":187 - * f.close() - * - * assert f.closed # <<<<<<<<<<<<<< - * - * with pytest.raises(IOError): - */ - __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 187, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 187, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":189 - * assert f.closed - * - * with pytest.raises(IOError): # <<<<<<<<<<<<<< - * f.close() - * - */ - __Pyx_TraceLine(189,0,__PYX_ERR(0, 189, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_builtin_IOError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_IOError); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 189, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":190 - * - * with pytest.raises(IOError): - * f.close() # <<<<<<<<<<<<<< - * - * def test_open_function(testfile, nelems): - */ - __Pyx_TraceLine(190,0,__PYX_ERR(0, 190, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 190, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 190, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":189 - * assert f.closed - * - * with pytest.raises(IOError): # <<<<<<<<<<<<<< - * f.close() - * - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 189, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 189, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 189, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_4 < 0) __PYX_ERR(0, 189, __pyx_L9_except_error) - __pyx_t_12 = ((!(__pyx_t_4 != 0)) != 0); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 189, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_7) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 - * - * - * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< - * - * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_element); - __Pyx_XDECREF(__pyx_v_readval); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 - * f.close() - * - * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< - * - * f1 = None - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function = {"test_open_function", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_open_function (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_open_function", 1, 2, 2, 1); __PYX_ERR(0, 192, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_function") < 0)) __PYX_ERR(0, 192, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_open_function", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 192, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_function", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_function(__pyx_self, __pyx_v_testfile, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_8test_open_function(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems) { - PyObject *__pyx_v_f1 = NULL; - PyObject *__pyx_v_f2 = NULL; - PyObject *__pyx_v_element = NULL; - PyObject *__pyx_v_readval1 = NULL; - PyObject *__pyx_v_readval2 = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - int __pyx_t_8; - char const *__pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__26) - __Pyx_RefNannySetupContext("test_open_function", 0); - __Pyx_TraceCall("test_open_function", __pyx_f[0], 192, 0, __PYX_ERR(0, 192, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":194 - * def test_open_function(testfile, nelems): - * - * f1 = None # <<<<<<<<<<<<<< - * f2 = None - * - */ - __Pyx_TraceLine(194,0,__PYX_ERR(0, 194, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f1 = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":195 - * - * f1 = None - * f2 = None # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(195,0,__PYX_ERR(0, 195, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f2 = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":197 - * f2 = None - * - * try: # <<<<<<<<<<<<<< - * - * f1 = igzip.IndexedGzipFile(testfile) - */ - __Pyx_TraceLine(197,0,__PYX_ERR(0, 197, __pyx_L1_error)) - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":199 - * try: - * - * f1 = igzip.IndexedGzipFile(testfile) # <<<<<<<<<<<<<< - * f2 = igzip.open( testfile) - * - */ - __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 199, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 199, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_testfile); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_f1, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":200 - * - * f1 = igzip.IndexedGzipFile(testfile) - * f2 = igzip.open( testfile) # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - __Pyx_TraceLine(200,0,__PYX_ERR(0, 200, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 200, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_testfile); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_f2, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":202 - * f2 = igzip.open( testfile) - * - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval1 = read_element(f1, element) - * readval2 = read_element(f2, element) - */ - __Pyx_TraceLine(202,0,__PYX_ERR(0, 202, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 202, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - { - __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_nelems); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_int_1); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_element = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":203 - * - * element = np.random.randint(0, nelems, 1) - * readval1 = read_element(f1, element) # <<<<<<<<<<<<<< - * readval2 = read_element(f2, element) - * - */ - __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f1, __pyx_v_element}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f1, __pyx_v_element}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - { - __pyx_t_3 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_f1); - __Pyx_GIVEREF(__pyx_v_f1); - PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_v_f1); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_element); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_readval1 = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":204 - * element = np.random.randint(0, nelems, 1) - * readval1 = read_element(f1, element) - * readval2 = read_element(f2, element) # <<<<<<<<<<<<<< - * - * assert readval1 == element - */ - __Pyx_TraceLine(204,0,__PYX_ERR(0, 204, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f2, __pyx_v_element}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f2, __pyx_v_element}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 204, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_f2); - __Pyx_GIVEREF(__pyx_v_f2); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_f2); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_element); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_readval2 = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":206 - * readval2 = read_element(f2, element) - * - * assert readval1 == element # <<<<<<<<<<<<<< - * assert readval2 == element - * - */ - __Pyx_TraceLine(206,0,__PYX_ERR(0, 206, __pyx_L4_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval1, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L4_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 206, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 206, __pyx_L4_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":207 - * - * assert readval1 == element - * assert readval2 == element # <<<<<<<<<<<<<< - * - * finally: - */ - __Pyx_TraceLine(207,0,__PYX_ERR(0, 207, __pyx_L4_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval2, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L4_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 207, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 207, __pyx_L4_error) - } - } - #endif - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":210 - * - * finally: - * if f1 is not None: f1.close() # <<<<<<<<<<<<<< - * if f2 is not None: f2.close() - * - */ - __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L4_error)) - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_6 = (__pyx_v_f1 != Py_None); - __pyx_t_7 = (__pyx_t_6 != 0); - if (__pyx_t_7) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":211 - * finally: - * if f1 is not None: f1.close() - * if f2 is not None: f2.close() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(211,0,__PYX_ERR(0, 211, __pyx_L1_error)) - __pyx_t_7 = (__pyx_v_f2 != Py_None); - __pyx_t_6 = (__pyx_t_7 != 0); - if (__pyx_t_6) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_4 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; - { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":210 - * - * finally: - * if f1 is not None: f1.close() # <<<<<<<<<<<<<< - * if f2 is not None: f2.close() - * - */ - __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L9_error)) - __pyx_t_6 = (__pyx_v_f1 != Py_None); - __pyx_t_7 = (__pyx_t_6 != 0); - if (__pyx_t_7) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":211 - * finally: - * if f1 is not None: f1.close() - * if f2 is not None: f2.close() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(211,0,__PYX_ERR(0, 211, __pyx_L9_error)) - __pyx_t_7 = (__pyx_v_f2 != Py_None); - __pyx_t_6 = (__pyx_t_7 != 0); - if (__pyx_t_6) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; - goto __pyx_L1_error; - __pyx_L9_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 - * f.close() - * - * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< - * - * f1 = None - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_function", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f1); - __Pyx_XDECREF(__pyx_v_f2); - __Pyx_XDECREF(__pyx_v_element); - __Pyx_XDECREF(__pyx_v_readval1); - __Pyx_XDECREF(__pyx_v_readval2); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 - * - * - * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager = {"test_open_close_ctxmanager", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_open_close_ctxmanager (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_seed,&__pyx_n_s_drop,0}; - PyObject* values[4] = {0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 1); __PYX_ERR(0, 214, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 2); __PYX_ERR(0, 214, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, 3); __PYX_ERR(0, 214, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_open_close_ctxmanager") < 0)) __PYX_ERR(0, 214, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - __pyx_v_seed = values[2]; - __pyx_v_drop = values[3]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_open_close_ctxmanager", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 214, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close_ctxmanager", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open_close_ctxmanager(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_seed, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_10test_open_close_ctxmanager(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_element = NULL; - PyObject *__pyx_v_readval = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - int __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__27) - __Pyx_RefNannySetupContext("test_open_close_ctxmanager", 0); - __Pyx_TraceCall("test_open_close_ctxmanager", __pyx_f[0], 214, 0, __PYX_ERR(0, 214, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":216 - * def test_open_close_ctxmanager(testfile, nelems, seed, drop): - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - __Pyx_TraceLine(216,0,__PYX_ERR(0, 216, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 216, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 216, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":218 - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - * - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval = read_element(f, element) - * - */ - __Pyx_TraceLine(218,0,__PYX_ERR(0, 218, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_nelems); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_int_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_element = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":219 - * - * element = np.random.randint(0, nelems, 1) - * readval = read_element(f, element) # <<<<<<<<<<<<<< - * - * assert readval == element - */ - __Pyx_TraceLine(219,0,__PYX_ERR(0, 219, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_f); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_element); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_readval = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":216 - * def test_open_close_ctxmanager(testfile, nelems, seed, drop): - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close_ctxmanager", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 216, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 216, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 216, __pyx_L9_except_error) - __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 216, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":221 - * readval = read_element(f, element) - * - * assert readval == element # <<<<<<<<<<<<<< - * assert f.closed - * - */ - __Pyx_TraceLine(221,0,__PYX_ERR(0, 221, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_readval)) { __Pyx_RaiseUnboundLocalError("readval"); __PYX_ERR(0, 221, __pyx_L1_error) } - if (unlikely(!__pyx_v_element)) { __Pyx_RaiseUnboundLocalError("element"); __PYX_ERR(0, 221, __pyx_L1_error) } - __pyx_t_1 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error) - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 221, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 221, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":222 - * - * assert readval == element - * assert f.closed # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(222,0,__PYX_ERR(0, 222, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 222, __pyx_L1_error) } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 222, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 - * - * - * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_close_ctxmanager", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_element); - __Pyx_XDECREF(__pyx_v_readval); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 - * - * - * def test_open_mode(): # <<<<<<<<<<<<<< - * - * modes = [('r', True), - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode = {"test_open_mode", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_open_mode (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open_mode(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_12test_open_mode(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_modes = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_mode = NULL; - PyObject *__pyx_v_expect = NULL; - PyObject *__pyx_v_gzf = NULL; - PyObject *__pyx_v_BytesIOWithMode = NULL; - PyObject *__pyx_v_fileobj = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - int __pyx_t_15; - Py_ssize_t __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *(*__pyx_t_18)(PyObject *); - int __pyx_t_19; - int __pyx_t_20; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__28) - __Pyx_RefNannySetupContext("test_open_mode", 0); - __Pyx_TraceCall("test_open_mode", __pyx_f[0], 225, 0, __PYX_ERR(0, 225, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":227 - * def test_open_mode(): - * - * modes = [('r', True), # <<<<<<<<<<<<<< - * ('rb', True), - * (None, True), - */ - __Pyx_TraceLine(227,0,__PYX_ERR(0, 227, __pyx_L1_error)) - __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_tuple__29); - __Pyx_GIVEREF(__pyx_tuple__29); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_tuple__29); - __Pyx_INCREF(__pyx_tuple__30); - __Pyx_GIVEREF(__pyx_tuple__30); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_tuple__30); - __Pyx_INCREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_tuple__31); - __Pyx_INCREF(__pyx_tuple__32); - __Pyx_GIVEREF(__pyx_tuple__32); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_tuple__32); - __Pyx_INCREF(__pyx_tuple__33); - __Pyx_GIVEREF(__pyx_tuple__33); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_tuple__33); - __Pyx_INCREF(__pyx_tuple__34); - __Pyx_GIVEREF(__pyx_tuple__34); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_tuple__34); - __pyx_v_modes = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":235 - * - * # open from file - * with tempdir(): # <<<<<<<<<<<<<< - * with gzip.open('f.gz', 'wb') as f: - * f.write(b'12345') - */ - __Pyx_TraceLine(235,0,__PYX_ERR(0, 235, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 - * # open from file - * with tempdir(): - * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(b'12345') - * for mode, expect in modes: - */ - __Pyx_TraceLine(236,0,__PYX_ERR(0, 236, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 236, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __pyx_v_f = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":237 - * with tempdir(): - * with gzip.open('f.gz', 'wb') as f: - * f.write(b'12345') # <<<<<<<<<<<<<< - * for mode, expect in modes: - * if expect: - */ - __Pyx_TraceLine(237,0,__PYX_ERR(0, 237, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_kp_b_12345) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_b_12345); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 - * # open from file - * with tempdir(): - * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(b'12345') - * for mode, expect in modes: - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 236, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 236, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_14 < 0) __PYX_ERR(0, 236, __pyx_L19_except_error) - __pyx_t_15 = ((!(__pyx_t_14 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 236, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 236, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":238 - * with gzip.open('f.gz', 'wb') as f: - * f.write(b'12345') - * for mode, expect in modes: # <<<<<<<<<<<<<< - * if expect: - * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) - */ - __Pyx_TraceLine(238,0,__PYX_ERR(0, 238, __pyx_L7_error)) - __pyx_t_2 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; - for (;;) { - if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 238, __pyx_L7_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 238, __pyx_L7_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_3 = PyList_GET_ITEM(sequence, 0); - __pyx_t_5 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 238, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_17 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 238, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_18 = Py_TYPE(__pyx_t_17)->tp_iternext; - index = 0; __pyx_t_3 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_3)) goto __pyx_L29_unpacking_failed; - __Pyx_GOTREF(__pyx_t_3); - index = 1; __pyx_t_5 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_5)) goto __pyx_L29_unpacking_failed; - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_17), 2) < 0) __PYX_ERR(0, 238, __pyx_L7_error) - __pyx_t_18 = NULL; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - goto __pyx_L30_unpacking_done; - __pyx_L29_unpacking_failed:; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_18 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 238, __pyx_L7_error) - __pyx_L30_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_mode, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_expect, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":239 - * f.write(b'12345') - * for mode, expect in modes: - * if expect: # <<<<<<<<<<<<<< - * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) - * assert gzf.read() == b'12345' - */ - __Pyx_TraceLine(239,0,__PYX_ERR(0, 239, __pyx_L7_error)) - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_expect); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 239, __pyx_L7_error) - if (__pyx_t_15) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":240 - * for mode, expect in modes: - * if expect: - * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< - * assert gzf.read() == b'12345' - * else: - */ - __Pyx_TraceLine(240,0,__PYX_ERR(0, 240, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 240, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__36, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":241 - * if expect: - * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) - * assert gzf.read() == b'12345' # <<<<<<<<<<<<<< - * else: - * with pytest.raises(ValueError): - */ - __Pyx_TraceLine(241,0,__PYX_ERR(0, 241, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_12345, Py_EQ)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 241, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 241, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":239 - * f.write(b'12345') - * for mode, expect in modes: - * if expect: # <<<<<<<<<<<<<< - * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) - * assert gzf.read() == b'12345' - */ - goto __pyx_L31; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":243 - * assert gzf.read() == b'12345' - * else: - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * igzip.IndexedGzipFile('f.gz', mode=mode) - * - */ - __Pyx_TraceLine(243,0,__PYX_ERR(0, 243, __pyx_L7_error)) - /*else*/ { - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 243, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 243, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_17 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 243, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":244 - * else: - * with pytest.raises(ValueError): - * igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< - * - * # open from fileobj - */ - __Pyx_TraceLine(244,0,__PYX_ERR(0, 244, __pyx_L38_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 244, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 244, __pyx_L38_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__36, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 244, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":243 - * assert gzf.read() == b'12345' - * else: - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * igzip.IndexedGzipFile('f.gz', mode=mode) - * - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L45_try_end; - __pyx_L38_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 243, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 243, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_17, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 243, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 243, __pyx_L40_except_error) - __pyx_t_14 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 243, __pyx_L40_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L39_exception_handled; - } - __pyx_L40_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - goto __pyx_L7_error; - __pyx_L39_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - __pyx_L45_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 243, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L37; - } - __pyx_L37:; - } - goto __pyx_L49; - __pyx_L32_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L49:; - } - } - __pyx_L31:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":238 - * with gzip.open('f.gz', 'wb') as f: - * f.write(b'12345') - * for mode, expect in modes: # <<<<<<<<<<<<<< - * if expect: - * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) - */ - __Pyx_TraceLine(238,0,__PYX_ERR(0, 238, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":235 - * - * # open from file - * with tempdir(): # <<<<<<<<<<<<<< - * with gzip.open('f.gz', 'wb') as f: - * f.write(b'12345') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 235, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 235, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_14 < 0) __PYX_ERR(0, 235, __pyx_L9_except_error) - __pyx_t_15 = ((!(__pyx_t_14 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 235, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 235, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L53; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L53:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":247 - * - * # open from fileobj - * class BytesIOWithMode(BytesIO): # <<<<<<<<<<<<<< - * pass - * - */ - __Pyx_TraceLine(247,0,__PYX_ERR(0, 247, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_5, __pyx_n_s_BytesIOWithMode, __pyx_n_s_test_open_mode_locals_BytesIOWit, (PyObject *) NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, (PyObject *) NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_BytesIOWithMode, __pyx_t_5, __pyx_t_2, NULL, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_BytesIOWithMode = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":251 - * - * # accept file-like without mode attribute - * modes.append(('del', True)) # <<<<<<<<<<<<<< - * - * for mode, expect in modes: - */ - __Pyx_TraceLine(251,0,__PYX_ERR(0, 251, __pyx_L1_error)) - __pyx_t_19 = __Pyx_PyList_Append(__pyx_v_modes, __pyx_tuple__37); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 251, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":253 - * modes.append(('del', True)) - * - * for mode, expect in modes: # <<<<<<<<<<<<<< - * - * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): - */ - __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) - __pyx_t_5 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_5); __pyx_t_16 = 0; - for (;;) { - if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 253, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { - PyObject* sequence = __pyx_t_3; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 253, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_2 = PyList_GET_ITEM(sequence, 0); - __pyx_t_1 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - #else - __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_17 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_18 = Py_TYPE(__pyx_t_17)->tp_iternext; - index = 0; __pyx_t_2 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_2)) goto __pyx_L56_unpacking_failed; - __Pyx_GOTREF(__pyx_t_2); - index = 1; __pyx_t_1 = __pyx_t_18(__pyx_t_17); if (unlikely(!__pyx_t_1)) goto __pyx_L56_unpacking_failed; - __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_17), 2) < 0) __PYX_ERR(0, 253, __pyx_L1_error) - __pyx_t_18 = NULL; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - goto __pyx_L57_unpacking_done; - __pyx_L56_unpacking_failed:; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_18 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 253, __pyx_L1_error) - __pyx_L57_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_mode, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_expect, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":255 - * for mode, expect in modes: - * - * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): # <<<<<<<<<<<<<< - * delattr(BytesIOWithMode, 'mode') - * else: - */ - __Pyx_TraceLine(255,0,__PYX_ERR(0, 255, __pyx_L1_error)) - __pyx_t_14 = (__Pyx_PyString_Equals(__pyx_v_mode, __pyx_n_s_del, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 255, __pyx_L1_error) - if (__pyx_t_14) { - } else { - __pyx_t_15 = __pyx_t_14; - goto __pyx_L59_bool_binop_done; - } - __pyx_t_14 = __Pyx_HasAttr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode); if (unlikely(__pyx_t_14 == ((int)-1))) __PYX_ERR(0, 255, __pyx_L1_error) - __pyx_t_20 = (__pyx_t_14 != 0); - __pyx_t_15 = __pyx_t_20; - __pyx_L59_bool_binop_done:; - if (__pyx_t_15) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":256 - * - * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): - * delattr(BytesIOWithMode, 'mode') # <<<<<<<<<<<<<< - * else: - * BytesIOWithMode.mode = mode - */ - __Pyx_TraceLine(256,0,__PYX_ERR(0, 256, __pyx_L1_error)) - __pyx_t_19 = PyObject_DelAttr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 256, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":255 - * for mode, expect in modes: - * - * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): # <<<<<<<<<<<<<< - * delattr(BytesIOWithMode, 'mode') - * else: - */ - goto __pyx_L58; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":258 - * delattr(BytesIOWithMode, 'mode') - * else: - * BytesIOWithMode.mode = mode # <<<<<<<<<<<<<< - * - * fileobj = BytesIOWithMode() - */ - __Pyx_TraceLine(258,0,__PYX_ERR(0, 258, __pyx_L1_error)) - /*else*/ { - if (__Pyx_PyObject_SetAttrStr(__pyx_v_BytesIOWithMode, __pyx_n_s_mode, __pyx_v_mode) < 0) __PYX_ERR(0, 258, __pyx_L1_error) - } - __pyx_L58:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":260 - * BytesIOWithMode.mode = mode - * - * fileobj = BytesIOWithMode() # <<<<<<<<<<<<<< - * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: - * f.write(b'12345') - */ - __Pyx_TraceLine(260,0,__PYX_ERR(0, 260, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_v_BytesIOWithMode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 260, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_XDECREF_SET(__pyx_v_fileobj, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":261 - * - * fileobj = BytesIOWithMode() - * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< - * f.write(b'12345') - * - */ - __Pyx_TraceLine(261,0,__PYX_ERR(0, 261, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 261, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 261, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L61_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_17 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 261, __pyx_L61_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":262 - * fileobj = BytesIOWithMode() - * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: - * f.write(b'12345') # <<<<<<<<<<<<<< - * - * print(mode, expect) - */ - __Pyx_TraceLine(262,0,__PYX_ERR(0, 262, __pyx_L67_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L67_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b_12345) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b_12345); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L67_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":261 - * - * fileobj = BytesIOWithMode() - * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< - * f.write(b'12345') - * - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L74_try_end; - __pyx_L67_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 261, __pyx_L69_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 261, __pyx_L69_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_17, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 261, __pyx_L69_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 261, __pyx_L69_except_error) - __pyx_t_20 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_20) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 261, __pyx_L69_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L68_exception_handled; - } - __pyx_L69_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - goto __pyx_L1_error; - __pyx_L68_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - __pyx_L74_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - goto __pyx_L66; - } - __pyx_L66:; - } - goto __pyx_L78; - __pyx_L61_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L78:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":264 - * f.write(b'12345') - * - * print(mode, expect) # <<<<<<<<<<<<<< - * - * if expect: - */ - __Pyx_TraceLine(264,0,__PYX_ERR(0, 264, __pyx_L1_error)) - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_mode); - __Pyx_GIVEREF(__pyx_v_mode); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_mode); - __Pyx_INCREF(__pyx_v_expect); - __Pyx_GIVEREF(__pyx_v_expect); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_expect); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 - * print(mode, expect) - * - * if expect: # <<<<<<<<<<<<<< - * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' - * else: - */ - __Pyx_TraceLine(266,0,__PYX_ERR(0, 266, __pyx_L1_error)) - __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_expect); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 266, __pyx_L1_error) - if (__pyx_t_20) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":267 - * - * if expect: - * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' # <<<<<<<<<<<<<< - * else: - * with pytest.raises(ValueError): - */ - __Pyx_TraceLine(267,0,__PYX_ERR(0, 267, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 267, __pyx_L1_error) - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_20 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b_12345, Py_EQ)); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 267, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_20)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 267, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":266 - * print(mode, expect) - * - * if expect: # <<<<<<<<<<<<<< - * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' - * else: - */ - goto __pyx_L79; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":269 - * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' - * else: - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * igzip.IndexedGzipFile(fileobj=fileobj).read() - * - */ - __Pyx_TraceLine(269,0,__PYX_ERR(0, 269, __pyx_L1_error)) - /*else*/ { - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_17 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 269, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":270 - * else: - * with pytest.raises(ValueError): - * igzip.IndexedGzipFile(fileobj=fileobj).read() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L86_error)) - __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_igzip); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 270, __pyx_L86_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 270, __pyx_L86_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 270, __pyx_L86_error) - __Pyx_GOTREF(__pyx_t_17); - if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 270, __pyx_L86_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L86_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_read); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 270, __pyx_L86_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 270, __pyx_L86_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":269 - * assert igzip.IndexedGzipFile(fileobj=fileobj).read() == b'12345' - * else: - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * igzip.IndexedGzipFile(fileobj=fileobj).read() - * - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L93_try_end; - __pyx_L86_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_17, &__pyx_t_1) < 0) __PYX_ERR(0, 269, __pyx_L88_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_17); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_17, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L88_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L88_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_20 < 0) __PYX_ERR(0, 269, __pyx_L88_except_error) - __pyx_t_15 = ((!(__pyx_t_20 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_17, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_17 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 269, __pyx_L88_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L87_exception_handled; - } - __pyx_L88_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L87_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L93_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 269, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L85; - } - __pyx_L85:; - } - goto __pyx_L97; - __pyx_L80_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L97:; - } - } - __pyx_L79:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":253 - * modes.append(('del', True)) - * - * for mode, expect in modes: # <<<<<<<<<<<<<< - * - * if mode == 'del' and hasattr(BytesIOWithMode, 'mode'): - */ - __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 - * - * - * def test_open_mode(): # <<<<<<<<<<<<<< - * - * modes = [('r', True), - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_open_mode", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_modes); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_mode); - __Pyx_XDECREF(__pyx_v_expect); - __Pyx_XDECREF(__pyx_v_gzf); - __Pyx_XDECREF(__pyx_v_BytesIOWithMode); - __Pyx_XDECREF(__pyx_v_fileobj); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 - * - * - * def test_atts(testfile, drop): # <<<<<<<<<<<<<< - * - * modes = [None, 'rb', 'r'] - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts = {"test_atts", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_atts (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_drop,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_atts", 1, 2, 2, 1); __PYX_ERR(0, 273, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_atts") < 0)) __PYX_ERR(0, 273, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_testfile = values[0]; - __pyx_v_drop = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_atts", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 273, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts(__pyx_self, __pyx_v_testfile, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_14test_atts(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_modes = NULL; - PyObject *__pyx_v_m = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - Py_ssize_t __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__38) - __Pyx_RefNannySetupContext("test_atts", 0); - __Pyx_TraceCall("test_atts", __pyx_f[0], 273, 0, __PYX_ERR(0, 273, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":275 - * def test_atts(testfile, drop): - * - * modes = [None, 'rb', 'r'] # <<<<<<<<<<<<<< - * - * for m in modes: - */ - __Pyx_TraceLine(275,0,__PYX_ERR(0, 275, __pyx_L1_error)) - __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - PyList_SET_ITEM(__pyx_t_1, 0, Py_None); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __Pyx_INCREF(__pyx_n_s_r); - __Pyx_GIVEREF(__pyx_n_s_r); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_r); - __pyx_v_modes = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":277 - * modes = [None, 'rb', 'r'] - * - * for m in modes: # <<<<<<<<<<<<<< - * with igzip._IndexedGzipFile(filename=testfile, - * mode=m, - */ - __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L1_error)) - __pyx_t_1 = __pyx_v_modes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; - for (;;) { - if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 277, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 277, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":278 - * - * for m in modes: - * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode=m, - * drop_handles=drop) as f: - */ - __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 278, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":279 - * for m in modes: - * with igzip._IndexedGzipFile(filename=testfile, - * mode=m, # <<<<<<<<<<<<<< - * drop_handles=drop) as f: - * assert not f.closed - */ - __Pyx_TraceLine(279,0,__PYX_ERR(0, 279, __pyx_L1_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_v_m) < 0) __PYX_ERR(0, 278, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":280 - * with igzip._IndexedGzipFile(filename=testfile, - * mode=m, - * drop_handles=drop) as f: # <<<<<<<<<<<<<< - * assert not f.closed - * assert f.readable() - */ - __Pyx_TraceLine(280,0,__PYX_ERR(0, 280, __pyx_L1_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 278, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":278 - * - * for m in modes: - * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode=m, - * drop_handles=drop) as f: - */ - __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 278, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":281 - * mode=m, - * drop_handles=drop) as f: - * assert not f.closed # <<<<<<<<<<<<<< - * assert f.readable() - * assert f.seekable() - */ - __Pyx_TraceLine(281,0,__PYX_ERR(0, 281, __pyx_L11_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 281, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 281, __pyx_L11_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!((!__pyx_t_11) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 281, __pyx_L11_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":282 - * drop_handles=drop) as f: - * assert not f.closed - * assert f.readable() # <<<<<<<<<<<<<< - * assert f.seekable() - * assert not f.writable() - */ - __Pyx_TraceLine(282,0,__PYX_ERR(0, 282, __pyx_L11_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 282, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 282, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 282, __pyx_L11_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 282, __pyx_L11_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":283 - * assert not f.closed - * assert f.readable() - * assert f.seekable() # <<<<<<<<<<<<<< - * assert not f.writable() - * assert f.mode == 'rb' - */ - __Pyx_TraceLine(283,0,__PYX_ERR(0, 283, __pyx_L11_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seekable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 283, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 283, __pyx_L11_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 283, __pyx_L11_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":284 - * assert f.readable() - * assert f.seekable() - * assert not f.writable() # <<<<<<<<<<<<<< - * assert f.mode == 'rb' - * assert f.tell() == 0 - */ - __Pyx_TraceLine(284,0,__PYX_ERR(0, 284, __pyx_L11_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_writable); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 284, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 284, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 284, __pyx_L11_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!((!__pyx_t_11) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 284, __pyx_L11_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":285 - * assert f.seekable() - * assert not f.writable() - * assert f.mode == 'rb' # <<<<<<<<<<<<<< - * assert f.tell() == 0 - * - */ - __Pyx_TraceLine(285,0,__PYX_ERR(0, 285, __pyx_L11_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_mode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 285, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s_rb, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 285, __pyx_L11_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 285, __pyx_L11_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":286 - * assert not f.writable() - * assert f.mode == 'rb' - * assert f.tell() == 0 # <<<<<<<<<<<<<< - * - * if not drop: - */ - __Pyx_TraceLine(286,0,__PYX_ERR(0, 286, __pyx_L11_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 286, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 286, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 286, __pyx_L11_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 286, __pyx_L11_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":288 - * assert f.tell() == 0 - * - * if not drop: # <<<<<<<<<<<<<< - * assert f.fileobj() is not None - * assert f.fileno() == f.fileobj().fileno() - */ - __Pyx_TraceLine(288,0,__PYX_ERR(0, 288, __pyx_L11_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_drop); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 288, __pyx_L11_error) - __pyx_t_12 = ((!__pyx_t_11) != 0); - if (__pyx_t_12) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":289 - * - * if not drop: - * assert f.fileobj() is not None # <<<<<<<<<<<<<< - * assert f.fileno() == f.fileobj().fileno() - * else: - */ - __Pyx_TraceLine(289,0,__PYX_ERR(0, 289, __pyx_L11_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 289, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 289, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_12 = (__pyx_t_5 != Py_None); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!(__pyx_t_12 != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 289, __pyx_L11_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":290 - * if not drop: - * assert f.fileobj() is not None - * assert f.fileno() == f.fileobj().fileno() # <<<<<<<<<<<<<< - * else: - * with pytest.raises(igzip.NoHandleError): - */ - __Pyx_TraceLine(290,0,__PYX_ERR(0, 290, __pyx_L11_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 290, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 290, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 290, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_fileno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 290, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L11_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 290, __pyx_L11_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 290, __pyx_L11_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":288 - * assert f.tell() == 0 - * - * if not drop: # <<<<<<<<<<<<<< - * assert f.fileobj() is not None - * assert f.fileno() == f.fileobj().fileno() - */ - goto __pyx_L19; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":292 - * assert f.fileno() == f.fileobj().fileno() - * else: - * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< - * f.fileobj() - * with pytest.raises(igzip.NoHandleError): - */ - __Pyx_TraceLine(292,0,__PYX_ERR(0, 292, __pyx_L11_error)) - /*else*/ { - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pytest); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 292, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_igzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_7 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 292, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_7, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 292, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_7, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 292, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 292, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":293 - * else: - * with pytest.raises(igzip.NoHandleError): - * f.fileobj() # <<<<<<<<<<<<<< - * with pytest.raises(igzip.NoHandleError): - * f.fileno() - */ - __Pyx_TraceLine(293,0,__PYX_ERR(0, 293, __pyx_L26_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 293, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 293, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":292 - * assert f.fileno() == f.fileobj().fileno() - * else: - * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< - * f.fileobj() - * with pytest.raises(igzip.NoHandleError): - */ - } - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - goto __pyx_L33_try_end; - __pyx_L26_error:; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 292, __pyx_L28_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_Pack(3, __pyx_t_7, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L28_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_4, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 292, __pyx_L28_except_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_18); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__pyx_t_12 < 0) __PYX_ERR(0, 292, __pyx_L28_except_error) - __pyx_t_11 = ((!(__pyx_t_12 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_5, __pyx_t_3); - __pyx_t_7 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 292, __pyx_L28_except_error) - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L27_exception_handled; - } - __pyx_L28_except_error:; - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); - goto __pyx_L11_error; - __pyx_L27_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); - __pyx_L33_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_14) { - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 292, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - goto __pyx_L25; - } - __pyx_L25:; - } - goto __pyx_L37; - __pyx_L20_error:; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L11_error; - __pyx_L37:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":294 - * with pytest.raises(igzip.NoHandleError): - * f.fileobj() - * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< - * f.fileno() - * - */ - __Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L11_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 294, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_NoHandleError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 294, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 294, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_16, &__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_15); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":295 - * f.fileobj() - * with pytest.raises(igzip.NoHandleError): - * f.fileno() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(295,0,__PYX_ERR(0, 295, __pyx_L44_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 295, __pyx_L44_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L44_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":294 - * with pytest.raises(igzip.NoHandleError): - * f.fileobj() - * with pytest.raises(igzip.NoHandleError): # <<<<<<<<<<<<<< - * f.fileno() - * - */ - } - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L51_try_end; - __pyx_L44_error:; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_7, &__pyx_t_4) < 0) __PYX_ERR(0, 294, __pyx_L46_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L46_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 294, __pyx_L46_except_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_18); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 294, __pyx_L46_except_error) - __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_7, __pyx_t_4); - __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 294, __pyx_L46_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L45_exception_handled; - } - __pyx_L46_except_error:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_16, __pyx_t_15); - goto __pyx_L11_error; - __pyx_L45_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_16, __pyx_t_15); - __pyx_L51_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_14) { - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 294, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - goto __pyx_L43; - } - __pyx_L43:; - } - goto __pyx_L55; - __pyx_L38_error:; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L11_error; - __pyx_L55:; - } - } - __pyx_L19:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":278 - * - * for m in modes: - * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode=m, - * drop_handles=drop) as f: - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L18_try_end; - __pyx_L11_error:; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_3) < 0) __PYX_ERR(0, 278, __pyx_L13_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 278, __pyx_L13_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 278, __pyx_L13_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_12 < 0) __PYX_ERR(0, 278, __pyx_L13_except_error) - __pyx_t_11 = ((!(__pyx_t_12 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_7, __pyx_t_3); - __pyx_t_4 = 0; __pyx_t_7 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 278, __pyx_L13_except_error) - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L12_exception_handled; - } - __pyx_L13_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L12_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L18_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_6) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 278, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L10; - } - __pyx_L10:; - } - goto __pyx_L59; - __pyx_L5_error:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L1_error; - __pyx_L59:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":277 - * modes = [None, 'rb', 'r'] - * - * for m in modes: # <<<<<<<<<<<<<< - * with igzip._IndexedGzipFile(filename=testfile, - * mode=m, - */ - __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 - * - * - * def test_atts(testfile, drop): # <<<<<<<<<<<<<< - * - * modes = [None, 'rb', 'r'] - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_atts", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_modes); - __Pyx_XDECREF(__pyx_v_m); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 - * - * - * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases = {"test_init_failure_cases", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_concat = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_init_failure_cases (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_concat,&__pyx_n_s_drop,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_concat)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_init_failure_cases", 1, 2, 2, 1); __PYX_ERR(0, 298, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_failure_cases") < 0)) __PYX_ERR(0, 298, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_concat = values[0]; - __pyx_v_drop = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_init_failure_cases", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 298, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init_failure_cases(__pyx_self, __pyx_v_concat, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_16test_init_failure_cases(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_testfile = NULL; - CYTHON_UNUSED PyObject *__pyx_v_gf = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__39) - __Pyx_RefNannySetupContext("test_init_failure_cases", 0); - __Pyx_TraceCall("test_init_failure_cases", __pyx_f[0], 298, 0, __PYX_ERR(0, 298, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":300 - * def test_init_failure_cases(concat, drop): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * testfile = op.join(td, 'test.gz') - * gen_test_data(testfile, 65536, concat) - */ - __Pyx_TraceLine(300,0,__PYX_ERR(0, 300, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 300, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":301 - * - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * gen_test_data(testfile, 65536, concat) - * - */ - __Pyx_TraceLine(301,0,__PYX_ERR(0, 301, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 301, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 301, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_testfile = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":302 - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') - * gen_test_data(testfile, 65536, concat) # <<<<<<<<<<<<<< - * - * # No writing - */ - __Pyx_TraceLine(302,0,__PYX_ERR(0, 302, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 302, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 302, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_testfile); - __Pyx_INCREF(__pyx_int_65536); - __Pyx_GIVEREF(__pyx_int_65536); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_int_65536); - __Pyx_INCREF(__pyx_v_concat); - __Pyx_GIVEREF(__pyx_v_concat); - PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 302, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":305 - * - * # No writing - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * gf = igzip._IndexedGzipFile(filename=testfile, - * mode='w', - */ - __Pyx_TraceLine(305,0,__PYX_ERR(0, 305, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 305, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":306 - * # No writing - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode='w', - * drop_handles=drop) - */ - __Pyx_TraceLine(306,0,__PYX_ERR(0, 306, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 306, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 306, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 306, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 306, __pyx_L17_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_w) < 0) __PYX_ERR(0, 306, __pyx_L17_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":308 - * gf = igzip._IndexedGzipFile(filename=testfile, - * mode='w', - * drop_handles=drop) # <<<<<<<<<<<<<< - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(filename=testfile, - */ - __Pyx_TraceLine(308,0,__PYX_ERR(0, 308, __pyx_L17_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 306, __pyx_L17_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":306 - * # No writing - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode='w', - * drop_handles=drop) - */ - __Pyx_TraceLine(306,0,__PYX_ERR(0, 306, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 306, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_gf = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":305 - * - * # No writing - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * gf = igzip._IndexedGzipFile(filename=testfile, - * mode='w', - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 305, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 305, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 305, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 305, __pyx_L19_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 305, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 305, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":309 - * mode='w', - * drop_handles=drop) - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * gf = igzip._IndexedGzipFile(filename=testfile, - * mode='wb', - */ - __Pyx_TraceLine(309,0,__PYX_ERR(0, 309, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 309, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 309, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":310 - * drop_handles=drop) - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode='wb', - * drop_handles=drop) - */ - __Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L31_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 310, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 310, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 310, __pyx_L31_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 310, __pyx_L31_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":312 - * gf = igzip._IndexedGzipFile(filename=testfile, - * mode='wb', - * drop_handles=drop) # <<<<<<<<<<<<<< - * - * # No writing - */ - __Pyx_TraceLine(312,0,__PYX_ERR(0, 312, __pyx_L31_error)) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 310, __pyx_L31_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":310 - * drop_handles=drop) - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode='wb', - * drop_handles=drop) - */ - __Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":309 - * mode='w', - * drop_handles=drop) - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * gf = igzip._IndexedGzipFile(filename=testfile, - * mode='wb', - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 309, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 309, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 309, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 309, __pyx_L33_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 309, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 309, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L40; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L40:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":315 - * - * # No writing - * f = open(testfile, mode='wb') # <<<<<<<<<<<<<< - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - */ - __Pyx_TraceLine(315,0,__PYX_ERR(0, 315, __pyx_L7_error)) - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 315, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 315, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_f = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":316 - * # No writing - * f = open(testfile, mode='wb') - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - * f.close() - */ - __Pyx_TraceLine(316,0,__PYX_ERR(0, 316, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 316, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":317 - * f = open(testfile, mode='wb') - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< - * f.close() - * - */ - __Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L45_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 317, __pyx_L45_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 317, __pyx_L45_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":316 - * # No writing - * f = open(testfile, mode='wb') - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - * f.close() - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L50_try_end; - __pyx_L45_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 316, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 316, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 316, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 316, __pyx_L47_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_2); - __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 316, __pyx_L47_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L46_exception_handled; - } - __pyx_L47_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L46_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L50_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L44; - } - __pyx_L44:; - } - goto __pyx_L54; - __pyx_L41_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L54:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":318 - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - * f.close() # <<<<<<<<<<<<<< - * - * # No writing - */ - __Pyx_TraceLine(318,0,__PYX_ERR(0, 318, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 318, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 318, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":321 - * - * # No writing - * f = open(testfile, mode='w') # <<<<<<<<<<<<<< - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - */ - __Pyx_TraceLine(321,0,__PYX_ERR(0, 321, __pyx_L7_error)) - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_mode, __pyx_n_s_w) < 0) __PYX_ERR(0, 321, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 321, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":322 - * # No writing - * f = open(testfile, mode='w') - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - * f.close() - */ - __Pyx_TraceLine(322,0,__PYX_ERR(0, 322, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 322, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 322, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":323 - * f = open(testfile, mode='w') - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< - * f.close() - * - */ - __Pyx_TraceLine(323,0,__PYX_ERR(0, 323, __pyx_L59_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 323, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 323, __pyx_L59_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 323, __pyx_L59_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_gf, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":322 - * # No writing - * f = open(testfile, mode='w') - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - * f.close() - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L64_try_end; - __pyx_L59_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 322, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 322, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 322, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 322, __pyx_L61_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 322, __pyx_L61_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L60_exception_handled; - } - __pyx_L61_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L60_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L64_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 322, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L58; - } - __pyx_L58:; - } - goto __pyx_L68; - __pyx_L55_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L68:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":324 - * with pytest.raises(ValueError): - * gf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - * f.close() # <<<<<<<<<<<<<< - * - * # Need a filename or fid - */ - __Pyx_TraceLine(324,0,__PYX_ERR(0, 324, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 324, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 324, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":327 - * - * # Need a filename or fid - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * f = igzip._IndexedGzipFile(drop_handles=drop) - * - */ - __Pyx_TraceLine(327,0,__PYX_ERR(0, 327, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pytest); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_raises); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 327, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 327, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 327, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 327, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 327, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":328 - * # Need a filename or fid - * with pytest.raises(ValueError): - * f = igzip._IndexedGzipFile(drop_handles=drop) # <<<<<<<<<<<<<< - * - * # can only specify one of filename/fid - */ - __Pyx_TraceLine(328,0,__PYX_ERR(0, 328, __pyx_L73_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 328, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 328, __pyx_L73_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 328, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":327 - * - * # Need a filename or fid - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * f = igzip._IndexedGzipFile(drop_handles=drop) - * - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L78_try_end; - __pyx_L73_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 327, __pyx_L75_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 327, __pyx_L75_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 327, __pyx_L75_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 327, __pyx_L75_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 327, __pyx_L75_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L74_exception_handled; - } - __pyx_L75_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L74_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L78_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 327, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L72; - } - __pyx_L72:; - } - goto __pyx_L82; - __pyx_L69_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L82:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 - * - * # can only specify one of filename/fid - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * with open(testfile, mode='rb'): - * f = igzip._IndexedGzipFile(filename=testfile, - */ - __Pyx_TraceLine(331,0,__PYX_ERR(0, 331, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 331, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 331, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L83_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L83_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":332 - * # can only specify one of filename/fid - * with pytest.raises(ValueError): - * with open(testfile, mode='rb'): # <<<<<<<<<<<<<< - * f = igzip._IndexedGzipFile(filename=testfile, - * fileobj=f, - */ - __Pyx_TraceLine(332,0,__PYX_ERR(0, 332, __pyx_L87_error)) - /*with:*/ { - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_rb) < 0) __PYX_ERR(0, 332, __pyx_L87_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 332, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 332, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 332, __pyx_L93_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L93_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":333 - * with pytest.raises(ValueError): - * with open(testfile, mode='rb'): - * f = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * fileobj=f, - * drop_handles=drop) - */ - __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L97_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L97_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 333, __pyx_L97_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L97_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 333, __pyx_L97_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":334 - * with open(testfile, mode='rb'): - * f = igzip._IndexedGzipFile(filename=testfile, - * fileobj=f, # <<<<<<<<<<<<<< - * drop_handles=drop) - * - */ - __Pyx_TraceLine(334,0,__PYX_ERR(0, 334, __pyx_L97_error)) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 333, __pyx_L97_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":335 - * f = igzip._IndexedGzipFile(filename=testfile, - * fileobj=f, - * drop_handles=drop) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(335,0,__PYX_ERR(0, 335, __pyx_L97_error)) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 333, __pyx_L97_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":333 - * with pytest.raises(ValueError): - * with open(testfile, mode='rb'): - * f = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * fileobj=f, - * drop_handles=drop) - */ - __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L97_error)) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 333, __pyx_L97_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":332 - * # can only specify one of filename/fid - * with pytest.raises(ValueError): - * with open(testfile, mode='rb'): # <<<<<<<<<<<<<< - * f = igzip._IndexedGzipFile(filename=testfile, - * fileobj=f, - */ - } - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - goto __pyx_L102_try_end; - __pyx_L97_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 332, __pyx_L99_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 332, __pyx_L99_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 332, __pyx_L99_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 332, __pyx_L99_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 332, __pyx_L99_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L98_exception_handled; - } - __pyx_L99_except_error:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); - goto __pyx_L87_error; - __pyx_L98_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_L102_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_14) { - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 332, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - goto __pyx_L96; - } - __pyx_L96:; - } - goto __pyx_L106; - __pyx_L93_error:; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L87_error; - __pyx_L106:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":331 - * - * # can only specify one of filename/fid - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * with open(testfile, mode='rb'): - * f = igzip._IndexedGzipFile(filename=testfile, - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L92_try_end; - __pyx_L87_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 331, __pyx_L89_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 331, __pyx_L89_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 331, __pyx_L89_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 331, __pyx_L89_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 331, __pyx_L89_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L88_exception_handled; - } - __pyx_L89_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L88_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L92_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 331, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L86; - } - __pyx_L86:; - } - goto __pyx_L110; - __pyx_L83_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L110:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":300 - * def test_init_failure_cases(concat, drop): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * testfile = op.join(td, 'test.gz') - * gen_test_data(testfile, 65536, concat) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 300, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 300, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 300, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 300, __pyx_L9_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 300, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L114; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L114:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 - * - * - * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_failure_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_testfile); - __Pyx_XDECREF(__pyx_v_gf); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 - * - * - * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases = {"test_init_success_cases", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_concat = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_init_success_cases (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_concat,&__pyx_n_s_drop,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_concat)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_init_success_cases", 1, 2, 2, 1); __PYX_ERR(0, 338, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_success_cases") < 0)) __PYX_ERR(0, 338, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_concat = values[0]; - __pyx_v_drop = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_init_success_cases", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 338, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_success_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init_success_cases(__pyx_self, __pyx_v_concat, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_18test_init_success_cases(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_testfile = NULL; - PyObject *__pyx_v_gf1 = NULL; - PyObject *__pyx_v_gf2 = NULL; - PyObject *__pyx_v_gf3 = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - int __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__40) - __Pyx_RefNannySetupContext("test_init_success_cases", 0); - __Pyx_TraceCall("test_init_success_cases", __pyx_f[0], 338, 0, __PYX_ERR(0, 338, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":339 - * - * def test_init_success_cases(concat, drop): - * with tempdir() as td: # <<<<<<<<<<<<<< - * testfile = op.join(td, 'test.gz') - * gen_test_data(testfile, 65536, concat) - */ - __Pyx_TraceLine(339,0,__PYX_ERR(0, 339, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 339, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 339, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":340 - * def test_init_success_cases(concat, drop): - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * gen_test_data(testfile, 65536, concat) - * - */ - __Pyx_TraceLine(340,0,__PYX_ERR(0, 340, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 340, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 340, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 340, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 340, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 340, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_testfile = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":341 - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') - * gen_test_data(testfile, 65536, concat) # <<<<<<<<<<<<<< - * - * gf1 = igzip._IndexedGzipFile(filename=testfile, - */ - __Pyx_TraceLine(341,0,__PYX_ERR(0, 341, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 341, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_int_65536, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 341, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_testfile); - __Pyx_INCREF(__pyx_int_65536); - __Pyx_GIVEREF(__pyx_int_65536); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_int_65536); - __Pyx_INCREF(__pyx_v_concat); - __Pyx_GIVEREF(__pyx_v_concat); - PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 341, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":343 - * gen_test_data(testfile, 65536, concat) - * - * gf1 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * drop_handles=drop) - * gf2 = igzip._IndexedGzipFile(filename=testfile, - */ - __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 343, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":344 - * - * gf1 = igzip._IndexedGzipFile(filename=testfile, - * drop_handles=drop) # <<<<<<<<<<<<<< - * gf2 = igzip._IndexedGzipFile(filename=testfile, - * mode='r', - */ - __Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L7_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 343, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":343 - * gen_test_data(testfile, 65536, concat) - * - * gf1 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * drop_handles=drop) - * gf2 = igzip._IndexedGzipFile(filename=testfile, - */ - __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_gf1 = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":345 - * gf1 = igzip._IndexedGzipFile(filename=testfile, - * drop_handles=drop) - * gf2 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode='r', - * drop_handles=drop) - */ - __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 345, __pyx_L7_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_r) < 0) __PYX_ERR(0, 345, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":347 - * gf2 = igzip._IndexedGzipFile(filename=testfile, - * mode='r', - * drop_handles=drop) # <<<<<<<<<<<<<< - * gf3 = igzip._IndexedGzipFile(filename=testfile, - * mode='rb', - */ - __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L7_error)) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 345, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":345 - * gf1 = igzip._IndexedGzipFile(filename=testfile, - * drop_handles=drop) - * gf2 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode='r', - * drop_handles=drop) - */ - __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_gf2 = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":348 - * mode='r', - * drop_handles=drop) - * gf3 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode='rb', - * drop_handles=drop) - */ - __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 348, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 348, __pyx_L7_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_mode, __pyx_n_s_rb) < 0) __PYX_ERR(0, 348, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":350 - * gf3 = igzip._IndexedGzipFile(filename=testfile, - * mode='rb', - * drop_handles=drop) # <<<<<<<<<<<<<< - * gf1.close() - * gf2.close() - */ - __Pyx_TraceLine(350,0,__PYX_ERR(0, 350, __pyx_L7_error)) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 348, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":348 - * mode='r', - * drop_handles=drop) - * gf3 = igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * mode='rb', - * drop_handles=drop) - */ - __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 348, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_gf3 = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":351 - * mode='rb', - * drop_handles=drop) - * gf1.close() # <<<<<<<<<<<<<< - * gf2.close() - * gf3.close() - */ - __Pyx_TraceLine(351,0,__PYX_ERR(0, 351, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":352 - * drop_handles=drop) - * gf1.close() - * gf2.close() # <<<<<<<<<<<<<< - * gf3.close() - * del gf1 - */ - __Pyx_TraceLine(352,0,__PYX_ERR(0, 352, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 352, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 352, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":353 - * gf1.close() - * gf2.close() - * gf3.close() # <<<<<<<<<<<<<< - * del gf1 - * del gf2 - */ - __Pyx_TraceLine(353,0,__PYX_ERR(0, 353, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 353, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 353, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":354 - * gf2.close() - * gf3.close() - * del gf1 # <<<<<<<<<<<<<< - * del gf2 - * del gf3 - */ - __Pyx_TraceLine(354,0,__PYX_ERR(0, 354, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gf1); - __pyx_v_gf1 = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":355 - * gf3.close() - * del gf1 - * del gf2 # <<<<<<<<<<<<<< - * del gf3 - * - */ - __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gf2); - __pyx_v_gf2 = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":356 - * del gf1 - * del gf2 - * del gf3 # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(356,0,__PYX_ERR(0, 356, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gf3); - __pyx_v_gf3 = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":339 - * - * def test_init_success_cases(concat, drop): - * with tempdir() as td: # <<<<<<<<<<<<<< - * testfile = op.join(td, 'test.gz') - * gen_test_data(testfile, 65536, concat) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_success_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 339, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 339, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 339, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 339, __pyx_L9_except_error) - __pyx_t_12 = ((!(__pyx_t_11 != 0)) != 0); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 339, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 - * - * - * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_init_success_cases", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_testfile); - __Pyx_XDECREF(__pyx_v_gf1); - __Pyx_XDECREF(__pyx_v_gf2); - __Pyx_XDECREF(__pyx_v_gf3); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 - * - * - * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< - * - * f = open(testfile, 'rb') - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle = {"test_create_from_open_handle", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - PyObject *__pyx_v_drop = 0; - PyObject *__pyx_v_file_like_object = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_create_from_open_handle (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_seed,&__pyx_n_s_drop,&__pyx_n_s_file_like_object,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 1); __PYX_ERR(0, 359, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 2); __PYX_ERR(0, 359, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 3); __PYX_ERR(0, 359, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_file_like_object)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, 4); __PYX_ERR(0, 359, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_create_from_open_handle") < 0)) __PYX_ERR(0, 359, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - __pyx_v_seed = values[2]; - __pyx_v_drop = values[3]; - __pyx_v_file_like_object = values[4]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_create_from_open_handle", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 359, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_create_from_open_handle", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_create_from_open_handle(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_seed, __pyx_v_drop, __pyx_v_file_like_object); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_20test_create_from_open_handle(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop, PyObject *__pyx_v_file_like_object) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_gzf = NULL; - PyObject *__pyx_v_element = NULL; - PyObject *__pyx_v_readval = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - char const *__pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__41) - __Pyx_RefNannySetupContext("test_create_from_open_handle", 0); - __Pyx_TraceCall("test_create_from_open_handle", __pyx_f[0], 359, 0, __PYX_ERR(0, 359, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":361 - * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): - * - * f = open(testfile, 'rb') # <<<<<<<<<<<<<< - * if file_like_object: - * f = BytesIO(f.read()) - */ - __Pyx_TraceLine(361,0,__PYX_ERR(0, 361, __pyx_L1_error)) - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":362 - * - * f = open(testfile, 'rb') - * if file_like_object: # <<<<<<<<<<<<<< - * f = BytesIO(f.read()) - * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - */ - __Pyx_TraceLine(362,0,__PYX_ERR(0, 362, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_file_like_object); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 362, __pyx_L1_error) - if (__pyx_t_3) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":363 - * f = open(testfile, 'rb') - * if file_like_object: - * f = BytesIO(f.read()) # <<<<<<<<<<<<<< - * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - * - */ - __Pyx_TraceLine(363,0,__PYX_ERR(0, 363, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":362 - * - * f = open(testfile, 'rb') - * if file_like_object: # <<<<<<<<<<<<<< - * f = BytesIO(f.read()) - * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":364 - * if file_like_object: - * f = BytesIO(f.read()) - * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) # <<<<<<<<<<<<<< - * - * assert gzf.fileobj() is f - */ - __Pyx_TraceLine(364,0,__PYX_ERR(0, 364, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 364, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 364, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_gzf = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":366 - * gzf = igzip._IndexedGzipFile(fileobj=f, drop_handles=drop) - * - * assert gzf.fileobj() is f # <<<<<<<<<<<<<< - * assert not gzf.drop_handles - * - */ - __Pyx_TraceLine(366,0,__PYX_ERR(0, 366, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = (__pyx_t_4 == __pyx_v_f); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!(__pyx_t_3 != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 366, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":367 - * - * assert gzf.fileobj() is f - * assert not gzf.drop_handles # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - __Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!((!__pyx_t_3) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 367, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":369 - * assert not gzf.drop_handles - * - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval = read_element(gzf, element) - * - */ - __Pyx_TraceLine(369,0,__PYX_ERR(0, 369, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - { - __pyx_t_5 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_v_nelems); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_7, __pyx_int_1); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 369, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_element = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":370 - * - * element = np.random.randint(0, nelems, 1) - * readval = read_element(gzf, element) # <<<<<<<<<<<<<< - * - * gzf.close() - */ - __Pyx_TraceLine(370,0,__PYX_ERR(0, 370, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_7 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_gzf); - __Pyx_GIVEREF(__pyx_v_gzf); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_7, __pyx_v_gzf); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_7, __pyx_v_element); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_readval = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":372 - * readval = read_element(gzf, element) - * - * gzf.close() # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(372,0,__PYX_ERR(0, 372, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":374 - * gzf.close() - * - * try: # <<<<<<<<<<<<<< - * assert readval == element - * assert gzf.closed - */ - __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":375 - * - * try: - * assert readval == element # <<<<<<<<<<<<<< - * assert gzf.closed - * assert not f.closed - */ - __Pyx_TraceLine(375,0,__PYX_ERR(0, 375, __pyx_L5_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 375, __pyx_L5_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 375, __pyx_L5_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 375, __pyx_L5_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":376 - * try: - * assert readval == element - * assert gzf.closed # <<<<<<<<<<<<<< - * assert not f.closed - * - */ - __Pyx_TraceLine(376,0,__PYX_ERR(0, 376, __pyx_L5_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 376, __pyx_L5_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 376, __pyx_L5_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":377 - * assert readval == element - * assert gzf.closed - * assert not f.closed # <<<<<<<<<<<<<< - * - * finally: - */ - __Pyx_TraceLine(377,0,__PYX_ERR(0, 377, __pyx_L5_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_closed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 377, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 377, __pyx_L5_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!((!__pyx_t_3) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 377, __pyx_L5_error) - } - } - #endif - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":380 - * - * finally: - * f.close() # <<<<<<<<<<<<<< - * del gzf - * del f - */ - __Pyx_TraceLine(380,0,__PYX_ERR(0, 380, __pyx_L5_error)) - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":381 - * finally: - * f.close() - * del gzf # <<<<<<<<<<<<<< - * del f - * - */ - __Pyx_TraceLine(381,0,__PYX_ERR(0, 381, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":382 - * f.close() - * del gzf - * del f # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(382,0,__PYX_ERR(0, 382, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - goto __pyx_L6; - } - __pyx_L5_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_7 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; - { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":380 - * - * finally: - * f.close() # <<<<<<<<<<<<<< - * del gzf - * del f - */ - __Pyx_TraceLine(380,0,__PYX_ERR(0, 380, __pyx_L8_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 380, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 380, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":381 - * finally: - * f.close() - * del gzf # <<<<<<<<<<<<<< - * del f - * - */ - __Pyx_TraceLine(381,0,__PYX_ERR(0, 381, __pyx_L8_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":382 - * f.close() - * del gzf - * del f # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(382,0,__PYX_ERR(0, 382, __pyx_L8_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __pyx_lineno = __pyx_t_7; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; - goto __pyx_L1_error; - __pyx_L8_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - goto __pyx_L1_error; - } - __pyx_L6:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 - * - * - * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< - * - * f = open(testfile, 'rb') - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_create_from_open_handle", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_gzf); - __Pyx_XDECREF(__pyx_v_element); - __Pyx_XDECREF(__pyx_v_readval); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 - * - * - * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< - * - * f = None - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj = {"test_accept_filename_or_fileobj", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_accept_filename_or_fileobj (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_accept_filename_or_fileobj", 1, 2, 2, 1); __PYX_ERR(0, 385, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_accept_filename_or_fileobj") < 0)) __PYX_ERR(0, 385, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_accept_filename_or_fileobj", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 385, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_accept_filename_or_fileobj", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_accept_filename_or_fileobj(__pyx_self, __pyx_v_testfile, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_22test_accept_filename_or_fileobj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_gzf1 = NULL; - PyObject *__pyx_v_gzf2 = NULL; - PyObject *__pyx_v_gzf3 = NULL; - PyObject *__pyx_v_element = NULL; - PyObject *__pyx_v_readval1 = NULL; - PyObject *__pyx_v_readval2 = NULL; - PyObject *__pyx_v_readval3 = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; - int __pyx_t_9; - int __pyx_t_10; - int __pyx_t_11; - char const *__pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__42) - __Pyx_RefNannySetupContext("test_accept_filename_or_fileobj", 0); - __Pyx_TraceCall("test_accept_filename_or_fileobj", __pyx_f[0], 385, 0, __PYX_ERR(0, 385, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":387 - * def test_accept_filename_or_fileobj(testfile, nelems): - * - * f = None # <<<<<<<<<<<<<< - * gzf1 = None - * gzf2 = None - */ - __Pyx_TraceLine(387,0,__PYX_ERR(0, 387, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":388 - * - * f = None - * gzf1 = None # <<<<<<<<<<<<<< - * gzf2 = None - * gzf3 = None - */ - __Pyx_TraceLine(388,0,__PYX_ERR(0, 388, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_gzf1 = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":389 - * f = None - * gzf1 = None - * gzf2 = None # <<<<<<<<<<<<<< - * gzf3 = None - * - */ - __Pyx_TraceLine(389,0,__PYX_ERR(0, 389, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_gzf2 = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":390 - * gzf1 = None - * gzf2 = None - * gzf3 = None # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(390,0,__PYX_ERR(0, 390, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_gzf3 = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":392 - * gzf3 = None - * - * try: # <<<<<<<<<<<<<< - * f = open(testfile, 'rb') - * gzf1 = igzip._IndexedGzipFile(testfile) - */ - __Pyx_TraceLine(392,0,__PYX_ERR(0, 392, __pyx_L1_error)) - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":393 - * - * try: - * f = open(testfile, 'rb') # <<<<<<<<<<<<<< - * gzf1 = igzip._IndexedGzipFile(testfile) - * gzf2 = igzip._IndexedGzipFile(f) - */ - __Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L4_error)) - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 393, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":394 - * try: - * f = open(testfile, 'rb') - * gzf1 = igzip._IndexedGzipFile(testfile) # <<<<<<<<<<<<<< - * gzf2 = igzip._IndexedGzipFile(f) - * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) - */ - __Pyx_TraceLine(394,0,__PYX_ERR(0, 394, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 394, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 394, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_testfile); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_gzf1, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":395 - * f = open(testfile, 'rb') - * gzf1 = igzip._IndexedGzipFile(testfile) - * gzf2 = igzip._IndexedGzipFile(f) # <<<<<<<<<<<<<< - * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) - * - */ - __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 395, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_f) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_f); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 395, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_gzf2, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":396 - * gzf1 = igzip._IndexedGzipFile(testfile) - * gzf2 = igzip._IndexedGzipFile(f) - * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - __Pyx_TraceLine(396,0,__PYX_ERR(0, 396, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_rb); - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_t_3) < 0) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 396, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_gzf3, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":398 - * gzf3 = igzip._IndexedGzipFile(fileobj=BytesIO(open(testfile, 'rb').read())) - * - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval1 = read_element(gzf1, element) - * readval2 = read_element(gzf2, element) - */ - __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 398, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 398, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_8 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_8 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_4 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 398, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_8, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_8, __pyx_v_nelems); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_8, __pyx_int_1); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 398, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_element = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":399 - * - * element = np.random.randint(0, nelems, 1) - * readval1 = read_element(gzf1, element) # <<<<<<<<<<<<<< - * readval2 = read_element(gzf2, element) - * readval3 = read_element(gzf3, element) - */ - __Pyx_TraceLine(399,0,__PYX_ERR(0, 399, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 399, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - __pyx_t_8 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_8 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf1, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf1, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 399, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_v_gzf1); - __Pyx_GIVEREF(__pyx_v_gzf1); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_8, __pyx_v_gzf1); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 399, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_readval1 = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":400 - * element = np.random.randint(0, nelems, 1) - * readval1 = read_element(gzf1, element) - * readval2 = read_element(gzf2, element) # <<<<<<<<<<<<<< - * readval3 = read_element(gzf3, element) - * - */ - __Pyx_TraceLine(400,0,__PYX_ERR(0, 400, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 400, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - __pyx_t_8 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_8 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_gzf2, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_gzf2, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_4 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 400, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_gzf2); - __Pyx_GIVEREF(__pyx_v_gzf2); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_8, __pyx_v_gzf2); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_8, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_readval2 = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":401 - * readval1 = read_element(gzf1, element) - * readval2 = read_element(gzf2, element) - * readval3 = read_element(gzf3, element) # <<<<<<<<<<<<<< - * - * assert readval1 == element - */ - __Pyx_TraceLine(401,0,__PYX_ERR(0, 401, __pyx_L4_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_read_element); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 401, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - __pyx_t_8 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_8 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf3, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_gzf3, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L4_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_v_gzf3); - __Pyx_GIVEREF(__pyx_v_gzf3); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_8, __pyx_v_gzf3); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_8, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_readval3 = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":403 - * readval3 = read_element(gzf3, element) - * - * assert readval1 == element # <<<<<<<<<<<<<< - * assert readval2 == element - * assert readval3 == element - */ - __Pyx_TraceLine(403,0,__PYX_ERR(0, 403, __pyx_L4_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval1, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 403, __pyx_L4_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 403, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 403, __pyx_L4_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":404 - * - * assert readval1 == element - * assert readval2 == element # <<<<<<<<<<<<<< - * assert readval3 == element - * - */ - __Pyx_TraceLine(404,0,__PYX_ERR(0, 404, __pyx_L4_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval2, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L4_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 404, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 404, __pyx_L4_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":405 - * assert readval1 == element - * assert readval2 == element - * assert readval3 == element # <<<<<<<<<<<<<< - * - * finally: - */ - __Pyx_TraceLine(405,0,__PYX_ERR(0, 405, __pyx_L4_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval3, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 405, __pyx_L4_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 405, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 405, __pyx_L4_error) - } - } - #endif - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":408 - * - * finally: - * if gzf3 is not None: gzf3.close() # <<<<<<<<<<<<<< - * if gzf2 is not None: gzf2.close() - * if gzf1 is not None: gzf1.close() - */ - __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L4_error)) - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_9 = (__pyx_v_gzf3 != Py_None); - __pyx_t_10 = (__pyx_t_9 != 0); - if (__pyx_t_10) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":409 - * finally: - * if gzf3 is not None: gzf3.close() - * if gzf2 is not None: gzf2.close() # <<<<<<<<<<<<<< - * if gzf1 is not None: gzf1.close() - * if f is not None: f .close() - */ - __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L1_error)) - __pyx_t_10 = (__pyx_v_gzf2 != Py_None); - __pyx_t_9 = (__pyx_t_10 != 0); - if (__pyx_t_9) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":410 - * if gzf3 is not None: gzf3.close() - * if gzf2 is not None: gzf2.close() - * if gzf1 is not None: gzf1.close() # <<<<<<<<<<<<<< - * if f is not None: f .close() - * del f - */ - __Pyx_TraceLine(410,0,__PYX_ERR(0, 410, __pyx_L1_error)) - __pyx_t_9 = (__pyx_v_gzf1 != Py_None); - __pyx_t_10 = (__pyx_t_9 != 0); - if (__pyx_t_10) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 410, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 - * if gzf2 is not None: gzf2.close() - * if gzf1 is not None: gzf1.close() - * if f is not None: f .close() # <<<<<<<<<<<<<< - * del f - * del gzf1 - */ - __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L1_error)) - __pyx_t_10 = (__pyx_v_f != Py_None); - __pyx_t_9 = (__pyx_t_10 != 0); - if (__pyx_t_9) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":412 - * if gzf1 is not None: gzf1.close() - * if f is not None: f .close() - * del f # <<<<<<<<<<<<<< - * del gzf1 - * del gzf2 - */ - __Pyx_TraceLine(412,0,__PYX_ERR(0, 412, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":413 - * if f is not None: f .close() - * del f - * del gzf1 # <<<<<<<<<<<<<< - * del gzf2 - * del gzf3 - */ - __Pyx_TraceLine(413,0,__PYX_ERR(0, 413, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_gzf1); - __pyx_v_gzf1 = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":414 - * del f - * del gzf1 - * del gzf2 # <<<<<<<<<<<<<< - * del gzf3 - * - */ - __Pyx_TraceLine(414,0,__PYX_ERR(0, 414, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_gzf2); - __pyx_v_gzf2 = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":415 - * del gzf1 - * del gzf2 - * del gzf3 # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_gzf3); - __pyx_v_gzf3 = NULL; - goto __pyx_L5; - } - __pyx_L4_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15) < 0)) __Pyx_ErrFetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_8 = __pyx_lineno; __pyx_t_11 = __pyx_clineno; __pyx_t_12 = __pyx_filename; - { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":408 - * - * finally: - * if gzf3 is not None: gzf3.close() # <<<<<<<<<<<<<< - * if gzf2 is not None: gzf2.close() - * if gzf1 is not None: gzf1.close() - */ - __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L11_error)) - __pyx_t_9 = (__pyx_v_gzf3 != Py_None); - __pyx_t_10 = (__pyx_t_9 != 0); - if (__pyx_t_10) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf3, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 408, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 408, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":409 - * finally: - * if gzf3 is not None: gzf3.close() - * if gzf2 is not None: gzf2.close() # <<<<<<<<<<<<<< - * if gzf1 is not None: gzf1.close() - * if f is not None: f .close() - */ - __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L11_error)) - __pyx_t_10 = (__pyx_v_gzf2 != Py_None); - __pyx_t_9 = (__pyx_t_10 != 0); - if (__pyx_t_9) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 409, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":410 - * if gzf3 is not None: gzf3.close() - * if gzf2 is not None: gzf2.close() - * if gzf1 is not None: gzf1.close() # <<<<<<<<<<<<<< - * if f is not None: f .close() - * del f - */ - __Pyx_TraceLine(410,0,__PYX_ERR(0, 410, __pyx_L11_error)) - __pyx_t_9 = (__pyx_v_gzf1 != Py_None); - __pyx_t_10 = (__pyx_t_9 != 0); - if (__pyx_t_10) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf1, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 410, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 410, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":411 - * if gzf2 is not None: gzf2.close() - * if gzf1 is not None: gzf1.close() - * if f is not None: f .close() # <<<<<<<<<<<<<< - * del f - * del gzf1 - */ - __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L11_error)) - __pyx_t_10 = (__pyx_v_f != Py_None); - __pyx_t_9 = (__pyx_t_10 != 0); - if (__pyx_t_9) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 411, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":412 - * if gzf1 is not None: gzf1.close() - * if f is not None: f .close() - * del f # <<<<<<<<<<<<<< - * del gzf1 - * del gzf2 - */ - __Pyx_TraceLine(412,0,__PYX_ERR(0, 412, __pyx_L11_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":413 - * if f is not None: f .close() - * del f - * del gzf1 # <<<<<<<<<<<<<< - * del gzf2 - * del gzf3 - */ - __Pyx_TraceLine(413,0,__PYX_ERR(0, 413, __pyx_L11_error)) - __Pyx_DECREF(__pyx_v_gzf1); - __pyx_v_gzf1 = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":414 - * del f - * del gzf1 - * del gzf2 # <<<<<<<<<<<<<< - * del gzf3 - * - */ - __Pyx_TraceLine(414,0,__PYX_ERR(0, 414, __pyx_L11_error)) - __Pyx_DECREF(__pyx_v_gzf2); - __pyx_v_gzf2 = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":415 - * del gzf1 - * del gzf2 - * del gzf3 # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L11_error)) - __Pyx_DECREF(__pyx_v_gzf3); - __pyx_v_gzf3 = NULL; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - } - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ErrRestore(__pyx_t_13, __pyx_t_14, __pyx_t_15); - __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; - __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_11; __pyx_filename = __pyx_t_12; - goto __pyx_L1_error; - __pyx_L11_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; - goto __pyx_L1_error; - } - __pyx_L5:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 - * - * - * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< - * - * f = None - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_accept_filename_or_fileobj", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_gzf1); - __Pyx_XDECREF(__pyx_v_gzf2); - __Pyx_XDECREF(__pyx_v_gzf3); - __Pyx_XDECREF(__pyx_v_element); - __Pyx_XDECREF(__pyx_v_readval1); - __Pyx_XDECREF(__pyx_v_readval2); - __Pyx_XDECREF(__pyx_v_readval3); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":418 - * - * - * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< - * """When a fileobj with an associated fileno is passed to IndexedGzipFile, - * the fileobj's file descriptor (fd) should be utilized by zran.c - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f[] = "When a fileobj with an associated fileno is passed to IndexedGzipFile,\n the fileobj's file descriptor (fd) should be utilized by zran.c\n instead of the file-like object specified by fileobj (f).\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f = {"test_prioritize_fd_over_f", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_prioritize_fd_over_f (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_prioritize_fd_over_f", 1, 2, 2, 1); __PYX_ERR(0, 418, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_prioritize_fd_over_f") < 0)) __PYX_ERR(0, 418, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_prioritize_fd_over_f", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 418, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_prioritize_fd_over_f", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f(__pyx_self, __pyx_v_testfile, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_24test_prioritize_fd_over_f(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_gzf = NULL; - PyObject *__pyx_v_element = NULL; - PyObject *__pyx_v_readval = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - char const *__pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__43) - __Pyx_RefNannySetupContext("test_prioritize_fd_over_f", 0); - __Pyx_TraceCall("test_prioritize_fd_over_f", __pyx_f[0], 418, 0, __PYX_ERR(0, 418, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":423 - * instead of the file-like object specified by fileobj (f). - * """ - * if sys.version_info[0] < 3: # <<<<<<<<<<<<<< - * # We can't set the .read attribute in Python 2 - * # because it's read-only, so skip it. - */ - __Pyx_TraceLine(423,0,__PYX_ERR(0, 423, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_3, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 423, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 423, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_3) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":426 - * # We can't set the .read attribute in Python 2 - * # because it's read-only, so skip it. - * return # <<<<<<<<<<<<<< - * - * f = None - */ - __Pyx_TraceLine(426,0,__PYX_ERR(0, 426, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":423 - * instead of the file-like object specified by fileobj (f). - * """ - * if sys.version_info[0] < 3: # <<<<<<<<<<<<<< - * # We can't set the .read attribute in Python 2 - * # because it's read-only, so skip it. - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":428 - * return - * - * f = None # <<<<<<<<<<<<<< - * gzf = None - * - */ - __Pyx_TraceLine(428,0,__PYX_ERR(0, 428, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":429 - * - * f = None - * gzf = None # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(429,0,__PYX_ERR(0, 429, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __pyx_v_gzf = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":431 - * gzf = None - * - * try: # <<<<<<<<<<<<<< - * f = open(testfile, 'rb') - * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. - */ - __Pyx_TraceLine(431,0,__PYX_ERR(0, 431, __pyx_L1_error)) - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":432 - * - * try: - * f = open(testfile, 'rb') # <<<<<<<<<<<<<< - * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. - * gzf = igzip._IndexedGzipFile(fileobj=f) - */ - __Pyx_TraceLine(432,0,__PYX_ERR(0, 432, __pyx_L5_error)) - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":433 - * try: - * f = open(testfile, 'rb') - * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. # <<<<<<<<<<<<<< - * gzf = igzip._IndexedGzipFile(fileobj=f) - * - */ - __Pyx_TraceLine(433,0,__PYX_ERR(0, 433, __pyx_L5_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_read, __pyx_t_1) < 0) __PYX_ERR(0, 433, __pyx_L5_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":434 - * f = open(testfile, 'rb') - * f.read = error_fn # If the file-like object were directly used by zran.c, reading would raise an error. - * gzf = igzip._IndexedGzipFile(fileobj=f) # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - __Pyx_TraceLine(434,0,__PYX_ERR(0, 434, __pyx_L5_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 434, __pyx_L5_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 434, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_gzf, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":436 - * gzf = igzip._IndexedGzipFile(fileobj=f) - * - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval = read_element(gzf, element) - * - */ - __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L5_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 436, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L5_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L5_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - { - __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 436, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_6); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_nelems); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_int_1); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_element = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":437 - * - * element = np.random.randint(0, nelems, 1) - * readval = read_element(gzf, element) # <<<<<<<<<<<<<< - * - * assert readval == element - */ - __Pyx_TraceLine(437,0,__PYX_ERR(0, 437, __pyx_L5_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L5_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L5_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 437, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_6) { - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL; - } - __Pyx_INCREF(__pyx_v_gzf); - __Pyx_GIVEREF(__pyx_v_gzf); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_5, __pyx_v_gzf); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_5, __pyx_v_element); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_readval = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":439 - * readval = read_element(gzf, element) - * - * assert readval == element # <<<<<<<<<<<<<< - * - * finally: - */ - __Pyx_TraceLine(439,0,__PYX_ERR(0, 439, __pyx_L5_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L5_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 439, __pyx_L5_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 439, __pyx_L5_error) - } - } - #endif - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":442 - * - * finally: - * if gzf is not None: gzf.close() # <<<<<<<<<<<<<< - * if f is not None: f .close() - * del f - */ - __Pyx_TraceLine(442,0,__PYX_ERR(0, 442, __pyx_L5_error)) - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_3 = (__pyx_v_gzf != Py_None); - __pyx_t_7 = (__pyx_t_3 != 0); - if (__pyx_t_7) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":443 - * finally: - * if gzf is not None: gzf.close() - * if f is not None: f .close() # <<<<<<<<<<<<<< - * del f - * del gzf - */ - __Pyx_TraceLine(443,0,__PYX_ERR(0, 443, __pyx_L1_error)) - __pyx_t_7 = (__pyx_v_f != Py_None); - __pyx_t_3 = (__pyx_t_7 != 0); - if (__pyx_t_3) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":444 - * if gzf is not None: gzf.close() - * if f is not None: f .close() - * del f # <<<<<<<<<<<<<< - * del gzf - * - */ - __Pyx_TraceLine(444,0,__PYX_ERR(0, 444, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":445 - * if f is not None: f .close() - * del f - * del gzf # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - goto __pyx_L6; - } - __pyx_L5_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __pyx_t_5 = __pyx_lineno; __pyx_t_8 = __pyx_clineno; __pyx_t_9 = __pyx_filename; - { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":442 - * - * finally: - * if gzf is not None: gzf.close() # <<<<<<<<<<<<<< - * if f is not None: f .close() - * del f - */ - __Pyx_TraceLine(442,0,__PYX_ERR(0, 442, __pyx_L10_error)) - __pyx_t_3 = (__pyx_v_gzf != Py_None); - __pyx_t_7 = (__pyx_t_3 != 0); - if (__pyx_t_7) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 442, __pyx_L10_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L10_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":443 - * finally: - * if gzf is not None: gzf.close() - * if f is not None: f .close() # <<<<<<<<<<<<<< - * del f - * del gzf - */ - __Pyx_TraceLine(443,0,__PYX_ERR(0, 443, __pyx_L10_error)) - __pyx_t_7 = (__pyx_v_f != Py_None); - __pyx_t_3 = (__pyx_t_7 != 0); - if (__pyx_t_3) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L10_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L10_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":444 - * if gzf is not None: gzf.close() - * if f is not None: f .close() - * del f # <<<<<<<<<<<<<< - * del gzf - * - */ - __Pyx_TraceLine(444,0,__PYX_ERR(0, 444, __pyx_L10_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":445 - * if f is not None: f .close() - * del f - * del gzf # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L10_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - __pyx_lineno = __pyx_t_5; __pyx_clineno = __pyx_t_8; __pyx_filename = __pyx_t_9; - goto __pyx_L1_error; - __pyx_L10_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; - goto __pyx_L1_error; - } - __pyx_L6:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":418 - * - * - * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< - * """When a fileobj with an associated fileno is passed to IndexedGzipFile, - * the fileobj's file descriptor (fd) should be utilized by zran.c - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_prioritize_fd_over_f", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_gzf); - __Pyx_XDECREF(__pyx_v_element); - __Pyx_XDECREF(__pyx_v_readval); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":448 - * - * - * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< - * - * # When drop_handles is False - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped = {"test_handles_not_dropped", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_handles_not_dropped (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_seed,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, 1); __PYX_ERR(0, 448, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, 2); __PYX_ERR(0, 448, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_handles_not_dropped") < 0)) __PYX_ERR(0, 448, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - __pyx_v_seed = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_handles_not_dropped", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 448, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_handles_not_dropped(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_seed); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_26test_handles_not_dropped(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_fid = NULL; - CYTHON_UNUSED long __pyx_v_i; - PyObject *__pyx_v_element = NULL; - PyObject *__pyx_v_readval = NULL; - PyObject *__pyx_v_gzf = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - long __pyx_t_10; - int __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__44) - __Pyx_RefNannySetupContext("test_handles_not_dropped", 0); - __Pyx_TraceCall("test_handles_not_dropped", __pyx_f[0], 448, 0, __PYX_ERR(0, 448, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":451 - * - * # When drop_handles is False - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: # <<<<<<<<<<<<<< - * fid = f.fileobj() - * - */ - __Pyx_TraceLine(451,0,__PYX_ERR(0, 451, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 451, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 451, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 451, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":452 - * # When drop_handles is False - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: - * fid = f.fileobj() # <<<<<<<<<<<<<< - * - * assert fid is not None - */ - __Pyx_TraceLine(452,0,__PYX_ERR(0, 452, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 452, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_fid = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":454 - * fid = f.fileobj() - * - * assert fid is not None # <<<<<<<<<<<<<< - * - * # Check that the file object - */ - __Pyx_TraceLine(454,0,__PYX_ERR(0, 454, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_9 = (__pyx_v_fid != Py_None); - if (unlikely(!(__pyx_t_9 != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 454, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":458 - * # Check that the file object - * # doesn't change across reads - * for i in range(5): # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - __Pyx_TraceLine(458,0,__PYX_ERR(0, 458, __pyx_L7_error)) - for (__pyx_t_10 = 0; __pyx_t_10 < 5; __pyx_t_10+=1) { - __pyx_v_i = __pyx_t_10; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":460 - * for i in range(5): - * - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval = read_element(f, element) - * - */ - __Pyx_TraceLine(460,0,__PYX_ERR(0, 460, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_11 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_11 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 460, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_11, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_11, __pyx_v_nelems); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_11, __pyx_int_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":461 - * - * element = np.random.randint(0, nelems, 1) - * readval = read_element(f, element) # <<<<<<<<<<<<<< - * - * assert readval == element - */ - __Pyx_TraceLine(461,0,__PYX_ERR(0, 461, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 461, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_11 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_f, __pyx_v_element}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 461, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_11, __pyx_v_f); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_11, __pyx_v_element); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":463 - * readval = read_element(f, element) - * - * assert readval == element # <<<<<<<<<<<<<< - * assert f.fileobj() is fid - * - */ - __Pyx_TraceLine(463,0,__PYX_ERR(0, 463, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 463, __pyx_L7_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 463, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 463, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":464 - * - * assert readval == element - * assert f.fileobj() is fid # <<<<<<<<<<<<<< - * - * # Also when given an open stream - */ - __Pyx_TraceLine(464,0,__PYX_ERR(0, 464, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 464, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 464, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_9 = (__pyx_t_2 == __pyx_v_fid); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!(__pyx_t_9 != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 464, __pyx_L7_error) - } - } - #endif - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":451 - * - * # When drop_handles is False - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=False) as f: # <<<<<<<<<<<<<< - * fid = f.fileobj() - * - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 451, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 451, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 451, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_9 < 0) __PYX_ERR(0, 451, __pyx_L9_except_error) - __pyx_t_13 = ((!(__pyx_t_9 != 0)) != 0); - if (__pyx_t_13) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 451, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L18; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L18:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":467 - * - * # Also when given an open stream - * with open(testfile, 'rb') as f: # <<<<<<<<<<<<<< - * with igzip._IndexedGzipFile(fileobj=f) as gzf: - * - */ - __Pyx_TraceLine(467,0,__PYX_ERR(0, 467, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":468 - * # Also when given an open stream - * with open(testfile, 'rb') as f: - * with igzip._IndexedGzipFile(fileobj=f) as gzf: # <<<<<<<<<<<<<< - * - * assert gzf.fileobj() is f - */ - __Pyx_TraceLine(468,0,__PYX_ERR(0, 468, __pyx_L23_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L23_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L23_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L23_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_f) < 0) __PYX_ERR(0, 468, __pyx_L23_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L23_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 468, __pyx_L23_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L29_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L29_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - /*try:*/ { - __pyx_v_gzf = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":470 - * with igzip._IndexedGzipFile(fileobj=f) as gzf: - * - * assert gzf.fileobj() is f # <<<<<<<<<<<<<< - * - * for i in range(5): - */ - __Pyx_TraceLine(470,0,__PYX_ERR(0, 470, __pyx_L33_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 470, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 470, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = (__pyx_t_3 == __pyx_v_f); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!(__pyx_t_13 != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 470, __pyx_L33_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":472 - * assert gzf.fileobj() is f - * - * for i in range(5): # <<<<<<<<<<<<<< - * - * element = np.random.randint(0, nelems, 1) - */ - __Pyx_TraceLine(472,0,__PYX_ERR(0, 472, __pyx_L33_error)) - for (__pyx_t_10 = 0; __pyx_t_10 < 5; __pyx_t_10+=1) { - __pyx_v_i = __pyx_t_10; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":474 - * for i in range(5): - * - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval = read_element(gzf, element) - * - */ - __Pyx_TraceLine(474,0,__PYX_ERR(0, 474, __pyx_L33_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 474, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_11 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L33_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_int_0, __pyx_v_nelems, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 3+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L33_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(3+__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 474, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_11, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_11, __pyx_v_nelems); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_11, __pyx_int_1); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":475 - * - * element = np.random.randint(0, nelems, 1) - * readval = read_element(gzf, element) # <<<<<<<<<<<<<< - * - * assert readval == element - */ - __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L33_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L33_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_gzf, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_11, 2+__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L33_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_gzf); - __Pyx_GIVEREF(__pyx_v_gzf); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_11, __pyx_v_gzf); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_11, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":477 - * readval = read_element(gzf, element) - * - * assert readval == element # <<<<<<<<<<<<<< - * assert gzf.fileobj() is f - * - */ - __Pyx_TraceLine(477,0,__PYX_ERR(0, 477, __pyx_L33_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L33_error) - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 477, __pyx_L33_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_13)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 477, __pyx_L33_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":478 - * - * assert readval == element - * assert gzf.fileobj() is f # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(478,0,__PYX_ERR(0, 478, __pyx_L33_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 478, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = (__pyx_t_3 == __pyx_v_f); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!(__pyx_t_13 != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 478, __pyx_L33_error) - } - } - #endif - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":468 - * # Also when given an open stream - * with open(testfile, 'rb') as f: - * with igzip._IndexedGzipFile(fileobj=f) as gzf: # <<<<<<<<<<<<<< - * - * assert gzf.fileobj() is f - */ - } - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - goto __pyx_L38_try_end; - __pyx_L33_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 468, __pyx_L35_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 468, __pyx_L35_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 468, __pyx_L35_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_13 < 0) __PYX_ERR(0, 468, __pyx_L35_except_error) - __pyx_t_9 = ((!(__pyx_t_13 != 0)) != 0); - if (__pyx_t_9) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 468, __pyx_L35_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L34_exception_handled; - } - __pyx_L35_except_error:; - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); - goto __pyx_L23_error; - __pyx_L34_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); - __pyx_L38_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_12) { - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 468, __pyx_L23_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - goto __pyx_L32; - } - __pyx_L32:; - } - goto __pyx_L44; - __pyx_L29_error:; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L23_error; - __pyx_L44:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":467 - * - * # Also when given an open stream - * with open(testfile, 'rb') as f: # <<<<<<<<<<<<<< - * with igzip._IndexedGzipFile(fileobj=f) as gzf: - * - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L28_try_end; - __pyx_L23_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 467, __pyx_L25_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 467, __pyx_L25_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 467, __pyx_L25_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_9 < 0) __PYX_ERR(0, 467, __pyx_L25_except_error) - __pyx_t_13 = ((!(__pyx_t_9 != 0)) != 0); - if (__pyx_t_13) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 467, __pyx_L25_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L24_exception_handled; - } - __pyx_L25_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - goto __pyx_L1_error; - __pyx_L24_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - __pyx_L28_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 467, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - goto __pyx_L22; - } - __pyx_L22:; - } - goto __pyx_L48; - __pyx_L19_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L48:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":448 - * - * - * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< - * - * # When drop_handles is False - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_handles_not_dropped", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fid); - __Pyx_XDECREF(__pyx_v_element); - __Pyx_XDECREF(__pyx_v_readval); - __Pyx_XDECREF(__pyx_v_gzf); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 - * - * - * def test_manual_build(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * nelems = 65536 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build = {"test_manual_build", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_manual_build (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manual_build(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_28test_manual_build(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_td = NULL; - long __pyx_v_nelems; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_off = NULL; - PyObject *__pyx_v_readval = NULL; - CYTHON_UNUSED long __pyx_v_i; - PyObject *__pyx_v_element = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - Py_ssize_t __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_t_21; - int __pyx_t_22; - long __pyx_t_23; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__45) - __Pyx_RefNannySetupContext("test_manual_build", 0); - __Pyx_TraceCall("test_manual_build", __pyx_f[0], 481, 0, __PYX_ERR(0, 481, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":482 - * - * def test_manual_build(): - * with tempdir() as td: # <<<<<<<<<<<<<< - * nelems = 65536 - * fname = op.join(td, 'test.gz') - */ - __Pyx_TraceLine(482,0,__PYX_ERR(0, 482, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 482, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 482, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":483 - * def test_manual_build(): - * with tempdir() as td: - * nelems = 65536 # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * - */ - __Pyx_TraceLine(483,0,__PYX_ERR(0, 483, __pyx_L7_error)) - __pyx_v_nelems = 0x10000; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":484 - * with tempdir() as td: - * nelems = 65536 - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * - * gen_test_data(fname, nelems, False) - */ - __Pyx_TraceLine(484,0,__PYX_ERR(0, 484, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":486 - * fname = op.join(td, 'test.gz') - * - * gen_test_data(fname, nelems, False) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(fname, auto_build=False) as f: - */ - __Pyx_TraceLine(486,0,__PYX_ERR(0, 486, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 486, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_fname, __pyx_t_5, Py_False}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_fname, __pyx_t_5, Py_False}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - { - __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 486, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_5); - __Pyx_INCREF(Py_False); - __Pyx_GIVEREF(Py_False); - PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, Py_False); - __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":488 - * gen_test_data(fname, nelems, False) - * - * with igzip._IndexedGzipFile(fname, auto_build=False) as f: # <<<<<<<<<<<<<< - * - * # Seeking to 0 should work, but - */ - __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 488, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 488, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_auto_build, Py_False) < 0) __PYX_ERR(0, 488, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 488, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 488, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 488, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_10; - __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":492 - * # Seeking to 0 should work, but - * # anywhere else should fail - * f.seek(0) # <<<<<<<<<<<<<< - * for off in [1, 2, 20, 200]: - * with pytest.raises(igzip.NotCoveredError): - */ - __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 492, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":493 - * # anywhere else should fail - * f.seek(0) - * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< - * with pytest.raises(igzip.NotCoveredError): - * f.seek(off) - */ - __Pyx_TraceLine(493,0,__PYX_ERR(0, 493, __pyx_L17_error)) - __pyx_t_3 = __pyx_tuple__46; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; - for (;;) { - if (__pyx_t_15 >= 4) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 493, __pyx_L17_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 493, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":494 - * f.seek(0) - * for off in [1, 2, 20, 200]: - * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< - * f.seek(off) - * - */ - __Pyx_TraceLine(494,0,__PYX_ERR(0, 494, __pyx_L17_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_pytest); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 494, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_igzip); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 494, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_10, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 494, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 494, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":495 - * for off in [1, 2, 20, 200]: - * with pytest.raises(igzip.NotCoveredError): - * f.seek(off) # <<<<<<<<<<<<<< - * - * # Reading from beginning should work - */ - __Pyx_TraceLine(495,0,__PYX_ERR(0, 495, __pyx_L31_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 495, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_off) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_off); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 495, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":494 - * f.seek(0) - * for off in [1, 2, 20, 200]: - * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< - * f.seek(off) - * - */ - } - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - goto __pyx_L38_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 494, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 494, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_10, NULL); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 494, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 494, __pyx_L33_except_error) - __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); - if (__pyx_t_22) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_1); - __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 494, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); - goto __pyx_L17_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_L38_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_16) { - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 494, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L42; - __pyx_L25_error:; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - goto __pyx_L17_error; - __pyx_L42:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":493 - * # anywhere else should fail - * f.seek(0) - * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< - * with pytest.raises(igzip.NotCoveredError): - * f.seek(off) - */ - __Pyx_TraceLine(493,0,__PYX_ERR(0, 493, __pyx_L17_error)) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":498 - * - * # Reading from beginning should work - * readval = read_element(f, 0, seek=False) # <<<<<<<<<<<<<< - * assert readval == 0 - * - */ - __Pyx_TraceLine(498,0,__PYX_ERR(0, 498, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_read_element); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_f); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_0); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 498, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 498, __pyx_L17_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 498, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_readval = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":499 - * # Reading from beginning should work - * readval = read_element(f, 0, seek=False) - * assert readval == 0 # <<<<<<<<<<<<<< - * - * # but subsequent reads should fail - */ - __Pyx_TraceLine(499,0,__PYX_ERR(0, 499, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 499, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 499, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_22)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 499, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":503 - * # but subsequent reads should fail - * # (n.b. this might change in the future) - * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< - * readval = read_element(f, 1, seek=False) - * - */ - __Pyx_TraceLine(503,0,__PYX_ERR(0, 503, __pyx_L17_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 503, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 503, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 503, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 503, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L43_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L43_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_19, &__pyx_t_18, &__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_17); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":504 - * # (n.b. this might change in the future) - * with pytest.raises(igzip.NotCoveredError): - * readval = read_element(f, 1, seek=False) # <<<<<<<<<<<<<< - * - * # Seek should still fail even after read - */ - __Pyx_TraceLine(504,0,__PYX_ERR(0, 504, __pyx_L47_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 504, __pyx_L47_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 504, __pyx_L47_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_f); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_1); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L47_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 504, __pyx_L47_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 504, __pyx_L47_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":503 - * # but subsequent reads should fail - * # (n.b. this might change in the future) - * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< - * readval = read_element(f, 1, seek=False) - * - */ - } - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - goto __pyx_L52_try_end; - __pyx_L47_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 503, __pyx_L49_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 503, __pyx_L49_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 503, __pyx_L49_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_22 < 0) __PYX_ERR(0, 503, __pyx_L49_except_error) - __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); - if (__pyx_t_21) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 503, __pyx_L49_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L48_exception_handled; - } - __pyx_L49_except_error:; - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_18, __pyx_t_17); - goto __pyx_L17_error; - __pyx_L48_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_18, __pyx_t_17); - __pyx_L52_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_16) { - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 503, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - goto __pyx_L46; - } - __pyx_L46:; - } - goto __pyx_L56; - __pyx_L43_error:; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - goto __pyx_L17_error; - __pyx_L56:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":507 - * - * # Seek should still fail even after read - * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< - * f.seek(8) - * - */ - __Pyx_TraceLine(507,0,__PYX_ERR(0, 507, __pyx_L17_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_NotCoveredError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 507, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 507, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 507, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 507, __pyx_L57_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L57_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":508 - * # Seek should still fail even after read - * with pytest.raises(igzip.NotCoveredError): - * f.seek(8) # <<<<<<<<<<<<<< - * - * # But reading from beginning should still work - */ - __Pyx_TraceLine(508,0,__PYX_ERR(0, 508, __pyx_L61_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L61_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L61_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":507 - * - * # Seek should still fail even after read - * with pytest.raises(igzip.NotCoveredError): # <<<<<<<<<<<<<< - * f.seek(8) - * - */ - } - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - goto __pyx_L66_try_end; - __pyx_L61_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 507, __pyx_L63_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L63_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 507, __pyx_L63_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 507, __pyx_L63_except_error) - __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); - if (__pyx_t_22) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 507, __pyx_L63_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L62_exception_handled; - } - __pyx_L63_except_error:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); - goto __pyx_L17_error; - __pyx_L62_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_L66_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_16) { - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 507, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - goto __pyx_L60; - } - __pyx_L60:; - } - goto __pyx_L70; - __pyx_L57_error:; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - goto __pyx_L17_error; - __pyx_L70:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":511 - * - * # But reading from beginning should still work - * f.seek(0) # <<<<<<<<<<<<<< - * readval = read_element(f, 0, seek=False) - * assert readval == 0 - */ - __Pyx_TraceLine(511,0,__PYX_ERR(0, 511, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 511, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 511, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":512 - * # But reading from beginning should still work - * f.seek(0) - * readval = read_element(f, 0, seek=False) # <<<<<<<<<<<<<< - * assert readval == 0 - * - */ - __Pyx_TraceLine(512,0,__PYX_ERR(0, 512, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 512, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_f); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_0); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_seek, Py_False) < 0) __PYX_ERR(0, 512, __pyx_L17_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 512, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":513 - * f.seek(0) - * readval = read_element(f, 0, seek=False) - * assert readval == 0 # <<<<<<<<<<<<<< - * - * # But after building the index, - */ - __Pyx_TraceLine(513,0,__PYX_ERR(0, 513, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 513, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_22)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 513, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":517 - * # But after building the index, - * # seeking and reading should work - * f.build_full_index() # <<<<<<<<<<<<<< - * - * for i in range(5): - */ - __Pyx_TraceLine(517,0,__PYX_ERR(0, 517, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 517, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 517, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":519 - * f.build_full_index() - * - * for i in range(5): # <<<<<<<<<<<<<< - * element = np.random.randint(0, nelems, 1) - * readval = read_element(f, element) - */ - __Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L17_error)) - for (__pyx_t_23 = 0; __pyx_t_23 < 5; __pyx_t_23+=1) { - __pyx_v_i = __pyx_t_23; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":520 - * - * for i in range(5): - * element = np.random.randint(0, nelems, 1) # <<<<<<<<<<<<<< - * readval = read_element(f, element) - * assert readval == element - */ - __Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_2, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_2, __pyx_int_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - { - __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 520, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_int_0); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_2); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, __pyx_int_1); - __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_element, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":521 - * for i in range(5): - * element = np.random.randint(0, nelems, 1) - * readval = read_element(f, element) # <<<<<<<<<<<<<< - * assert readval == element - * - */ - __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_f, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_v_f, __pyx_v_element}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 521, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_10) { - __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL; - } - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_f); - __Pyx_INCREF(__pyx_v_element); - __Pyx_GIVEREF(__pyx_v_element); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_v_element); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 521, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_readval, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":522 - * element = np.random.randint(0, nelems, 1) - * readval = read_element(f, element) - * assert readval == element # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(522,0,__PYX_ERR(0, 522, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_element, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L17_error) - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 522, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_22)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 522, __pyx_L17_error) - } - } - #endif - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":488 - * gen_test_data(fname, nelems, False) - * - * with igzip._IndexedGzipFile(fname, auto_build=False) as f: # <<<<<<<<<<<<<< - * - * # Seeking to 0 should work, but - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 488, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 488, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 488, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_22 < 0) __PYX_ERR(0, 488, __pyx_L19_except_error) - __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); - if (__pyx_t_21) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 488, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 488, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L76; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L76:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":482 - * - * def test_manual_build(): - * with tempdir() as td: # <<<<<<<<<<<<<< - * nelems = 65536 - * fname = op.join(td, 'test.gz') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 482, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 482, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 482, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 482, __pyx_L9_except_error) - __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); - if (__pyx_t_22) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 482, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L80; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L80:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 - * - * - * def test_manual_build(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * nelems = 65536 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_manual_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_off); - __Pyx_XDECREF(__pyx_v_readval); - __Pyx_XDECREF(__pyx_v_element); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 - * - * - * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< - * - * if use_mmap: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all = {"test_read_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_use_mmap = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_read_all (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_use_mmap,&__pyx_n_s_drop,0}; - PyObject* values[4] = {0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 1); __PYX_ERR(0, 525, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 2); __PYX_ERR(0, 525, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 3); __PYX_ERR(0, 525, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_all") < 0)) __PYX_ERR(0, 525, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - __pyx_v_use_mmap = values[2]; - __pyx_v_drop = values[3]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 525, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read_all(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_use_mmap, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_30test_read_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - int __pyx_t_12; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__47) - __Pyx_RefNannySetupContext("test_read_all", 0); - __Pyx_TraceCall("test_read_all", __pyx_f[0], 525, 0, __PYX_ERR(0, 525, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":527 - * def test_read_all(testfile, nelems, use_mmap, drop): - * - * if use_mmap: # <<<<<<<<<<<<<< - * pytest.skip('skipping test_read_all test as ' - * 'it will require too much memory') - */ - __Pyx_TraceLine(527,0,__PYX_ERR(0, 527, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 527, __pyx_L1_error) - if (__pyx_t_1) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":528 - * - * if use_mmap: - * pytest.skip('skipping test_read_all test as ' # <<<<<<<<<<<<<< - * 'it will require too much memory') - * - */ - __Pyx_TraceLine(528,0,__PYX_ERR(0, 528, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 528, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_s_skipping_test_read_all_test_as_i) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_skipping_test_read_all_test_as_i); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 528, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":527 - * def test_read_all(testfile, nelems, use_mmap, drop): - * - * if use_mmap: # <<<<<<<<<<<<<< - * pytest.skip('skipping test_read_all test as ' - * 'it will require too much memory') - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":531 - * 'it will require too much memory') - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * data = f.read(nelems * 8) - * - */ - __Pyx_TraceLine(531,0,__PYX_ERR(0, 531, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 531, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 531, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 531, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - __pyx_v_f = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":532 - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - * data = f.read(nelems * 8) # <<<<<<<<<<<<<< - * - * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) - */ - __Pyx_TraceLine(532,0,__PYX_ERR(0, 532, __pyx_L8_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 532, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_data = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":531 - * 'it will require too much memory') - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * data = f.read(nelems * 8) - * - */ - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L13_try_end; - __pyx_L8_error:; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 531, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 531, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 531, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_1 < 0) __PYX_ERR(0, 531, __pyx_L10_except_error) - __pyx_t_11 = ((!(__pyx_t_1 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_3, __pyx_t_2); - __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 531, __pyx_L10_except_error) - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L9_exception_handled; - } - __pyx_L10_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L9_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L13_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 531, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L7; - } - __pyx_L7:; - } - goto __pyx_L17; - __pyx_L4_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L17:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":534 - * data = f.read(nelems * 8) - * - * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) # <<<<<<<<<<<<<< - * - * # Check that every value is valid - */ - __Pyx_TraceLine(534,0,__PYX_ERR(0, 534, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 534, __pyx_L1_error) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 534, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 534, __pyx_L1_error) } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_v_data) < 0) __PYX_ERR(0, 534, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_6); - __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":537 - * - * # Check that every value is valid - * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(537,0,__PYX_ERR(0, 537, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_12 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_12 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; - __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_6); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; - __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_6); - } else - #endif - { - __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_data); - __Pyx_GIVEREF(__pyx_v_data); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_v_data); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_int_0); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 537, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 537, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 537, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 - * - * - * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< - * - * if use_mmap: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":540 - * - * - * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< - * - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding = {"test_simple_read_with_null_padding", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_simple_read_with_null_padding (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simple_read_with_null_padding(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_32test_simple_read_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_fileobj = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - int __pyx_t_11; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__48) - __Pyx_RefNannySetupContext("test_simple_read_with_null_padding", 0); - __Pyx_TraceCall("test_simple_read_with_null_padding", __pyx_f[0], 540, 0, __PYX_ERR(0, 540, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":543 - * - * - * fileobj = BytesIO() # <<<<<<<<<<<<<< - * - * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: - */ - __Pyx_TraceLine(543,0,__PYX_ERR(0, 543, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fileobj = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":545 - * fileobj = BytesIO() - * - * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< - * f.write(b"hello world") - * - */ - __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_GzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 545, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_mode, __pyx_n_s_wb) < 0) __PYX_ERR(0, 545, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 545, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":546 - * - * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: - * f.write(b"hello world") # <<<<<<<<<<<<<< - * - * fileobj.write(b"\0" * 100) - */ - __Pyx_TraceLine(546,0,__PYX_ERR(0, 546, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_kp_b_hello_world) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b_hello_world); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 546, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":545 - * fileobj = BytesIO() - * - * with gzip.GzipFile(fileobj=fileobj, mode='wb') as f: # <<<<<<<<<<<<<< - * f.write(b"hello world") - * - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_simple_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 545, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 545, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 545, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_10 < 0) __PYX_ERR(0, 545, __pyx_L9_except_error) - __pyx_t_11 = ((!(__pyx_t_10 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 545, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 545, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":548 - * f.write(b"hello world") - * - * fileobj.write(b"\0" * 100) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: - */ - __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_fileobj, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__49) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__49); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":550 - * fileobj.write(b"\0" * 100) - * - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< - * assert f.read() == b"hello world" - * f.seek(3) - */ - __Pyx_TraceLine(550,0,__PYX_ERR(0, 550, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 550, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 550, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":551 - * - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: - * assert f.read() == b"hello world" # <<<<<<<<<<<<<< - * f.seek(3) - * assert f.read() == b"lo world" - */ - __Pyx_TraceLine(551,0,__PYX_ERR(0, 551, __pyx_L21_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 551, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 551, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_hello_world, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 551, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 551, __pyx_L21_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":552 - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: - * assert f.read() == b"hello world" - * f.seek(3) # <<<<<<<<<<<<<< - * assert f.read() == b"lo world" - * f.seek(20) - */ - __Pyx_TraceLine(552,0,__PYX_ERR(0, 552, __pyx_L21_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 552, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 552, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":553 - * assert f.read() == b"hello world" - * f.seek(3) - * assert f.read() == b"lo world" # <<<<<<<<<<<<<< - * f.seek(20) - * assert f.read() == b"" - */ - __Pyx_TraceLine(553,0,__PYX_ERR(0, 553, __pyx_L21_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 553, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 553, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b_lo_world, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 553, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 553, __pyx_L21_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":554 - * f.seek(3) - * assert f.read() == b"lo world" - * f.seek(20) # <<<<<<<<<<<<<< - * assert f.read() == b"" - * - */ - __Pyx_TraceLine(554,0,__PYX_ERR(0, 554, __pyx_L21_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 554, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_20) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_20); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 554, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":555 - * assert f.read() == b"lo world" - * f.seek(20) - * assert f.read() == b"" # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(555,0,__PYX_ERR(0, 555, __pyx_L21_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 555, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 555, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = (__Pyx_PyBytes_Equals(__pyx_t_3, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 555, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 555, __pyx_L21_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":550 - * fileobj.write(b"\0" * 100) - * - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< - * assert f.read() == b"hello world" - * f.seek(3) - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L26_try_end; - __pyx_L21_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_simple_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 550, __pyx_L23_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 550, __pyx_L23_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 550, __pyx_L23_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 550, __pyx_L23_except_error) - __pyx_t_10 = ((!(__pyx_t_11 != 0)) != 0); - if (__pyx_t_10) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 550, __pyx_L23_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L22_exception_handled; - } - __pyx_L23_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - goto __pyx_L1_error; - __pyx_L22_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - __pyx_L26_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 550, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - goto __pyx_L20; - } - __pyx_L20:; - } - goto __pyx_L30; - __pyx_L17_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L30:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":540 - * - * - * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< - * - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_simple_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fileobj); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":558 - * - * - * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< - * - * if use_mmap: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding = {"test_read_with_null_padding", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_use_mmap = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_read_with_null_padding (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_use_mmap,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, 1); __PYX_ERR(0, 558, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, 2); __PYX_ERR(0, 558, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_with_null_padding") < 0)) __PYX_ERR(0, 558, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - __pyx_v_use_mmap = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_read_with_null_padding", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 558, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read_with_null_padding(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_use_mmap); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_34test_read_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap) { - PyObject *__pyx_v_fileobj = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - int __pyx_t_13; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__50) - __Pyx_RefNannySetupContext("test_read_with_null_padding", 0); - __Pyx_TraceCall("test_read_with_null_padding", __pyx_f[0], 558, 0, __PYX_ERR(0, 558, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":560 - * def test_read_with_null_padding(testfile, nelems, use_mmap): - * - * if use_mmap: # <<<<<<<<<<<<<< - * pytest.skip('skipping test_read_with_null_padding test ' - * 'as it will require too much memory') - */ - __Pyx_TraceLine(560,0,__PYX_ERR(0, 560, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 560, __pyx_L1_error) - if (__pyx_t_1) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":561 - * - * if use_mmap: - * pytest.skip('skipping test_read_with_null_padding test ' # <<<<<<<<<<<<<< - * 'as it will require too much memory') - * - */ - __Pyx_TraceLine(561,0,__PYX_ERR(0, 561, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 561, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_skip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 561, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_s_skipping_test_read_with_null_pad) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s_skipping_test_read_with_null_pad); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 561, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":560 - * def test_read_with_null_padding(testfile, nelems, use_mmap): - * - * if use_mmap: # <<<<<<<<<<<<<< - * pytest.skip('skipping test_read_with_null_padding test ' - * 'as it will require too much memory') - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":564 - * 'as it will require too much memory') - * - * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: - */ - __Pyx_TraceLine(564,0,__PYX_ERR(0, 564, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_kp_b__49); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 564, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_fileobj = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":566 - * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) - * - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< - * data = f.read(nelems * 8) - * # Read a bit further so we reach the zero-padded area. - */ - __Pyx_TraceLine(566,0,__PYX_ERR(0, 566, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_fileobj) < 0) __PYX_ERR(0, 566, __pyx_L1_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 566, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __pyx_v_f = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":567 - * - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: - * data = f.read(nelems * 8) # <<<<<<<<<<<<<< - * # Read a bit further so we reach the zero-padded area. - * # This line should not throw an exception. - */ - __Pyx_TraceLine(567,0,__PYX_ERR(0, 567, __pyx_L8_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 567, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 567, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 567, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_data = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":570 - * # Read a bit further so we reach the zero-padded area. - * # This line should not throw an exception. - * f.read(1) # <<<<<<<<<<<<<< - * - * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) - */ - __Pyx_TraceLine(570,0,__PYX_ERR(0, 570, __pyx_L8_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 570, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 570, __pyx_L8_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":566 - * fileobj = BytesIO(open(testfile, "rb").read() + b"\0" * 100) - * - * with igzip._IndexedGzipFile(fileobj=fileobj) as f: # <<<<<<<<<<<<<< - * data = f.read(nelems * 8) - * # Read a bit further so we reach the zero-padded area. - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L13_try_end; - __pyx_L8_error:; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 566, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 566, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 566, __pyx_L10_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_1 < 0) __PYX_ERR(0, 566, __pyx_L10_except_error) - __pyx_t_12 = ((!(__pyx_t_1 != 0)) != 0); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2); - __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 566, __pyx_L10_except_error) - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L9_exception_handled; - } - __pyx_L10_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L9_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L13_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_7) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 566, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L7; - } - __pyx_L7:; - } - goto __pyx_L17; - __pyx_L4_error:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L1_error; - __pyx_L17:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":572 - * f.read(1) - * - * data = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data) # <<<<<<<<<<<<<< - * - * # Check that every value is valid - */ - __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 572, __pyx_L1_error) } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_buffer, __pyx_v_data) < 0) __PYX_ERR(0, 572, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":575 - * - * # Check that every value is valid - * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(575,0,__PYX_ERR(0, 575, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_4 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_data); - __Pyx_GIVEREF(__pyx_v_data); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_13, __pyx_v_data); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_13, __pyx_int_0); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 575, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 575, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":558 - * - * - * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< - * - * if use_mmap: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fileobj); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 - * - * - * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< - * with tempdir() as tdir: - * nelems = 65536 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end = {"test_read_beyond_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_concat = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_read_beyond_end (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_concat,&__pyx_n_s_drop,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_concat)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_beyond_end", 1, 2, 2, 1); __PYX_ERR(0, 578, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_beyond_end") < 0)) __PYX_ERR(0, 578, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_concat = values[0]; - __pyx_v_drop = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_read_beyond_end", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 578, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read_beyond_end(__pyx_self, __pyx_v_concat, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_36test_read_beyond_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_tdir = NULL; - PyObject *__pyx_v_nelems = NULL; - PyObject *__pyx_v_testfile = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_data1 = NULL; - PyObject *__pyx_v_data2 = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__51) - __Pyx_RefNannySetupContext("test_read_beyond_end", 0); - __Pyx_TraceCall("test_read_beyond_end", __pyx_f[0], 578, 0, __PYX_ERR(0, 578, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":579 - * - * def test_read_beyond_end(concat, drop): - * with tempdir() as tdir: # <<<<<<<<<<<<<< - * nelems = 65536 - * testfile = op.join(tdir, 'test.gz') - */ - __Pyx_TraceLine(579,0,__PYX_ERR(0, 579, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 579, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_tdir = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":580 - * def test_read_beyond_end(concat, drop): - * with tempdir() as tdir: - * nelems = 65536 # <<<<<<<<<<<<<< - * testfile = op.join(tdir, 'test.gz') - * - */ - __Pyx_TraceLine(580,0,__PYX_ERR(0, 580, __pyx_L7_error)) - __Pyx_INCREF(__pyx_int_65536); - __pyx_v_nelems = __pyx_int_65536; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":581 - * with tempdir() as tdir: - * nelems = 65536 - * testfile = op.join(tdir, 'test.gz') # <<<<<<<<<<<<<< - * - * gen_test_data(testfile, nelems, concat) - */ - __Pyx_TraceLine(581,0,__PYX_ERR(0, 581, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 581, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 581, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 581, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 581, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 581, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_tdir); - __Pyx_GIVEREF(__pyx_v_tdir); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_tdir); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 581, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_testfile = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":583 - * testfile = op.join(tdir, 'test.gz') - * - * gen_test_data(testfile, nelems, concat) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, - */ - __Pyx_TraceLine(583,0,__PYX_ERR(0, 583, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 583, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 583, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 583, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 583, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_testfile); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_nelems); - __Pyx_INCREF(__pyx_v_concat); - __Pyx_GIVEREF(__pyx_v_concat); - PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_v_concat); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 583, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":585 - * gen_test_data(testfile, nelems, concat) - * - * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * readall_buf_size=1024, - * drop_handles=drop) as f: - */ - __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 585, __pyx_L7_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_readall_buf_size, __pyx_int_1024) < 0) __PYX_ERR(0, 585, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":587 - * with igzip._IndexedGzipFile(filename=testfile, - * readall_buf_size=1024, - * drop_handles=drop) as f: # <<<<<<<<<<<<<< - * # Try with a specific number of bytes - * data1 = f.read(nelems * 8 + 10) - */ - __Pyx_TraceLine(587,0,__PYX_ERR(0, 587, __pyx_L7_error)) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 585, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":585 - * gen_test_data(testfile, nelems, concat) - * - * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * readall_buf_size=1024, - * drop_handles=drop) as f: - */ - __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 585, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":589 - * drop_handles=drop) as f: - * # Try with a specific number of bytes - * data1 = f.read(nelems * 8 + 10) # <<<<<<<<<<<<<< - * - * # And also with unspecified numbytes - */ - __Pyx_TraceLine(589,0,__PYX_ERR(0, 589, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 589, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 589, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_data1 = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":592 - * - * # And also with unspecified numbytes - * f.seek(0) # <<<<<<<<<<<<<< - * data2 = f.read() - * - */ - __Pyx_TraceLine(592,0,__PYX_ERR(0, 592, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 592, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":593 - * # And also with unspecified numbytes - * f.seek(0) - * data2 = f.read() # <<<<<<<<<<<<<< - * - * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) - */ - __Pyx_TraceLine(593,0,__PYX_ERR(0, 593, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 593, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_data2 = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":585 - * gen_test_data(testfile, nelems, concat) - * - * with igzip._IndexedGzipFile(filename=testfile, # <<<<<<<<<<<<<< - * readall_buf_size=1024, - * drop_handles=drop) as f: - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 585, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 585, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 585, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 585, __pyx_L19_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 585, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 585, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":595 - * data2 = f.read() - * - * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) # <<<<<<<<<<<<<< - * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) - * assert check_data_valid(data1, 0) - */ - __Pyx_TraceLine(595,0,__PYX_ERR(0, 595, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 595, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 595, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 595, __pyx_L7_error) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 595, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_v_data1)) { __Pyx_RaiseUnboundLocalError("data1"); __PYX_ERR(0, 595, __pyx_L7_error) } - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_v_data1) < 0) __PYX_ERR(0, 595, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_data1, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":596 - * - * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) - * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) # <<<<<<<<<<<<<< - * assert check_data_valid(data1, 0) - * assert check_data_valid(data2, 0) - */ - __Pyx_TraceLine(596,0,__PYX_ERR(0, 596, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 596, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 596, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 596, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_v_nelems) < 0) __PYX_ERR(0, 596, __pyx_L7_error) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 596, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_v_data2)) { __Pyx_RaiseUnboundLocalError("data2"); __PYX_ERR(0, 596, __pyx_L7_error) } - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_buffer, __pyx_v_data2) < 0) __PYX_ERR(0, 596, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_data2, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":597 - * data1 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data1) - * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) - * assert check_data_valid(data1, 0) # <<<<<<<<<<<<<< - * assert check_data_valid(data2, 0) - * - */ - __Pyx_TraceLine(597,0,__PYX_ERR(0, 597, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data1, __pyx_int_0}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data1, __pyx_int_0}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_data1); - __Pyx_GIVEREF(__pyx_v_data1); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_data1); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_int_0); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 597, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 597, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":598 - * data2 = np.ndarray(shape=nelems, dtype=np.uint64, buffer=data2) - * assert check_data_valid(data1, 0) - * assert check_data_valid(data2, 0) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(598,0,__PYX_ERR(0, 598, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 598, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_data2, __pyx_int_0}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_data2, __pyx_int_0}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 598, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_data2); - __Pyx_GIVEREF(__pyx_v_data2); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_data2); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_int_0); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 598, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 598, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":579 - * - * def test_read_beyond_end(concat, drop): - * with tempdir() as tdir: # <<<<<<<<<<<<<< - * nelems = 65536 - * testfile = op.join(tdir, 'test.gz') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 579, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 579, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 579, __pyx_L9_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 579, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L30; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L30:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 - * - * - * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< - * with tempdir() as tdir: - * nelems = 65536 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_read_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_tdir); - __Pyx_XDECREF(__pyx_v_nelems); - __Pyx_XDECREF(__pyx_v_testfile); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_data1); - __Pyx_XDECREF(__pyx_v_data2); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":601 - * - * - * def test_seek(concat): # <<<<<<<<<<<<<< - * with tempdir() as tdir: - * nelems = 262144 # == 2MB - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek(PyObject *__pyx_self, PyObject *__pyx_v_concat); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek = {"test_seek", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek(PyObject *__pyx_self, PyObject *__pyx_v_concat) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seek (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek(__pyx_self, ((PyObject *)__pyx_v_concat)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_38test_seek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat) { - PyObject *__pyx_v_tdir = NULL; - long __pyx_v_nelems; - PyObject *__pyx_v_testfile = NULL; - PyObject *__pyx_v_results = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_expected = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_t_21; - int __pyx_t_22; - Py_ssize_t __pyx_t_23; - PyObject *(*__pyx_t_24)(PyObject *); - PyObject *__pyx_t_25 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__52) - __Pyx_RefNannySetupContext("test_seek", 0); - __Pyx_TraceCall("test_seek", __pyx_f[0], 601, 0, __PYX_ERR(0, 601, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":602 - * - * def test_seek(concat): - * with tempdir() as tdir: # <<<<<<<<<<<<<< - * nelems = 262144 # == 2MB - * testfile = op.join(tdir, 'test.gz') - */ - __Pyx_TraceLine(602,0,__PYX_ERR(0, 602, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_tdir = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":603 - * def test_seek(concat): - * with tempdir() as tdir: - * nelems = 262144 # == 2MB # <<<<<<<<<<<<<< - * testfile = op.join(tdir, 'test.gz') - * gen_test_data(testfile, nelems, concat) - */ - __Pyx_TraceLine(603,0,__PYX_ERR(0, 603, __pyx_L7_error)) - __pyx_v_nelems = 0x40000; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":604 - * with tempdir() as tdir: - * nelems = 262144 # == 2MB - * testfile = op.join(tdir, 'test.gz') # <<<<<<<<<<<<<< - * gen_test_data(testfile, nelems, concat) - * - */ - __Pyx_TraceLine(604,0,__PYX_ERR(0, 604, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 604, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 604, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_tdir, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 604, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_tdir); - __Pyx_GIVEREF(__pyx_v_tdir); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_tdir); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_testfile = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":605 - * nelems = 262144 # == 2MB - * testfile = op.join(tdir, 'test.gz') - * gen_test_data(testfile, nelems, concat) # <<<<<<<<<<<<<< - * - * results = [] - */ - __Pyx_TraceLine(605,0,__PYX_ERR(0, 605, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 605, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 605, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, __pyx_v_concat}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - { - __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 605, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_v_testfile); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_5); - __Pyx_INCREF(__pyx_v_concat); - __Pyx_GIVEREF(__pyx_v_concat); - PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, __pyx_v_concat); - __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":607 - * gen_test_data(testfile, nelems, concat) - * - * results = [] # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: - */ - __Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L7_error)) - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 607, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_v_results = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":609 - * results = [] - * - * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: # <<<<<<<<<<<<<< - * - * results.append((f.read(8), 0)) - */ - __Pyx_TraceLine(609,0,__PYX_ERR(0, 609, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 609, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 609, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 609, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 609, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 609, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 609, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_10; - __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":611 - * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: - * - * results.append((f.read(8), 0)) # <<<<<<<<<<<<<< - * - * f.seek(24, SEEK_SET) - */ - __Pyx_TraceLine(611,0,__PYX_ERR(0, 611, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 611, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 611, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 611, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_0); - __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 611, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":613 - * results.append((f.read(8), 0)) - * - * f.seek(24, SEEK_SET) # <<<<<<<<<<<<<< - * results.append((f.read(8), 3)) - * - */ - __Pyx_TraceLine(613,0,__PYX_ERR(0, 613, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyInt_From_int(SEEK_SET); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 613, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_24, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_24, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 613, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_int_24); - __Pyx_GIVEREF(__pyx_int_24); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_int_24); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":614 - * - * f.seek(24, SEEK_SET) - * results.append((f.read(8), 3)) # <<<<<<<<<<<<<< - * - * f.seek(-16, SEEK_CUR) - */ - __Pyx_TraceLine(614,0,__PYX_ERR(0, 614, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 614, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 614, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 614, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_INCREF(__pyx_int_3); - __Pyx_GIVEREF(__pyx_int_3); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_3); - __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_3); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 614, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":616 - * results.append((f.read(8), 3)) - * - * f.seek(-16, SEEK_CUR) # <<<<<<<<<<<<<< - * results.append((f.read(8), 2)) - * - */ - __Pyx_TraceLine(616,0,__PYX_ERR(0, 616, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 616, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_neg_16, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_neg_16, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 616, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_10) { - __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL; - } - __Pyx_INCREF(__pyx_int_neg_16); - __Pyx_GIVEREF(__pyx_int_neg_16); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_int_neg_16); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":617 - * - * f.seek(-16, SEEK_CUR) - * results.append((f.read(8), 2)) # <<<<<<<<<<<<<< - * - * f.seek(16, SEEK_CUR) - */ - __Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); - __Pyx_INCREF(__pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_int_2); - __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_5); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 617, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":619 - * results.append((f.read(8), 2)) - * - * f.seek(16, SEEK_CUR) # <<<<<<<<<<<<<< - * results.append((f.read(8), 5)) - * - */ - __Pyx_TraceLine(619,0,__PYX_ERR(0, 619, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 619, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyInt_From_int(SEEK_CUR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 619, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_int_16, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 619, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_int_16, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 619, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - { - __pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 619, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_int_16); - __Pyx_GIVEREF(__pyx_int_16); - PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_int_16); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 619, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":620 - * - * f.seek(16, SEEK_CUR) - * results.append((f.read(8), 5)) # <<<<<<<<<<<<<< - * - * # SEEK_END only works when index is built - */ - __Pyx_TraceLine(620,0,__PYX_ERR(0, 620, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 620, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_10, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 620, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 620, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_INCREF(__pyx_int_5); - __Pyx_GIVEREF(__pyx_int_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_5); - __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_3); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 620, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":623 - * - * # SEEK_END only works when index is built - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * f.seek(-100, SEEK_END) - * - */ - __Pyx_TraceLine(623,0,__PYX_ERR(0, 623, __pyx_L17_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 623, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 623, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_16 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 623, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L23_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 623, __pyx_L23_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":624 - * # SEEK_END only works when index is built - * with pytest.raises(ValueError): - * f.seek(-100, SEEK_END) # <<<<<<<<<<<<<< - * - * f.build_full_index() - */ - __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L27_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 624, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 624, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_10)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_neg_100, __pyx_t_5}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L27_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_int_neg_100, __pyx_t_5}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L27_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_int_neg_100); - __Pyx_GIVEREF(__pyx_int_neg_100); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_int_neg_100); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":623 - * - * # SEEK_END only works when index is built - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * f.seek(-100, SEEK_END) - * - */ - } - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - goto __pyx_L32_try_end; - __pyx_L27_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_1) < 0) __PYX_ERR(0, 623, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 623, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 623, __pyx_L29_except_error) - __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); - if (__pyx_t_22) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_10, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 623, __pyx_L29_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L28_exception_handled; - } - __pyx_L29_except_error:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); - goto __pyx_L17_error; - __pyx_L28_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_L32_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_16) { - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 623, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - goto __pyx_L26; - } - __pyx_L26:; - } - goto __pyx_L36; - __pyx_L23_error:; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - goto __pyx_L17_error; - __pyx_L36:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":626 - * f.seek(-100, SEEK_END) - * - * f.build_full_index() # <<<<<<<<<<<<<< - * - * f.seek(-800, SEEK_END) - */ - __Pyx_TraceLine(626,0,__PYX_ERR(0, 626, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 626, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":628 - * f.build_full_index() - * - * f.seek(-800, SEEK_END) # <<<<<<<<<<<<<< - * results.append((f.read(8), 262044)) - * - */ - __Pyx_TraceLine(628,0,__PYX_ERR(0, 628, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 628, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 628, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_10)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_int_neg_800, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_int_neg_800, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_int_neg_800); - __Pyx_GIVEREF(__pyx_int_neg_800); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_int_neg_800); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":629 - * - * f.seek(-800, SEEK_END) - * results.append((f.read(8), 262044)) # <<<<<<<<<<<<<< - * - * f.seek(-3200, SEEK_END) - */ - __Pyx_TraceLine(629,0,__PYX_ERR(0, 629, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 629, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 629, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 629, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); - __Pyx_INCREF(__pyx_int_262044); - __Pyx_GIVEREF(__pyx_int_262044); - PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_int_262044); - __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_10); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 629, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":631 - * results.append((f.read(8), 262044)) - * - * f.seek(-3200, SEEK_END) # <<<<<<<<<<<<<< - * results.append((f.read(8), 261744)) - * - */ - __Pyx_TraceLine(631,0,__PYX_ERR(0, 631, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_From_int(SEEK_END); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_neg_3200, __pyx_t_2}; - __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 631, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_neg_3200, __pyx_t_2}; - __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 631, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 631, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_int_neg_3200); - __Pyx_GIVEREF(__pyx_int_neg_3200); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_neg_3200); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 631, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":632 - * - * f.seek(-3200, SEEK_END) - * results.append((f.read(8), 261744)) # <<<<<<<<<<<<<< - * - * for data, expected in results: - */ - __Pyx_TraceLine(632,0,__PYX_ERR(0, 632, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 632, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_10); - __Pyx_INCREF(__pyx_int_261744); - __Pyx_GIVEREF(__pyx_int_261744); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_261744); - __pyx_t_10 = 0; - __pyx_t_15 = __Pyx_PyList_Append(__pyx_v_results, __pyx_t_1); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 632, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":609 - * results = [] - * - * with igzip._IndexedGzipFile(testfile, spacing=131072) as f: # <<<<<<<<<<<<<< - * - * results.append((f.read(8), 0)) - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 609, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 609, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_22 < 0) __PYX_ERR(0, 609, __pyx_L19_except_error) - __pyx_t_21 = ((!(__pyx_t_22 != 0)) != 0); - if (__pyx_t_21) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_10, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 609, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 609, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L40; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L40:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":634 - * results.append((f.read(8), 261744)) - * - * for data, expected in results: # <<<<<<<<<<<<<< - * val = np.frombuffer(data, dtype=np.uint64) - * assert val == expected - */ - __Pyx_TraceLine(634,0,__PYX_ERR(0, 634, __pyx_L7_error)) - __pyx_t_5 = __pyx_v_results; __Pyx_INCREF(__pyx_t_5); __pyx_t_23 = 0; - for (;;) { - if (__pyx_t_23 >= PyList_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_10 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_23); __Pyx_INCREF(__pyx_t_10); __pyx_t_23++; if (unlikely(0 < 0)) __PYX_ERR(0, 634, __pyx_L7_error) - #else - __pyx_t_10 = PySequence_ITEM(__pyx_t_5, __pyx_t_23); __pyx_t_23++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 634, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - #endif - if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) { - PyObject* sequence = __pyx_t_10; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 634, __pyx_L7_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_1 = PyList_GET_ITEM(sequence, 0); - __pyx_t_2 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - #else - __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 634, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_24 = Py_TYPE(__pyx_t_3)->tp_iternext; - index = 0; __pyx_t_1 = __pyx_t_24(__pyx_t_3); if (unlikely(!__pyx_t_1)) goto __pyx_L43_unpacking_failed; - __Pyx_GOTREF(__pyx_t_1); - index = 1; __pyx_t_2 = __pyx_t_24(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L43_unpacking_failed; - __Pyx_GOTREF(__pyx_t_2); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_24(__pyx_t_3), 2) < 0) __PYX_ERR(0, 634, __pyx_L7_error) - __pyx_t_24 = NULL; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L44_unpacking_done; - __pyx_L43_unpacking_failed:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_24 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 634, __pyx_L7_error) - __pyx_L44_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); - __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":635 - * - * for data, expected in results: - * val = np.frombuffer(data, dtype=np.uint64) # <<<<<<<<<<<<<< - * assert val == expected - * - */ - __Pyx_TraceLine(635,0,__PYX_ERR(0, 635, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 635, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 635, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 635, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_INCREF(__pyx_v_data); - __Pyx_GIVEREF(__pyx_v_data); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_data); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 635, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 635, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 635, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_25) < 0) __PYX_ERR(0, 635, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 635, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_25); - __pyx_t_25 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":636 - * for data, expected in results: - * val = np.frombuffer(data, dtype=np.uint64) - * assert val == expected # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(636,0,__PYX_ERR(0, 636, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_25 = PyObject_RichCompare(__pyx_v_val, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_25); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 636, __pyx_L7_error) - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_25); if (unlikely(__pyx_t_21 < 0)) __PYX_ERR(0, 636, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (unlikely(!__pyx_t_21)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 636, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":634 - * results.append((f.read(8), 261744)) - * - * for data, expected in results: # <<<<<<<<<<<<<< - * val = np.frombuffer(data, dtype=np.uint64) - * assert val == expected - */ - __Pyx_TraceLine(634,0,__PYX_ERR(0, 634, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":602 - * - * def test_seek(concat): - * with tempdir() as tdir: # <<<<<<<<<<<<<< - * nelems = 262144 # == 2MB - * testfile = op.join(tdir, 'test.gz') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_25, &__pyx_t_1) < 0) __PYX_ERR(0, 602, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_25); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_25, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 602, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 602, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 602, __pyx_L9_except_error) - __pyx_t_22 = ((!(__pyx_t_21 != 0)) != 0); - if (__pyx_t_22) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_25, __pyx_t_1); - __pyx_t_5 = 0; __pyx_t_25 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 602, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 602, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L48; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L48:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":601 - * - * - * def test_seek(concat): # <<<<<<<<<<<<<< - * with tempdir() as tdir: - * nelems = 262144 # == 2MB - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_25); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_tdir); - __Pyx_XDECREF(__pyx_v_testfile); - __Pyx_XDECREF(__pyx_v_results); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_expected); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":639 - * - * - * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read = {"test_seek_and_read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_niters = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seek_and_read (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_niters,&__pyx_n_s_seed,&__pyx_n_s_drop,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 1); __PYX_ERR(0, 639, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 2); __PYX_ERR(0, 639, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 3); __PYX_ERR(0, 639, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, 4); __PYX_ERR(0, 639, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_and_read") < 0)) __PYX_ERR(0, 639, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - __pyx_v_niters = values[2]; - __pyx_v_seed = values[3]; - __pyx_v_drop = values[4]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_and_read", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 639, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek_and_read(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_40test_seek_and_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_seekelems = NULL; - CYTHON_UNUSED PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_testval = NULL; - PyObject *__pyx_v_readval = NULL; - PyObject *__pyx_v_ft = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - Py_ssize_t __pyx_t_10; - PyObject *(*__pyx_t_11)(PyObject *); - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__53) - __Pyx_RefNannySetupContext("test_seek_and_read", 0); - __Pyx_TraceCall("test_seek_and_read", __pyx_f[0], 639, 0, __PYX_ERR(0, 639, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":641 - * def test_seek_and_read(testfile, nelems, niters, seed, drop): - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * # Pick some random elements and make - */ - __Pyx_TraceLine(641,0,__PYX_ERR(0, 641, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 641, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 641, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":645 - * # Pick some random elements and make - * # sure their values are all right - * seekelems = np.random.randint(0, nelems, niters) # <<<<<<<<<<<<<< - * - * for i, testval in enumerate(seekelems): - */ - __Pyx_TraceLine(645,0,__PYX_ERR(0, 645, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 645, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 645, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_nelems); - __Pyx_INCREF(__pyx_v_niters); - __Pyx_GIVEREF(__pyx_v_niters); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_v_niters); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 645, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_seekelems = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":647 - * seekelems = np.random.randint(0, nelems, niters) - * - * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< - * - * readval = read_element(f, testval) - */ - __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L7_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_t_2 = __pyx_int_0; - if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { - __pyx_t_3 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; - __pyx_t_11 = NULL; - } else { - __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 647, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 647, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_11)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 647, __pyx_L7_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } else { - if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 647, __pyx_L7_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } - } else { - __pyx_t_5 = __pyx_t_11(__pyx_t_3); - if (unlikely(!__pyx_t_5)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 647, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_XDECREF_SET(__pyx_v_testval, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); - __pyx_t_2 = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":649 - * for i, testval in enumerate(seekelems): - * - * readval = read_element(f, testval) # <<<<<<<<<<<<<< - * - * ft = f.tell() - */ - __Pyx_TraceLine(649,0,__PYX_ERR(0, 649, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_read_element); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_f, __pyx_v_testval}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 649, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_f, __pyx_v_testval}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 649, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - { - __pyx_t_13 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 649, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - if (__pyx_t_12) { - __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL; - } - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_9, __pyx_v_f); - __Pyx_INCREF(__pyx_v_testval); - __Pyx_GIVEREF(__pyx_v_testval); - PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_9, __pyx_v_testval); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 649, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":651 - * readval = read_element(f, testval) - * - * ft = f.tell() # <<<<<<<<<<<<<< - * - * assert ft == (testval + 1) * 8 - */ - __Pyx_TraceLine(651,0,__PYX_ERR(0, 651, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 651, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":653 - * ft = f.tell() - * - * assert ft == (testval + 1) * 8 # <<<<<<<<<<<<<< - * assert readval == testval - * - */ - __Pyx_TraceLine(653,0,__PYX_ERR(0, 653, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_testval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 653, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 653, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_ft, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 653, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 653, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 653, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":654 - * - * assert ft == (testval + 1) * 8 - * assert readval == testval # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(654,0,__PYX_ERR(0, 654, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = PyObject_RichCompare(__pyx_v_readval, __pyx_v_testval, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 654, __pyx_L7_error) - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 654, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 654, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":647 - * seekelems = np.random.randint(0, nelems, niters) - * - * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< - * - * readval = read_element(f, testval) - */ - __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":641 - * def test_seek_and_read(testfile, nelems, niters, seed, drop): - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * # Pick some random elements and make - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 641, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 641, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_14 < 0) __PYX_ERR(0, 641, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_14 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 641, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L18; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L18:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":639 - * - * - * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_seekelems); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_testval); - __Pyx_XDECREF(__pyx_v_readval); - __Pyx_XDECREF(__pyx_v_ft); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":657 - * - * - * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell = {"test_seek_and_tell", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_niters = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - PyObject *__pyx_v_drop = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seek_and_tell (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_nelems,&__pyx_n_s_niters,&__pyx_n_s_seed,&__pyx_n_s_drop,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 1); __PYX_ERR(0, 657, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 2); __PYX_ERR(0, 657, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 3); __PYX_ERR(0, 657, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_drop)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, 4); __PYX_ERR(0, 657, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_and_tell") < 0)) __PYX_ERR(0, 657, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_testfile = values[0]; - __pyx_v_nelems = values[1]; - __pyx_v_niters = values[2]; - __pyx_v_seed = values[3]; - __pyx_v_drop = values[4]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_and_tell", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 657, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_tell", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek_and_tell(__pyx_self, __pyx_v_testfile, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed, __pyx_v_drop); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_42test_seek_and_tell(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_seeklocs = NULL; - PyObject *__pyx_v_seekloc = NULL; - PyObject *__pyx_v_st = NULL; - PyObject *__pyx_v_ft = NULL; - PyObject *__pyx_v_eofseeks = NULL; - PyObject *__pyx_v_es = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - Py_ssize_t __pyx_t_10; - PyObject *(*__pyx_t_11)(PyObject *); - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__54) - __Pyx_RefNannySetupContext("test_seek_and_tell", 0); - __Pyx_TraceCall("test_seek_and_tell", __pyx_f[0], 657, 0, __PYX_ERR(0, 657, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":659 - * def test_seek_and_tell(testfile, nelems, niters, seed, drop): - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - __Pyx_TraceLine(659,0,__PYX_ERR(0, 659, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 659, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":661 - * filesize = nelems * 8 - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * # Pick some random seek positions - */ - __Pyx_TraceLine(661,0,__PYX_ERR(0, 661, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 661, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 661, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 661, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":666 - * # and make sure that seek and tell - * # return their location correctly - * seeklocs = np.random.randint(0, filesize, niters) # <<<<<<<<<<<<<< - * - * for seekloc in seeklocs: - */ - __Pyx_TraceLine(666,0,__PYX_ERR(0, 666, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_filesize, __pyx_v_niters}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_v_filesize, __pyx_v_niters}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_5 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_0); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_filesize); - __Pyx_INCREF(__pyx_v_niters); - __Pyx_GIVEREF(__pyx_v_niters); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_v_niters); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_seeklocs = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":668 - * seeklocs = np.random.randint(0, filesize, niters) - * - * for seekloc in seeklocs: # <<<<<<<<<<<<<< - * - * st = f.seek(seekloc) - */ - __Pyx_TraceLine(668,0,__PYX_ERR(0, 668, __pyx_L7_error)) - if (likely(PyList_CheckExact(__pyx_v_seeklocs)) || PyTuple_CheckExact(__pyx_v_seeklocs)) { - __pyx_t_2 = __pyx_v_seeklocs; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0; - __pyx_t_11 = NULL; - } else { - __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_seeklocs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 668, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 668, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_11)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 668, __pyx_L7_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 668, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } else { - if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 668, __pyx_L7_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 668, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } - } else { - __pyx_t_3 = __pyx_t_11(__pyx_t_2); - if (unlikely(!__pyx_t_3)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 668, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_XDECREF_SET(__pyx_v_seekloc, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":670 - * for seekloc in seeklocs: - * - * st = f.seek(seekloc) # <<<<<<<<<<<<<< - * ft = f.tell() - * - */ - __Pyx_TraceLine(670,0,__PYX_ERR(0, 670, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 670, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_seekloc) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_seekloc); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 670, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_st, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":671 - * - * st = f.seek(seekloc) - * ft = f.tell() # <<<<<<<<<<<<<< - * - * assert ft == seekloc - */ - __Pyx_TraceLine(671,0,__PYX_ERR(0, 671, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 671, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 671, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":673 - * ft = f.tell() - * - * assert ft == seekloc # <<<<<<<<<<<<<< - * assert st == seekloc - * - */ - __Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_ft, __pyx_v_seekloc, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L7_error) - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 673, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 673, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":674 - * - * assert ft == seekloc - * assert st == seekloc # <<<<<<<<<<<<<< - * - * # Also test that seeking beyond - */ - __Pyx_TraceLine(674,0,__PYX_ERR(0, 674, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_st, __pyx_v_seekloc, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L7_error) - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 674, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 674, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":668 - * seeklocs = np.random.randint(0, filesize, niters) - * - * for seekloc in seeklocs: # <<<<<<<<<<<<<< - * - * st = f.seek(seekloc) - */ - __Pyx_TraceLine(668,0,__PYX_ERR(0, 668, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":679 - * # EOF is clamped to EOF - * eofseeks = [filesize, - * filesize + 1, # <<<<<<<<<<<<<< - * filesize + 2, - * filesize + 3, - */ - __Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 679, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":680 - * eofseeks = [filesize, - * filesize + 1, - * filesize + 2, # <<<<<<<<<<<<<< - * filesize + 3, - * filesize + 4, - */ - __Pyx_TraceLine(680,0,__PYX_ERR(0, 680, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 680, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":681 - * filesize + 1, - * filesize + 2, - * filesize + 3, # <<<<<<<<<<<<<< - * filesize + 4, - * filesize + 1000, - */ - __Pyx_TraceLine(681,0,__PYX_ERR(0, 681, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_3, 3, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 681, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":682 - * filesize + 2, - * filesize + 3, - * filesize + 4, # <<<<<<<<<<<<<< - * filesize + 1000, - * filesize * 1000] - */ - __Pyx_TraceLine(682,0,__PYX_ERR(0, 682, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_4, 4, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 682, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":683 - * filesize + 3, - * filesize + 4, - * filesize + 1000, # <<<<<<<<<<<<<< - * filesize * 1000] - * - */ - __Pyx_TraceLine(683,0,__PYX_ERR(0, 683, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 683, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":684 - * filesize + 4, - * filesize + 1000, - * filesize * 1000] # <<<<<<<<<<<<<< - * - * for es in eofseeks: - */ - __Pyx_TraceLine(684,0,__PYX_ERR(0, 684, __pyx_L7_error)) - __pyx_t_14 = PyNumber_Multiply(__pyx_v_filesize, __pyx_int_1000); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 684, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":678 - * # Also test that seeking beyond - * # EOF is clamped to EOF - * eofseeks = [filesize, # <<<<<<<<<<<<<< - * filesize + 1, - * filesize + 2, - */ - __Pyx_TraceLine(678,0,__PYX_ERR(0, 678, __pyx_L7_error)) - __pyx_t_15 = PyList_New(7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 678, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyList_SET_ITEM(__pyx_t_15, 0, __pyx_v_filesize); - __Pyx_GIVEREF(__pyx_t_2); - PyList_SET_ITEM(__pyx_t_15, 1, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyList_SET_ITEM(__pyx_t_15, 2, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyList_SET_ITEM(__pyx_t_15, 3, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - PyList_SET_ITEM(__pyx_t_15, 4, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - PyList_SET_ITEM(__pyx_t_15, 5, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_14); - PyList_SET_ITEM(__pyx_t_15, 6, __pyx_t_14); - __pyx_t_2 = 0; - __pyx_t_3 = 0; - __pyx_t_5 = 0; - __pyx_t_1 = 0; - __pyx_t_13 = 0; - __pyx_t_14 = 0; - __pyx_v_eofseeks = ((PyObject*)__pyx_t_15); - __pyx_t_15 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":686 - * filesize * 1000] - * - * for es in eofseeks: # <<<<<<<<<<<<<< - * assert f.seek(es) == filesize - * assert f.tell() == filesize - */ - __Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L7_error)) - __pyx_t_15 = __pyx_v_eofseeks; __Pyx_INCREF(__pyx_t_15); __pyx_t_10 = 0; - for (;;) { - if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_15)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_14 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_10); __Pyx_INCREF(__pyx_t_14); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 686, __pyx_L7_error) - #else - __pyx_t_14 = PySequence_ITEM(__pyx_t_15, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 686, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - #endif - __Pyx_XDECREF_SET(__pyx_v_es, __pyx_t_14); - __pyx_t_14 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":687 - * - * for es in eofseeks: - * assert f.seek(es) == filesize # <<<<<<<<<<<<<< - * assert f.tell() == filesize - * - */ - __Pyx_TraceLine(687,0,__PYX_ERR(0, 687, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 687, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_v_es) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_es); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 687, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyObject_RichCompare(__pyx_t_14, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 687, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 687, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 687, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":688 - * for es in eofseeks: - * assert f.seek(es) == filesize - * assert f.tell() == filesize # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(688,0,__PYX_ERR(0, 688, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 688, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - } - } - __pyx_t_13 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 688, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyObject_RichCompare(__pyx_t_13, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 688, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 688, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 688, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":686 - * filesize * 1000] - * - * for es in eofseeks: # <<<<<<<<<<<<<< - * assert f.seek(es) == filesize - * assert f.tell() == filesize - */ - __Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":661 - * filesize = nelems * 8 - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * # Pick some random seek positions - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_tell", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13) < 0) __PYX_ERR(0, 661, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_15, __pyx_t_14, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 661, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_12 < 0) __PYX_ERR(0, 661, __pyx_L9_except_error) - __pyx_t_17 = ((!(__pyx_t_12 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_15); - __Pyx_GIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ErrRestoreWithState(__pyx_t_15, __pyx_t_14, __pyx_t_13); - __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_13 = 0; - __PYX_ERR(0, 661, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 661, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L20; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L20:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":657 - * - * - * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_seek_and_tell", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_seeklocs); - __Pyx_XDECREF(__pyx_v_seekloc); - __Pyx_XDECREF(__pyx_v_st); - __Pyx_XDECREF(__pyx_v_ft); - __Pyx_XDECREF(__pyx_v_eofseeks); - __Pyx_XDECREF(__pyx_v_es); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 - * - * - * def test_pread(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * nelems = 1024 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread = {"test_pread", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_pread (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_pread(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_44test_pread(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_td = NULL; - long __pyx_v_nelems; - PyObject *__pyx_v_testfile = NULL; - PyObject *__pyx_v_f = NULL; - CYTHON_UNUSED long __pyx_v_i; - PyObject *__pyx_v_off = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - long __pyx_t_15; - int __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - int __pyx_t_18; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__55) - __Pyx_RefNannySetupContext("test_pread", 0); - __Pyx_TraceCall("test_pread", __pyx_f[0], 691, 0, __PYX_ERR(0, 691, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":692 - * - * def test_pread(): - * with tempdir() as td: # <<<<<<<<<<<<<< - * nelems = 1024 - * testfile = op.join(td, 'test.gz') - */ - __Pyx_TraceLine(692,0,__PYX_ERR(0, 692, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":693 - * def test_pread(): - * with tempdir() as td: - * nelems = 1024 # <<<<<<<<<<<<<< - * testfile = op.join(td, 'test.gz') - * gen_test_data(testfile, nelems, False) - */ - __Pyx_TraceLine(693,0,__PYX_ERR(0, 693, __pyx_L7_error)) - __pyx_v_nelems = 0x400; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":694 - * with tempdir() as td: - * nelems = 1024 - * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * gen_test_data(testfile, nelems, False) - * - */ - __Pyx_TraceLine(694,0,__PYX_ERR(0, 694, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 694, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 694, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 694, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_testfile = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":695 - * nelems = 1024 - * testfile = op.join(td, 'test.gz') - * gen_test_data(testfile, nelems, False) # <<<<<<<<<<<<<< - * - * with igzip.IndexedGzipFile(testfile) as f: - */ - __Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 695, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 695, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, Py_False}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 695, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_testfile, __pyx_t_5, Py_False}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 695, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else - #endif - { - __pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 695, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_v_testfile); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_5); - __Pyx_INCREF(Py_False); - __Pyx_GIVEREF(Py_False); - PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, Py_False); - __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 695, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":697 - * gen_test_data(testfile, nelems, False) - * - * with igzip.IndexedGzipFile(testfile) as f: # <<<<<<<<<<<<<< - * for i in range(20): - * off = np.random.randint(0, nelems, 1)[0] - */ - __Pyx_TraceLine(697,0,__PYX_ERR(0, 697, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 697, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_2, __pyx_v_testfile) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_testfile); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 697, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 697, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 697, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_10; - __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":698 - * - * with igzip.IndexedGzipFile(testfile) as f: - * for i in range(20): # <<<<<<<<<<<<<< - * off = np.random.randint(0, nelems, 1)[0] - * data = f.pread(8, off * 8) - */ - __Pyx_TraceLine(698,0,__PYX_ERR(0, 698, __pyx_L17_error)) - for (__pyx_t_15 = 0; __pyx_t_15 < 20; __pyx_t_15+=1) { - __pyx_v_i = __pyx_t_15; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":699 - * with igzip.IndexedGzipFile(testfile) as f: - * for i in range(20): - * off = np.random.randint(0, nelems, 1)[0] # <<<<<<<<<<<<<< - * data = f.pread(8, off * 8) - * val = np.frombuffer(data, dtype=np.uint64) - */ - __Pyx_TraceLine(699,0,__PYX_ERR(0, 699, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_v_nelems); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_10, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_t_10, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } else - #endif - { - __pyx_t_1 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_int_0); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_t_10); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_9, __pyx_int_1); - __pyx_t_10 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":700 - * for i in range(20): - * off = np.random.randint(0, nelems, 1)[0] - * data = f.pread(8, off * 8) # <<<<<<<<<<<<<< - * val = np.frombuffer(data, dtype=np.uint64) - * assert val[0] == off - */ - __Pyx_TraceLine(700,0,__PYX_ERR(0, 700, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_pread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 700, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyNumber_Multiply(__pyx_v_off, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 700, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_8, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_int_8, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L17_error) - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 700, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_10) { - __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_10); __pyx_t_10 = NULL; - } - __Pyx_INCREF(__pyx_int_8); - __Pyx_GIVEREF(__pyx_int_8); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_int_8); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":701 - * off = np.random.randint(0, nelems, 1)[0] - * data = f.pread(8, off * 8) - * val = np.frombuffer(data, dtype=np.uint64) # <<<<<<<<<<<<<< - * assert val[0] == off - * - */ - __Pyx_TraceLine(701,0,__PYX_ERR(0, 701, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 701, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_data); - __Pyx_GIVEREF(__pyx_v_data); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_data); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 701, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 701, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 701, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_10); - __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":702 - * data = f.pread(8, off * 8) - * val = np.frombuffer(data, dtype=np.uint64) - * assert val[0] == off # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(702,0,__PYX_ERR(0, 702, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 702, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_10, __pyx_v_off, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 702, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 702, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 702, __pyx_L17_error) - } - } - #endif - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":697 - * gen_test_data(testfile, nelems, False) - * - * with igzip.IndexedGzipFile(testfile) as f: # <<<<<<<<<<<<<< - * for i in range(20): - * off = np.random.randint(0, nelems, 1)[0] - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_10, &__pyx_t_3) < 0) __PYX_ERR(0, 697, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 697, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 697, __pyx_L19_except_error) - __pyx_t_18 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_10, __pyx_t_3); - __pyx_t_5 = 0; __pyx_t_10 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 697, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 697, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L28; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L28:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":692 - * - * def test_pread(): - * with tempdir() as td: # <<<<<<<<<<<<<< - * nelems = 1024 - * testfile = op.join(td, 'test.gz') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 692, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 692, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 692, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_18 < 0) __PYX_ERR(0, 692, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_18 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_10, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 692, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 692, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L32; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L32:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 - * - * - * def test_pread(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * nelems = 1024 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_pread", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_testfile); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_off); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 - * - * - * def test_readinto(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * line 1 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto = {"test_readinto", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto(PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_readinto (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_readinto(__pyx_self, ((PyObject *)__pyx_v_drop)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 - * - * - * def line_offset(idx): # <<<<<<<<<<<<<< - * return sum([len(l) for l in lines[:idx]]) + idx - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset(PyObject *__pyx_self, PyObject *__pyx_v_idx); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset = {"line_offset", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset(PyObject *__pyx_self, PyObject *__pyx_v_idx) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("line_offset (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_self, ((PyObject *)__pyx_v_idx)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(PyObject *__pyx_self, PyObject *__pyx_v_idx) { - struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *__pyx_cur_scope; - struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *__pyx_outer_scope; - PyObject *__pyx_v_l = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - PyObject *(*__pyx_t_5)(PyObject *); - Py_ssize_t __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("line_offset", 0); - __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *) __Pyx_CyFunction_GetClosure(__pyx_self); - __pyx_cur_scope = __pyx_outer_scope; - __Pyx_TraceCall("line_offset", __pyx_f[0], 715, 0, __PYX_ERR(0, 715, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":716 - * - * def line_offset(idx): - * return sum([len(l) for l in lines[:idx]]) + idx # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(716,0,__PYX_ERR(0, 716, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely(!__pyx_cur_scope->__pyx_v_lines)) { __Pyx_RaiseClosureNameError("lines"); __PYX_ERR(0, 716, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_lines, 0, 0, NULL, &__pyx_v_idx, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { - __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 716, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 716, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 716, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_5(__pyx_t_3); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 716, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XDECREF_SET(__pyx_v_l, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_6 = PyObject_Length(__pyx_v_l); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 716, __pyx_L1_error) - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 716, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 - * - * - * def line_offset(idx): # <<<<<<<<<<<<<< - * return sum([len(l) for l in lines[:idx]]) + idx - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto.line_offset", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_l); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 - * - * - * def test_readinto(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * line 1 - */ - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_46test_readinto(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { - struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *__pyx_cur_scope; - PyObject *__pyx_v_line_offset = 0; - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_testfile = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_buf = NULL; - PyObject *__pyx_v_offset = NULL; - PyObject *__pyx_v_filelen = NULL; - PyObject *__pyx_v_l = NULL; - CYTHON_UNUSED Py_ssize_t __pyx_v_i; - PyObject *__pyx_v_b = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - Py_ssize_t __pyx_t_15; - int __pyx_t_16; - PyObject *(*__pyx_t_17)(PyObject *); - Py_ssize_t __pyx_t_18; - Py_ssize_t __pyx_t_19; - PyObject *__pyx_t_20 = NULL; - int __pyx_t_21; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__56) - __Pyx_RefNannySetupContext("test_readinto", 0); - __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)__pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(__pyx_ptype_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 705, __pyx_L1_error) - } else { - __Pyx_GOTREF(__pyx_cur_scope); - } - __Pyx_TraceCall("test_readinto", __pyx_f[0], 705, 0, __PYX_ERR(0, 705, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":706 - * - * def test_readinto(drop): - * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< - * line 1 - * line 2 - */ - __Pyx_TraceLine(706,0,__PYX_ERR(0, 706, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_line_1_line_2_this_is_line_3_li) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_line_1_line_2_this_is_line_3_li); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 706, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":712 - * line the fourth - * here is the fifth line - * """).strip().split('\n') # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(712,0,__PYX_ERR(0, 712, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__57) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__57); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_lines = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 - * - * - * def line_offset(idx): # <<<<<<<<<<<<<< - * return sum([len(l) for l in lines[:idx]]) + idx - * - */ - __Pyx_TraceLine(715,0,__PYX_ERR(0, 715, __pyx_L1_error)) - __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_1line_offset, 0, __pyx_n_s_test_readinto_locals_line_offset, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 715, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_line_offset = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":719 - * - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * testfile = op.join(td, 'test.gz') - * write_text_to_gzip_file(testfile, lines) - */ - __Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 719, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - __pyx_v_td = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":720 - * - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * write_text_to_gzip_file(testfile, lines) - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - __Pyx_TraceLine(720,0,__PYX_ERR(0, 720, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 720, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_10 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 720, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 720, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 720, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 720, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_testfile = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":721 - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') - * write_text_to_gzip_file(testfile, lines) # <<<<<<<<<<<<<< - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - * - */ - __Pyx_TraceLine(721,0,__PYX_ERR(0, 721, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 721, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_10 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_testfile, __pyx_cur_scope->__pyx_v_lines}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_testfile, __pyx_cur_scope->__pyx_v_lines}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_v_testfile); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_lines); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_lines); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_cur_scope->__pyx_v_lines); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 721, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":722 - * testfile = op.join(td, 'test.gz') - * write_text_to_gzip_file(testfile, lines) - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * # read first line into a byte array - */ - __Pyx_TraceLine(722,0,__PYX_ERR(0, 722, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_filename, __pyx_v_testfile) < 0) __PYX_ERR(0, 722, __pyx_L7_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 722, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 722, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 722, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":725 - * - * # read first line into a byte array - * buf = bytearray(len(lines[0])) # <<<<<<<<<<<<<< - * f.seek(0) - * assert f.readinto(buf) == len(lines[0]) - */ - __Pyx_TraceLine(725,0,__PYX_ERR(0, 725, __pyx_L17_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 725, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 725, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 725, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 725, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_buf = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":726 - * # read first line into a byte array - * buf = bytearray(len(lines[0])) - * f.seek(0) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == len(lines[0]) - * assert buf.decode() == lines[0] - */ - __Pyx_TraceLine(726,0,__PYX_ERR(0, 726, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 726, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":727 - * buf = bytearray(len(lines[0])) - * f.seek(0) - * assert f.readinto(buf) == len(lines[0]) # <<<<<<<<<<<<<< - * assert buf.decode() == lines[0] - * - */ - __Pyx_TraceLine(727,0,__PYX_ERR(0, 727, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 727, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 727, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 727, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 727, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 727, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 727, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":728 - * f.seek(0) - * assert f.readinto(buf) == len(lines[0]) - * assert buf.decode() == lines[0] # <<<<<<<<<<<<<< - * - * # read first line into memoryvew - */ - __Pyx_TraceLine(728,0,__PYX_ERR(0, 728, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 728, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 728, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 728, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 728, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 728, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":731 - * - * # read first line into memoryvew - * buf = memoryview(bytearray(len(lines[0]))) # <<<<<<<<<<<<<< - * f.seek(0) - * assert f.readinto(buf) == len(lines[0]) - */ - __Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L17_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_memoryview); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 731, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":732 - * # read first line into memoryvew - * buf = memoryview(bytearray(len(lines[0]))) - * f.seek(0) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == len(lines[0]) - * assert buf.tobytes().decode() == lines[0] - */ - __Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 732, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 732, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":733 - * buf = memoryview(bytearray(len(lines[0]))) - * f.seek(0) - * assert f.readinto(buf) == len(lines[0]) # <<<<<<<<<<<<<< - * assert buf.tobytes().decode() == lines[0] - * - */ - __Pyx_TraceLine(733,0,__PYX_ERR(0, 733, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 733, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 733, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":734 - * f.seek(0) - * assert f.readinto(buf) == len(lines[0]) - * assert buf.tobytes().decode() == lines[0] # <<<<<<<<<<<<<< - * - * # read an arbitrary line - */ - __Pyx_TraceLine(734,0,__PYX_ERR(0, 734, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 734, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 734, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":737 - * - * # read an arbitrary line - * offset = line_offset(2) # <<<<<<<<<<<<<< - * buf = bytearray(len(lines[2])) - * f.seek(offset) - */ - __Pyx_TraceLine(737,0,__PYX_ERR(0, 737, __pyx_L17_error)) - __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_v_line_offset, __pyx_int_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 737, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_offset = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":738 - * # read an arbitrary line - * offset = line_offset(2) - * buf = bytearray(len(lines[2])) # <<<<<<<<<<<<<< - * f.seek(offset) - * assert f.readinto(buf) == len(lines[2]) - */ - __Pyx_TraceLine(738,0,__PYX_ERR(0, 738, __pyx_L17_error)) - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 738, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 738, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 738, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":739 - * offset = line_offset(2) - * buf = bytearray(len(lines[2])) - * f.seek(offset) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == len(lines[2]) - * assert buf.decode() == lines[2] - */ - __Pyx_TraceLine(739,0,__PYX_ERR(0, 739, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 739, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 739, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":740 - * buf = bytearray(len(lines[2])) - * f.seek(offset) - * assert f.readinto(buf) == len(lines[2]) # <<<<<<<<<<<<<< - * assert buf.decode() == lines[2] - * - */ - __Pyx_TraceLine(740,0,__PYX_ERR(0, 740, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 740, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 740, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 740, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 740, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 740, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":741 - * f.seek(offset) - * assert f.readinto(buf) == len(lines[2]) - * assert buf.decode() == lines[2] # <<<<<<<<<<<<<< - * - * # read the end line, sans-newline - */ - __Pyx_TraceLine(741,0,__PYX_ERR(0, 741, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 741, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 741, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 741, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 741, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 741, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 741, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":744 - * - * # read the end line, sans-newline - * offset = line_offset(len(lines) - 1) # <<<<<<<<<<<<<< - * buf = bytearray(len(lines[-1])) - * f.seek(offset) - */ - __Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L17_error)) - __pyx_t_5 = __pyx_cur_scope->__pyx_v_lines; - __Pyx_INCREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 744, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 - 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_readinto_line_offset(__pyx_v_line_offset, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_offset, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":745 - * # read the end line, sans-newline - * offset = line_offset(len(lines) - 1) - * buf = bytearray(len(lines[-1])) # <<<<<<<<<<<<<< - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) - */ - __Pyx_TraceLine(745,0,__PYX_ERR(0, 745, __pyx_L17_error)) - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 745, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":746 - * offset = line_offset(len(lines) - 1) - * buf = bytearray(len(lines[-1])) - * f.seek(offset) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == len(lines[-1]) - * assert buf.decode() == lines[-1] - */ - __Pyx_TraceLine(746,0,__PYX_ERR(0, 746, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 746, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":747 - * buf = bytearray(len(lines[-1])) - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) # <<<<<<<<<<<<<< - * assert buf.decode() == lines[-1] - * - */ - __Pyx_TraceLine(747,0,__PYX_ERR(0, 747, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_buf); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 747, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 747, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 747, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":748 - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) - * assert buf.decode() == lines[-1] # <<<<<<<<<<<<<< - * - * # read the end line, with newline - */ - __Pyx_TraceLine(748,0,__PYX_ERR(0, 748, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 748, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 748, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 748, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 748, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":751 - * - * # read the end line, with newline - * buf = bytearray(len(lines[-1]) + 1) # <<<<<<<<<<<<<< - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) + 1 - */ - __Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L17_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 751, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 751, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":752 - * # read the end line, with newline - * buf = bytearray(len(lines[-1]) + 1) - * f.seek(offset) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == len(lines[-1]) + 1 - * assert buf.decode() == lines[-1] + '\n' - */ - __Pyx_TraceLine(752,0,__PYX_ERR(0, 752, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 752, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":753 - * buf = bytearray(len(lines[-1]) + 1) - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) + 1 # <<<<<<<<<<<<<< - * assert buf.decode() == lines[-1] + '\n' - * - */ - __Pyx_TraceLine(753,0,__PYX_ERR(0, 753, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 753, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 753, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 753, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 753, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 753, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":754 - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) + 1 - * assert buf.decode() == lines[-1] + '\n' # <<<<<<<<<<<<<< - * - * # read the end line with a bigger buffer - */ - __Pyx_TraceLine(754,0,__PYX_ERR(0, 754, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 754, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 754, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 754, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__57); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 754, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 754, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 754, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 754, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":757 - * - * # read the end line with a bigger buffer - * buf = bytearray(len(lines[-1]) + 10) # <<<<<<<<<<<<<< - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) + 1 - */ - __Pyx_TraceLine(757,0,__PYX_ERR(0, 757, __pyx_L17_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 757, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 757, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 757, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 757, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":758 - * # read the end line with a bigger buffer - * buf = bytearray(len(lines[-1]) + 10) - * f.seek(offset) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == len(lines[-1]) + 1 - * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() - */ - __Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 758, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 758, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":759 - * buf = bytearray(len(lines[-1]) + 10) - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) + 1 # <<<<<<<<<<<<<< - * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() - * - */ - __Pyx_TraceLine(759,0,__PYX_ERR(0, 759, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_buf); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 759, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 759, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_15 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 759, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 759, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 759, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":760 - * f.seek(offset) - * assert f.readinto(buf) == len(lines[-1]) + 1 - * assert buf.decode() == lines[-1] + '\n' + (b'\0' * 9).decode() # <<<<<<<<<<<<<< - * - * # start at EOF, and try to read something - */ - __Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_buf, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 760, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_lines, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__57); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 760, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_decode_bytes(__pyx_kp_b__60, 0, PY_SSIZE_T_MAX, NULL, NULL, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 760, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 760, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":763 - * - * # start at EOF, and try to read something - * filelen = sum([len(l) for l in lines]) + len(lines) # <<<<<<<<<<<<<< - * f.seek(filelen) - * buf = bytearray([99 for i in range(len(buf))]) - */ - __Pyx_TraceLine(763,0,__PYX_ERR(0, 763, __pyx_L17_error)) - __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_lines)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_lines)) { - __pyx_t_3 = __pyx_cur_scope->__pyx_v_lines; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; - __pyx_t_17 = NULL; - } else { - __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 763, __pyx_L17_error) - } - for (;;) { - if (likely(!__pyx_t_17)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 763, __pyx_L17_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 763, __pyx_L17_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } - } else { - __pyx_t_1 = __pyx_t_17(__pyx_t_3); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 763, __pyx_L17_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_XDECREF_SET(__pyx_v_l, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_18 = PyObject_Length(__pyx_v_l); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 763, __pyx_L17_error) - __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_cur_scope->__pyx_v_lines; - __Pyx_INCREF(__pyx_t_5); - __pyx_t_15 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 763, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_filelen = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":764 - * # start at EOF, and try to read something - * filelen = sum([len(l) for l in lines]) + len(lines) - * f.seek(filelen) # <<<<<<<<<<<<<< - * buf = bytearray([99 for i in range(len(buf))]) - * assert f.readinto(buf) == 0 - */ - __Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 764, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_filelen) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_filelen); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 764, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":765 - * filelen = sum([len(l) for l in lines]) + len(lines) - * f.seek(filelen) - * buf = bytearray([99 for i in range(len(buf))]) # <<<<<<<<<<<<<< - * assert f.readinto(buf) == 0 - * assert all([b == chr(99) for b in buf.decode()]) - */ - __Pyx_TraceLine(765,0,__PYX_ERR(0, 765, __pyx_L17_error)) - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 765, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = PyObject_Length(__pyx_v_buf); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 765, __pyx_L17_error) - __pyx_t_18 = __pyx_t_15; - for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { - __pyx_v_i = __pyx_t_19; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_int_99))) __PYX_ERR(0, 765, __pyx_L17_error) - } - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 765, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_buf, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":766 - * f.seek(filelen) - * buf = bytearray([99 for i in range(len(buf))]) - * assert f.readinto(buf) == 0 # <<<<<<<<<<<<<< - * assert all([b == chr(99) for b in buf.decode()]) - * - */ - __Pyx_TraceLine(766,0,__PYX_ERR(0, 766, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readinto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 766, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_buf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_buf); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 766, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 766, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 766, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 766, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":767 - * buf = bytearray([99 for i in range(len(buf))]) - * assert f.readinto(buf) == 0 - * assert all([b == chr(99) for b in buf.decode()]) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(767,0,__PYX_ERR(0, 767, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_decode_bytearray(__pyx_v_buf, 0, PY_SSIZE_T_MAX, NULL, NULL, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - for (;;) { - { - __pyx_t_5 = __pyx_t_17(__pyx_t_3); - if (unlikely(!__pyx_t_5)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 767, __pyx_L17_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_chr, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyObject_RichCompare(__pyx_v_b, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 767, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 767, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":722 - * testfile = op.join(td, 'test.gz') - * write_text_to_gzip_file(testfile, lines) - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * # read first line into a byte array - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 722, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 722, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 722, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 722, __pyx_L19_except_error) - __pyx_t_21 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_21) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 722, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 722, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L32; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L32:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":719 - * - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * testfile = op.join(td, 'test.gz') - * write_text_to_gzip_file(testfile, lines) - */ - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 719, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 719, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 719, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_21 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 719, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 719, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L36; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L1_error; - __pyx_L36:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 - * - * - * def test_readinto(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * line 1 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readinto", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_line_offset); - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_testfile); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_offset); - __Pyx_XDECREF(__pyx_v_filelen); - __Pyx_XDECREF(__pyx_v_l); - __Pyx_XDECREF(__pyx_v_b); - __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 - * - * - * def test_readline(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * this is - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline = {"test_readline", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline(PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_readline (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_readline(__pyx_self, ((PyObject *)__pyx_v_drop)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_48test_readline(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_lines = NULL; - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_seekpos = NULL; - PyObject *__pyx_v_line = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - Py_ssize_t __pyx_t_15; - PyObject *(*__pyx_t_16)(PyObject *); - int __pyx_t_17; - Py_ssize_t __pyx_t_18; - PyObject *__pyx_t_19 = NULL; - int __pyx_t_20; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__62) - __Pyx_RefNannySetupContext("test_readline", 0); - __Pyx_TraceCall("test_readline", __pyx_f[0], 770, 0, __PYX_ERR(0, 770, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":771 - * - * def test_readline(drop): - * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< - * this is - * some text - */ - __Pyx_TraceLine(771,0,__PYX_ERR(0, 771, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_some_text_split_across) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_some_text_split_across); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":777 - * several lines - * how creative - * """).strip().split('\n') # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(777,0,__PYX_ERR(0, 777, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__57) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__57); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 777, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_lines = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":779 - * """).strip().split('\n') - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - __Pyx_TraceLine(779,0,__PYX_ERR(0, 779, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 779, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 779, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 779, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 779, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 779, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - __pyx_v_td = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":780 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * write_text_to_gzip_file(fname, lines) - * - */ - __Pyx_TraceLine(780,0,__PYX_ERR(0, 780, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 780, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 780, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_10 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 780, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 780, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 780, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_fname = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":781 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - */ - __Pyx_TraceLine(781,0,__PYX_ERR(0, 781, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 781, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_10 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 781, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 781, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_v_fname); - __Pyx_INCREF(__pyx_v_lines); - __Pyx_GIVEREF(__pyx_v_lines); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 781, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":783 - * write_text_to_gzip_file(fname, lines) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * seekpos = 0 - * for line in lines: - */ - __Pyx_TraceLine(783,0,__PYX_ERR(0, 783, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 783, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 783, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 783, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 783, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 783, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 783, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":784 - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * seekpos = 0 # <<<<<<<<<<<<<< - * for line in lines: - * - */ - __Pyx_TraceLine(784,0,__PYX_ERR(0, 784, __pyx_L17_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_v_seekpos = __pyx_int_0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":785 - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * seekpos = 0 - * for line in lines: # <<<<<<<<<<<<<< - * - * assert f.readline() == (line + '\n').encode() - */ - __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L17_error)) - if (likely(PyList_CheckExact(__pyx_v_lines)) || PyTuple_CheckExact(__pyx_v_lines)) { - __pyx_t_2 = __pyx_v_lines; __Pyx_INCREF(__pyx_t_2); __pyx_t_15 = 0; - __pyx_t_16 = NULL; - } else { - __pyx_t_15 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_lines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 785, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 785, __pyx_L17_error) - } - for (;;) { - if (likely(!__pyx_t_16)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 785, __pyx_L17_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 785, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } else { - if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 785, __pyx_L17_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 785, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } - } else { - __pyx_t_3 = __pyx_t_16(__pyx_t_2); - if (unlikely(!__pyx_t_3)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 785, __pyx_L17_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":787 - * for line in lines: - * - * assert f.readline() == (line + '\n').encode() # <<<<<<<<<<<<<< - * seekpos += len(line) + 1 - * assert f.tell() == seekpos - */ - __Pyx_TraceLine(787,0,__PYX_ERR(0, 787, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 787, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 787, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_5 = PyNumber_Add(__pyx_v_line, __pyx_kp_s__57); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 787, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 787, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 787, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":788 - * - * assert f.readline() == (line + '\n').encode() - * seekpos += len(line) + 1 # <<<<<<<<<<<<<< - * assert f.tell() == seekpos - * - */ - __Pyx_TraceLine(788,0,__PYX_ERR(0, 788, __pyx_L17_error)) - __pyx_t_18 = PyObject_Length(__pyx_v_line); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 788, __pyx_L17_error) - __pyx_t_4 = PyInt_FromSsize_t((__pyx_t_18 + 1)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_seekpos, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 788, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF_SET(__pyx_v_seekpos, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":789 - * assert f.readline() == (line + '\n').encode() - * seekpos += len(line) + 1 - * assert f.tell() == seekpos # <<<<<<<<<<<<<< - * - * # Should return empty string after EOF - */ - __Pyx_TraceLine(789,0,__PYX_ERR(0, 789, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 789, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 789, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_seekpos, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 789, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 789, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 789, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":785 - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * seekpos = 0 - * for line in lines: # <<<<<<<<<<<<<< - * - * assert f.readline() == (line + '\n').encode() - */ - __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L17_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":792 - * - * # Should return empty string after EOF - * assert f.readline() == b'' # <<<<<<<<<<<<<< - * - * f.seek(0) - */ - __Pyx_TraceLine(792,0,__PYX_ERR(0, 792, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 792, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 792, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_17 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 792, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 792, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":794 - * assert f.readline() == b'' - * - * f.seek(0) # <<<<<<<<<<<<<< - * assert f.readline(0) == b'' - * - */ - __Pyx_TraceLine(794,0,__PYX_ERR(0, 794, __pyx_L17_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 794, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":795 - * - * f.seek(0) - * assert f.readline(0) == b'' # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(795,0,__PYX_ERR(0, 795, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 795, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 795, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_17 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 795, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 795, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":783 - * write_text_to_gzip_file(fname, lines) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * seekpos = 0 - * for line in lines: - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 783, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 783, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 783, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_19); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 783, __pyx_L19_except_error) - __pyx_t_20 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_20) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 783, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 783, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L28; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L28:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":779 - * """).strip().split('\n') - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 779, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 779, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 779, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_20 < 0) __PYX_ERR(0, 779, __pyx_L9_except_error) - __pyx_t_17 = ((!(__pyx_t_20 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); - __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 779, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 779, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L32; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L1_error; - __pyx_L32:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 - * - * - * def test_readline(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * this is - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_lines); - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_seekpos); - __Pyx_XDECREF(__pyx_v_line); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":798 - * - * - * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< - * - * lines = ['line one', 'line two'] - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit = {"test_readline_sizelimit", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit(PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_readline_sizelimit (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_readline_sizelimit(__pyx_self, ((PyObject *)__pyx_v_drop)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_50test_readline_sizelimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_lines = NULL; - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_l = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - Py_ssize_t __pyx_t_14; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__63) - __Pyx_RefNannySetupContext("test_readline_sizelimit", 0); - __Pyx_TraceCall("test_readline_sizelimit", __pyx_f[0], 798, 0, __PYX_ERR(0, 798, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":800 - * def test_readline_sizelimit(drop): - * - * lines = ['line one', 'line two'] # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(800,0,__PYX_ERR(0, 800, __pyx_L1_error)) - __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_kp_s_line_one); - __Pyx_GIVEREF(__pyx_kp_s_line_one); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s_line_one); - __Pyx_INCREF(__pyx_kp_s_line_two); - __Pyx_GIVEREF(__pyx_kp_s_line_two); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_kp_s_line_two); - __pyx_v_lines = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":802 - * lines = ['line one', 'line two'] - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - __Pyx_TraceLine(802,0,__PYX_ERR(0, 802, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 802, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":803 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * write_text_to_gzip_file(fname, lines) - * - */ - __Pyx_TraceLine(803,0,__PYX_ERR(0, 803, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 803, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 803, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 803, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":804 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - */ - __Pyx_TraceLine(804,0,__PYX_ERR(0, 804, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 804, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_v_lines); - __Pyx_GIVEREF(__pyx_v_lines); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_v_lines); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 804, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":806 - * write_text_to_gzip_file(fname, lines) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * # limit to one character before the end of the first line - */ - __Pyx_TraceLine(806,0,__PYX_ERR(0, 806, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 806, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 806, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 806, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 806, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_f = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":809 - * - * # limit to one character before the end of the first line - * l = f.readline(len(lines[0]) - 1) # <<<<<<<<<<<<<< - * assert l == (lines[0][:-1]).encode() - * - */ - __Pyx_TraceLine(809,0,__PYX_ERR(0, 809, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 809, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 809, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 809, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_l = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":810 - * # limit to one character before the end of the first line - * l = f.readline(len(lines[0]) - 1) - * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< - * - * # limit to the last character of the first line - */ - __Pyx_TraceLine(810,0,__PYX_ERR(0, 810, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 810, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_5, 0, -1L, NULL, NULL, &__pyx_slice__64, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 810, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 810, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 810, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_l, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 810, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 810, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_15)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 810, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":813 - * - * # limit to the last character of the first line - * f.seek(0) # <<<<<<<<<<<<<< - * l = f.readline(len(lines[0]) - 1) - * assert l == (lines[0][:-1]).encode() - */ - __Pyx_TraceLine(813,0,__PYX_ERR(0, 813, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 813, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":814 - * # limit to the last character of the first line - * f.seek(0) - * l = f.readline(len(lines[0]) - 1) # <<<<<<<<<<<<<< - * assert l == (lines[0][:-1]).encode() - * - */ - __Pyx_TraceLine(814,0,__PYX_ERR(0, 814, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 814, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 814, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 814, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 814, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 814, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":815 - * f.seek(0) - * l = f.readline(len(lines[0]) - 1) - * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< - * - * # limit to the newline at the end of the first line - */ - __Pyx_TraceLine(815,0,__PYX_ERR(0, 815, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 815, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, -1L, NULL, NULL, &__pyx_slice__64, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 815, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 815, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 815, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_v_l, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 815, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 815, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 815, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":818 - * - * # limit to the newline at the end of the first line - * f.seek(0) # <<<<<<<<<<<<<< - * l = f.readline(len(lines[0]) + 1) - * assert l == (lines[0] + '\n').encode() - */ - __Pyx_TraceLine(818,0,__PYX_ERR(0, 818, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 818, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":819 - * # limit to the newline at the end of the first line - * f.seek(0) - * l = f.readline(len(lines[0]) + 1) # <<<<<<<<<<<<<< - * assert l == (lines[0] + '\n').encode() - * - */ - __Pyx_TraceLine(819,0,__PYX_ERR(0, 819, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 819, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 819, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 819, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 819, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 819, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":820 - * f.seek(0) - * l = f.readline(len(lines[0]) + 1) - * assert l == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< - * - * # limit to the first character after the first line - */ - __Pyx_TraceLine(820,0,__PYX_ERR(0, 820, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 820, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__57); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 820, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 820, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 820, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_l, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 820, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 820, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_15)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 820, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":823 - * - * # limit to the first character after the first line - * f.seek(0) # <<<<<<<<<<<<<< - * l = f.readline(len(lines[0]) + 2) - * assert l == (lines[0] + '\n').encode() - */ - __Pyx_TraceLine(823,0,__PYX_ERR(0, 823, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 823, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 823, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":824 - * # limit to the first character after the first line - * f.seek(0) - * l = f.readline(len(lines[0]) + 2) # <<<<<<<<<<<<<< - * assert l == (lines[0] + '\n').encode() - * - */ - __Pyx_TraceLine(824,0,__PYX_ERR(0, 824, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readline); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 824, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 824, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_14 + 2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 824, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 824, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF_SET(__pyx_v_l, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":825 - * f.seek(0) - * l = f.readline(len(lines[0]) + 2) - * assert l == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(825,0,__PYX_ERR(0, 825, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__57); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 825, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 825, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_v_l, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 825, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 825, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":806 - * write_text_to_gzip_file(fname, lines) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * # limit to one character before the end of the first line - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 806, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 806, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 806, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 806, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 806, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 806, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":802 - * lines = ['line one', 'line two'] - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 802, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 802, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 802, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 802, __pyx_L9_except_error) - __pyx_t_15 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 802, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L30; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L30:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":798 - * - * - * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< - * - * lines = ['line one', 'line two'] - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readline_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_lines); - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_l); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":828 - * - * - * def test_readlines(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * this is - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines = {"test_readlines", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines(PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_readlines (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_readlines(__pyx_self, ((PyObject *)__pyx_v_drop)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_52test_readlines(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_lines = NULL; - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_gotlines = NULL; - PyObject *__pyx_v_expl = NULL; - PyObject *__pyx_v_gotl = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - Py_ssize_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - PyObject *(*__pyx_t_17)(PyObject *); - PyObject *(*__pyx_t_18)(PyObject *); - int __pyx_t_19; - PyObject *__pyx_t_20 = NULL; - int __pyx_t_21; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__65) - __Pyx_RefNannySetupContext("test_readlines", 0); - __Pyx_TraceCall("test_readlines", __pyx_f[0], 828, 0, __PYX_ERR(0, 828, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":829 - * - * def test_readlines(drop): - * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< - * this is - * some more text - */ - __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_some_more_text_split_ac) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_some_more_text_split_ac); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 829, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":836 - * super imaginative - * test data - * """).strip().split('\n') # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(836,0,__PYX_ERR(0, 836, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__57) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__57); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 836, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_lines = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":838 - * """).strip().split('\n') - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - __Pyx_TraceLine(838,0,__PYX_ERR(0, 838, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 838, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 838, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - __pyx_v_td = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":839 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * write_text_to_gzip_file(fname, lines) - * - */ - __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_10 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_fname = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":840 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - */ - __Pyx_TraceLine(840,0,__PYX_ERR(0, 840, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 840, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_10 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 840, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 840, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 840, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_v_fname); - __Pyx_INCREF(__pyx_v_lines); - __Pyx_GIVEREF(__pyx_v_lines); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 840, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":842 - * write_text_to_gzip_file(fname, lines) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * gotlines = f.readlines() - */ - __Pyx_TraceLine(842,0,__PYX_ERR(0, 842, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 842, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 842, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":844 - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * - * gotlines = f.readlines() # <<<<<<<<<<<<<< - * - * assert len(lines) == len(gotlines) - */ - __Pyx_TraceLine(844,0,__PYX_ERR(0, 844, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 844, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 844, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_gotlines = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":846 - * gotlines = f.readlines() - * - * assert len(lines) == len(gotlines) # <<<<<<<<<<<<<< - * - * for expl, gotl in zip(lines, gotlines): - */ - __Pyx_TraceLine(846,0,__PYX_ERR(0, 846, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_15 = PyObject_Length(__pyx_v_lines); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 846, __pyx_L17_error) - __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 846, __pyx_L17_error) - if (unlikely(!((__pyx_t_15 == __pyx_t_16) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 846, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":848 - * assert len(lines) == len(gotlines) - * - * for expl, gotl in zip(lines, gotlines): # <<<<<<<<<<<<<< - * assert (expl + '\n').encode() == gotl - * - */ - __Pyx_TraceLine(848,0,__PYX_ERR(0, 848, __pyx_L17_error)) - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 848, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_lines); - __Pyx_GIVEREF(__pyx_v_lines); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_lines); - __Pyx_INCREF(__pyx_v_gotlines); - __Pyx_GIVEREF(__pyx_v_gotlines); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_gotlines); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 848, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; - __pyx_t_17 = NULL; - } else { - __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 848, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_17 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 848, __pyx_L17_error) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (likely(!__pyx_t_17)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 848, __pyx_L17_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 848, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } else { - if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 848, __pyx_L17_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 848, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } - } else { - __pyx_t_3 = __pyx_t_17(__pyx_t_2); - if (unlikely(!__pyx_t_3)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 848, __pyx_L17_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { - PyObject* sequence = __pyx_t_3; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 848, __pyx_L17_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_1 = PyList_GET_ITEM(sequence, 0); - __pyx_t_5 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - #else - __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 848, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 848, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 848, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_18 = Py_TYPE(__pyx_t_4)->tp_iternext; - index = 0; __pyx_t_1 = __pyx_t_18(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L25_unpacking_failed; - __Pyx_GOTREF(__pyx_t_1); - index = 1; __pyx_t_5 = __pyx_t_18(__pyx_t_4); if (unlikely(!__pyx_t_5)) goto __pyx_L25_unpacking_failed; - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_4), 2) < 0) __PYX_ERR(0, 848, __pyx_L17_error) - __pyx_t_18 = NULL; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L26_unpacking_done; - __pyx_L25_unpacking_failed:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_18 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 848, __pyx_L17_error) - __pyx_L26_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_expl, __pyx_t_1); - __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_gotl, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":849 - * - * for expl, gotl in zip(lines, gotlines): - * assert (expl + '\n').encode() == gotl # <<<<<<<<<<<<<< - * - * assert f.read() == b'' - */ - __Pyx_TraceLine(849,0,__PYX_ERR(0, 849, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = PyNumber_Add(__pyx_v_expl, __pyx_kp_s__57); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 849, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 849, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_gotl, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 849, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 849, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_19)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 849, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":848 - * assert len(lines) == len(gotlines) - * - * for expl, gotl in zip(lines, gotlines): # <<<<<<<<<<<<<< - * assert (expl + '\n').encode() == gotl - * - */ - __Pyx_TraceLine(848,0,__PYX_ERR(0, 848, __pyx_L17_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":851 - * assert (expl + '\n').encode() == gotl - * - * assert f.read() == b'' # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(851,0,__PYX_ERR(0, 851, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 851, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 851, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_kp_b__5, Py_EQ)); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 851, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_19)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 851, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":842 - * write_text_to_gzip_file(fname, lines) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * gotlines = f.readlines() - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 842, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 842, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 842, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_19 < 0) __PYX_ERR(0, 842, __pyx_L19_except_error) - __pyx_t_21 = ((!(__pyx_t_19 != 0)) != 0); - if (__pyx_t_21) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 842, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L30; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L30:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":838 - * """).strip().split('\n') - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 838, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 838, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 838, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_21 < 0) __PYX_ERR(0, 838, __pyx_L9_except_error) - __pyx_t_19 = ((!(__pyx_t_21 != 0)) != 0); - if (__pyx_t_19) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 838, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 838, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L34; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L1_error; - __pyx_L34:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":828 - * - * - * def test_readlines(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * this is - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_lines); - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_gotlines); - __Pyx_XDECREF(__pyx_v_expl); - __Pyx_XDECREF(__pyx_v_gotl); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 - * - * - * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< - * - * lines = ['line one', 'line two'] - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit = {"test_readlines_sizelimit", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit(PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_readlines_sizelimit (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_readlines_sizelimit(__pyx_self, ((PyObject *)__pyx_v_drop)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_54test_readlines_sizelimit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_lines = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_limits = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_lim = NULL; - PyObject *__pyx_v_gotlines = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - Py_ssize_t __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *(*__pyx_t_15)(PyObject *); - Py_ssize_t __pyx_t_16; - int __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - int __pyx_t_20; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__66) - __Pyx_RefNannySetupContext("test_readlines_sizelimit", 0); - __Pyx_TraceCall("test_readlines_sizelimit", __pyx_f[0], 854, 0, __PYX_ERR(0, 854, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":856 - * def test_readlines_sizelimit(drop): - * - * lines = ['line one', 'line two'] # <<<<<<<<<<<<<< - * data = '\n'.join(lines) + '\n' - * - */ - __Pyx_TraceLine(856,0,__PYX_ERR(0, 856, __pyx_L1_error)) - __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 856, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_kp_s_line_one); - __Pyx_GIVEREF(__pyx_kp_s_line_one); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s_line_one); - __Pyx_INCREF(__pyx_kp_s_line_two); - __Pyx_GIVEREF(__pyx_kp_s_line_two); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_kp_s_line_two); - __pyx_v_lines = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":857 - * - * lines = ['line one', 'line two'] - * data = '\n'.join(lines) + '\n' # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(857,0,__PYX_ERR(0, 857, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyString_Join(__pyx_kp_s__57, __pyx_v_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 857, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_kp_s__57); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 857, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_data = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":859 - * data = '\n'.join(lines) + '\n' - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - __Pyx_TraceLine(859,0,__PYX_ERR(0, 859, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 859, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 859, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":860 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * write_text_to_gzip_file(fname, lines) - * - */ - __Pyx_TraceLine(860,0,__PYX_ERR(0, 860, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 860, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 860, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 860, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 860, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_fname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":861 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< - * - * limits = range(len(data) + 2) - */ - __Pyx_TraceLine(861,0,__PYX_ERR(0, 861, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_v_lines); - __Pyx_GIVEREF(__pyx_v_lines); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_v_lines); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":863 - * write_text_to_gzip_file(fname, lines) - * - * limits = range(len(data) + 2) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - */ - __Pyx_TraceLine(863,0,__PYX_ERR(0, 863, __pyx_L7_error)) - __pyx_t_10 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 863, __pyx_L7_error) - __pyx_t_3 = PyInt_FromSsize_t((__pyx_t_10 + 2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 863, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 863, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_limits = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":865 - * limits = range(len(data) + 2) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * for lim in limits: - */ - __Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 865, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 865, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":867 - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * - * for lim in limits: # <<<<<<<<<<<<<< - * f.seek(0) - * gotlines = f.readlines(lim) - */ - __Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L17_error)) - if (likely(PyList_CheckExact(__pyx_v_limits)) || PyTuple_CheckExact(__pyx_v_limits)) { - __pyx_t_1 = __pyx_v_limits; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; - __pyx_t_15 = NULL; - } else { - __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_limits); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 867, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 867, __pyx_L17_error) - } - for (;;) { - if (likely(!__pyx_t_15)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 867, __pyx_L17_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 867, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } else { - if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 867, __pyx_L17_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 867, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } - } else { - __pyx_t_5 = __pyx_t_15(__pyx_t_1); - if (unlikely(!__pyx_t_5)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 867, __pyx_L17_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_XDECREF_SET(__pyx_v_lim, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":868 - * - * for lim in limits: - * f.seek(0) # <<<<<<<<<<<<<< - * gotlines = f.readlines(lim) - * - */ - __Pyx_TraceLine(868,0,__PYX_ERR(0, 868, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 868, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":869 - * for lim in limits: - * f.seek(0) - * gotlines = f.readlines(lim) # <<<<<<<<<<<<<< - * - * # Expect the first line - */ - __Pyx_TraceLine(869,0,__PYX_ERR(0, 869, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_readlines); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 869, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_lim) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_lim); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 869, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_gotlines, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":872 - * - * # Expect the first line - * if lim < len(lines[0]) + 1: # <<<<<<<<<<<<<< - * assert len(gotlines) == 1 - * assert gotlines[0] == (lines[0] + '\n').encode() - */ - __Pyx_TraceLine(872,0,__PYX_ERR(0, 872, __pyx_L17_error)) - __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 872, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_16 = PyObject_Length(__pyx_t_5); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 872, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyInt_FromSsize_t((__pyx_t_16 + 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 872, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyObject_RichCompare(__pyx_v_lim, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 872, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_17) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":873 - * # Expect the first line - * if lim < len(lines[0]) + 1: - * assert len(gotlines) == 1 # <<<<<<<<<<<<<< - * assert gotlines[0] == (lines[0] + '\n').encode() - * - */ - __Pyx_TraceLine(873,0,__PYX_ERR(0, 873, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 873, __pyx_L17_error) - if (unlikely(!((__pyx_t_16 == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 873, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":874 - * if lim < len(lines[0]) + 1: - * assert len(gotlines) == 1 - * assert gotlines[0] == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< - * - * # Expect both lines - */ - __Pyx_TraceLine(874,0,__PYX_ERR(0, 874, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_gotlines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 874, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 874, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_18 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__57); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 874, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 874, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 874, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 874, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 874, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 874, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":872 - * - * # Expect the first line - * if lim < len(lines[0]) + 1: # <<<<<<<<<<<<<< - * assert len(gotlines) == 1 - * assert gotlines[0] == (lines[0] + '\n').encode() - */ - goto __pyx_L25; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":878 - * # Expect both lines - * else: - * assert len(gotlines) == 2 # <<<<<<<<<<<<<< - * assert gotlines[0] == (lines[0] + '\n').encode() - * assert gotlines[1] == (lines[1] + '\n').encode() - */ - __Pyx_TraceLine(878,0,__PYX_ERR(0, 878, __pyx_L17_error)) - /*else*/ { - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_16 = PyObject_Length(__pyx_v_gotlines); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 878, __pyx_L17_error) - if (unlikely(!((__pyx_t_16 == 2) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 878, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":879 - * else: - * assert len(gotlines) == 2 - * assert gotlines[0] == (lines[0] + '\n').encode() # <<<<<<<<<<<<<< - * assert gotlines[1] == (lines[1] + '\n').encode() - * - */ - __Pyx_TraceLine(879,0,__PYX_ERR(0, 879, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_gotlines, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 879, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_lines, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_18 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__57); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 879, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 879, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 879, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 879, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":880 - * assert len(gotlines) == 2 - * assert gotlines[0] == (lines[0] + '\n').encode() - * assert gotlines[1] == (lines[1] + '\n').encode() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(880,0,__PYX_ERR(0, 880, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_gotlines, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_lines, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_18 = PyNumber_Add(__pyx_t_3, __pyx_kp_s__57); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 880, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_18) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 880, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 880, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 880, __pyx_L17_error) - } - } - #endif - } - __pyx_L25:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":867 - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * - * for lim in limits: # <<<<<<<<<<<<<< - * f.seek(0) - * gotlines = f.readlines(lim) - */ - __Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L17_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":865 - * limits = range(len(data) + 2) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * - * for lim in limits: - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 865, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 865, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 865, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_19); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 865, __pyx_L19_except_error) - __pyx_t_20 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_20) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 865, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L29; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L29:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":859 - * data = '\n'.join(lines) + '\n' - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 859, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 859, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 859, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_20 < 0) __PYX_ERR(0, 859, __pyx_L9_except_error) - __pyx_t_17 = ((!(__pyx_t_20 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_1); - __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 859, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 859, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L33; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L33:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 - * - * - * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< - * - * lines = ['line one', 'line two'] - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_readlines_sizelimit", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_lines); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_limits); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_lim); - __Pyx_XDECREF(__pyx_v_gotlines); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":883 - * - * - * def test_iter(drop): # <<<<<<<<<<<<<< - * - * lines = textwrap.dedent(""" - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter(PyObject *__pyx_self, PyObject *__pyx_v_drop); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter = {"test_iter", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter(PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_iter (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter(__pyx_self, ((PyObject *)__pyx_v_drop)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_56test_iter(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_drop) { - PyObject *__pyx_v_lines = NULL; - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_gotline = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - Py_ssize_t __pyx_t_15; - PyObject *(*__pyx_t_16)(PyObject *); - int __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - int __pyx_t_23; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__67) - __Pyx_RefNannySetupContext("test_iter", 0); - __Pyx_TraceCall("test_iter", __pyx_f[0], 883, 0, __PYX_ERR(0, 883, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":885 - * def test_iter(drop): - * - * lines = textwrap.dedent(""" # <<<<<<<<<<<<<< - * this is - * even more text - */ - __Pyx_TraceLine(885,0,__PYX_ERR(0, 885, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_textwrap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_dedent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_s_this_is_even_more_text_that_is) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s_this_is_even_more_text_that_is); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 885, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":894 - * this test data is - * unparalleled - * """).strip().split('\n') # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_s__57) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__57); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_lines = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":896 - * """).strip().split('\n') - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - __Pyx_TraceLine(896,0,__PYX_ERR(0, 896, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 896, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 896, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - __pyx_v_td = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":897 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * write_text_to_gzip_file(fname, lines) - * - */ - __Pyx_TraceLine(897,0,__PYX_ERR(0, 897, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 897, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_10 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_10 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_3 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_10, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_10, __pyx_kp_s_test_gz); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_fname = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":898 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - */ - __Pyx_TraceLine(898,0,__PYX_ERR(0, 898, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_write_text_to_gzip_file); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 898, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - __pyx_t_10 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_10 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_v_lines}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_10, __pyx_v_fname); - __Pyx_INCREF(__pyx_v_lines); - __Pyx_GIVEREF(__pyx_v_lines); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_10, __pyx_v_lines); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":900 - * write_text_to_gzip_file(fname, lines) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * for i, gotline in enumerate(f): - * assert (lines[i] + '\n').encode() == gotline - */ - __Pyx_TraceLine(900,0,__PYX_ERR(0, 900, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, __pyx_v_drop) < 0) __PYX_ERR(0, 900, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * for i, gotline in enumerate(f): # <<<<<<<<<<<<<< - * assert (lines[i] + '\n').encode() == gotline - * - */ - __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L17_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_t_2 = __pyx_int_0; - if (likely(PyList_CheckExact(__pyx_v_f)) || PyTuple_CheckExact(__pyx_v_f)) { - __pyx_t_3 = __pyx_v_f; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; - __pyx_t_16 = NULL; - } else { - __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_f); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 901, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_16 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 901, __pyx_L17_error) - } - for (;;) { - if (likely(!__pyx_t_16)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 901, __pyx_L17_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_1); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 901, __pyx_L17_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } - } else { - __pyx_t_1 = __pyx_t_16(__pyx_t_3); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 901, __pyx_L17_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_XDECREF_SET(__pyx_v_gotline, __pyx_t_1); - __pyx_t_1 = 0; - __Pyx_INCREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); - __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":902 - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * for i, gotline in enumerate(f): - * assert (lines[i] + '\n').encode() == gotline # <<<<<<<<<<<<<< - * - * with pytest.raises(StopIteration): - */ - __Pyx_TraceLine(902,0,__PYX_ERR(0, 902, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_lines, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 902, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_kp_s__57); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 902, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 902, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 902, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_v_gotline, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 902, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 902, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 902, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":901 - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: - * for i, gotline in enumerate(f): # <<<<<<<<<<<<<< - * assert (lines[i] + '\n').encode() == gotline - * - */ - __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L17_error)) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":904 - * assert (lines[i] + '\n').encode() == gotline - * - * with pytest.raises(StopIteration): # <<<<<<<<<<<<<< - * next(f) - * - */ - __Pyx_TraceLine(904,0,__PYX_ERR(0, 904, __pyx_L17_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 904, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_builtin_StopIteration) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_StopIteration); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_18 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 904, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 904, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 904, __pyx_L25_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":905 - * - * with pytest.raises(StopIteration): - * next(f) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(905,0,__PYX_ERR(0, 905, __pyx_L29_error)) - __pyx_t_2 = __Pyx_PyIter_Next(__pyx_v_f); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 905, __pyx_L29_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":904 - * assert (lines[i] + '\n').encode() == gotline - * - * with pytest.raises(StopIteration): # <<<<<<<<<<<<<< - * next(f) - * - */ - } - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - goto __pyx_L34_try_end; - __pyx_L29_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 904, __pyx_L31_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 904, __pyx_L31_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 904, __pyx_L31_except_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_22); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 904, __pyx_L31_except_error) - __pyx_t_23 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_23) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 904, __pyx_L31_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L30_exception_handled; - } - __pyx_L31_except_error:; - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21); - goto __pyx_L17_error; - __pyx_L30_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21); - __pyx_L34_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_18) { - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 904, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - } - goto __pyx_L28; - } - __pyx_L28:; - } - goto __pyx_L38; - __pyx_L25_error:; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - goto __pyx_L17_error; - __pyx_L38:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":900 - * write_text_to_gzip_file(fname, lines) - * - * with igzip._IndexedGzipFile(fname, drop_handles=drop) as f: # <<<<<<<<<<<<<< - * for i, gotline in enumerate(f): - * assert (lines[i] + '\n').encode() == gotline - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 900, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 900, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_18); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__pyx_t_23 < 0) __PYX_ERR(0, 900, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_23 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 900, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 900, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L42; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L42:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":896 - * """).strip().split('\n') - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * write_text_to_gzip_file(fname, lines) - */ - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 896, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 896, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 896, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 896, __pyx_L9_except_error) - __pyx_t_23 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_23) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 896, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 896, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L46; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L1_error; - __pyx_L46:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":883 - * - * - * def test_iter(drop): # <<<<<<<<<<<<<< - * - * lines = textwrap.dedent(""" - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_iter", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_lines); - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_gotline); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 - * - * - * def test_get_index_seek_points(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points = {"test_get_index_seek_points", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_get_index_seek_points (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_index_seek_points(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_58test_get_index_seek_points(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_spacing = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_expected_number_of_seek_points = NULL; - PyObject *__pyx_v_seek_points = NULL; - PyObject *__pyx_v_uncmp_offsets = NULL; - PyObject *__pyx_v_point = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - int __pyx_t_17; - Py_ssize_t __pyx_t_18; - int __pyx_t_19; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__68) - __Pyx_RefNannySetupContext("test_get_index_seek_points", 0); - __Pyx_TraceCall("test_get_index_seek_points", __pyx_f[0], 908, 0, __PYX_ERR(0, 908, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":910 - * def test_get_index_seek_points(): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * spacing = 1048576 - */ - __Pyx_TraceLine(910,0,__PYX_ERR(0, 910, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 910, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 910, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 910, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":911 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * spacing = 1048576 - * - */ - __Pyx_TraceLine(911,0,__PYX_ERR(0, 911, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 911, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 911, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 911, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 911, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":912 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * spacing = 1048576 # <<<<<<<<<<<<<< - * - * # make a test file - */ - __Pyx_TraceLine(912,0,__PYX_ERR(0, 912, __pyx_L7_error)) - __Pyx_INCREF(__pyx_int_1048576); - __pyx_v_spacing = __pyx_int_1048576; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":915 - * - * # make a test file - * data = np.arange(spacing, dtype=np.uint64) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(915,0,__PYX_ERR(0, 915, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 915, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 915, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 915, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_spacing); - __Pyx_GIVEREF(__pyx_v_spacing); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_spacing); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 915, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 915, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 915, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 915, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 915, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_data = __pyx_t_10; - __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":916 - * # make a test file - * data = np.arange(spacing, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - __Pyx_TraceLine(916,0,__PYX_ERR(0, 916, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_gzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 916, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_open); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 916, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_10); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 916, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_10); - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 916, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 916, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 916, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_10, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 916, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":917 - * data = np.arange(spacing, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * - * # check points before and after index creation - */ - __Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 917, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 917, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 917, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":916 - * # make a test file - * data = np.arange(spacing, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_3) < 0) __PYX_ERR(0, 916, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 916, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 916, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 916, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_10, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_10 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 916, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 916, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":920 - * - * # check points before and after index creation - * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: # <<<<<<<<<<<<<< - * assert not list(f.seek_points()) - * f.build_full_index() - */ - __Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_spacing, __pyx_v_spacing) < 0) __PYX_ERR(0, 920, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 920, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_13, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":921 - * # check points before and after index creation - * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: - * assert not list(f.seek_points()) # <<<<<<<<<<<<<< - * f.build_full_index() - * - */ - __Pyx_TraceLine(921,0,__PYX_ERR(0, 921, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 921, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 921, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 921, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_17 = (PyList_GET_SIZE(__pyx_t_5) != 0); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!((!__pyx_t_17) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 921, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":922 - * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: - * assert not list(f.seek_points()) - * f.build_full_index() # <<<<<<<<<<<<<< - * - * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) - */ - __Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 922, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 922, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":924 - * f.build_full_index() - * - * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) # <<<<<<<<<<<<<< - * seek_points = list(f.seek_points()) - * - */ - __Pyx_TraceLine(924,0,__PYX_ERR(0, 924, __pyx_L31_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_nbytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 924, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_5, __pyx_v_spacing); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 924, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 924, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_AddCObj(__pyx_int_1, __pyx_t_5, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 924, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_expected_number_of_seek_points = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":925 - * - * expected_number_of_seek_points = 1 + int(data.nbytes / spacing) - * seek_points = list(f.seek_points()) # <<<<<<<<<<<<<< - * - * assert len(seek_points) == expected_number_of_seek_points - */ - __Pyx_TraceLine(925,0,__PYX_ERR(0, 925, __pyx_L31_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 925, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 925, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 925, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_seek_points = ((PyObject*)__pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":927 - * seek_points = list(f.seek_points()) - * - * assert len(seek_points) == expected_number_of_seek_points # <<<<<<<<<<<<<< - * - * # check monotonic growth - */ - __Pyx_TraceLine(927,0,__PYX_ERR(0, 927, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_18 = PyList_GET_SIZE(__pyx_v_seek_points); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 927, __pyx_L31_error) - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 927, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_expected_number_of_seek_points, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 927, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 927, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 927, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":930 - * - * # check monotonic growth - * uncmp_offsets = [point[0] for point in seek_points] # <<<<<<<<<<<<<< - * assert sorted(uncmp_offsets) == uncmp_offsets - * - */ - __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L31_error)) - __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __pyx_v_seek_points; __Pyx_INCREF(__pyx_t_5); __pyx_t_18 = 0; - for (;;) { - if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_18); __Pyx_INCREF(__pyx_t_2); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 930, __pyx_L31_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - __Pyx_XDECREF_SET(__pyx_v_point, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_point, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 930, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_uncmp_offsets = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":931 - * # check monotonic growth - * uncmp_offsets = [point[0] for point in seek_points] - * assert sorted(uncmp_offsets) == uncmp_offsets # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(931,0,__PYX_ERR(0, 931, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = PySequence_List(__pyx_v_uncmp_offsets); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 931, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = ((PyObject*)__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_19 = PyList_Sort(__pyx_t_3); if (unlikely(__pyx_t_19 == ((int)-1))) __PYX_ERR(0, 931, __pyx_L31_error) - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_v_uncmp_offsets, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 931, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 931, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 931, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":920 - * - * # check points before and after index creation - * with igzip._IndexedGzipFile(fname, spacing=spacing) as f: # <<<<<<<<<<<<<< - * assert not list(f.seek_points()) - * f.build_full_index() - */ - } - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 920, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 920, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 920, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 920, __pyx_L33_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_2); - __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 920, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L42; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L42:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":910 - * def test_get_index_seek_points(): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * spacing = 1048576 - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 910, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 910, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 910, __pyx_L9_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 910, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 910, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L46; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L46:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 - * - * - * def test_get_index_seek_points(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_get_index_seek_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_spacing); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_expected_number_of_seek_points); - __Pyx_XDECREF(__pyx_v_seek_points); - __Pyx_XDECREF(__pyx_v_uncmp_offsets); - __Pyx_XDECREF(__pyx_v_point); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 - * - * - * def test_import_export_index(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index = {"test_import_export_index", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_import_export_index (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_import_export_index(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_60test_import_export_index(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_idxfname = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_points = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - int __pyx_t_17; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__69) - __Pyx_RefNannySetupContext("test_import_export_index", 0); - __Pyx_TraceCall("test_import_export_index", __pyx_f[0], 934, 0, __PYX_ERR(0, 934, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":936 - * def test_import_export_index(): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') - */ - __Pyx_TraceLine(936,0,__PYX_ERR(0, 936, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 936, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 936, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":937 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * idxfname = op.join(td, 'test.gzidx') - * - */ - __Pyx_TraceLine(937,0,__PYX_ERR(0, 937, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 937, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 937, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 937, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 937, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 937, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":938 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< - * - * # make a test file - */ - __Pyx_TraceLine(938,0,__PYX_ERR(0, 938, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 938, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 938, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 938, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 938, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 938, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gzidx); - __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 938, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_idxfname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":941 - * - * # make a test file - * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(941,0,__PYX_ERR(0, 941, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 941, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 941, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 941, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__70, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 941, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_data = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":942 - * # make a test file - * data = np.arange(524288, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - __Pyx_TraceLine(942,0,__PYX_ERR(0, 942, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 942, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 942, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 942, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 942, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 942, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 942, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":943 - * data = np.arange(524288, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * - * # generate an index file - */ - __Pyx_TraceLine(943,0,__PYX_ERR(0, 943, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 943, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 943, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 943, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 943, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":942 - * # make a test file - * data = np.arange(524288, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 942, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 942, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 942, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 942, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 942, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 942, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":946 - * - * # generate an index file - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * points = list(f.seek_points()) - */ - __Pyx_TraceLine(946,0,__PYX_ERR(0, 946, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 946, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 946, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 946, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 946, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 946, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 946, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":947 - * # generate an index file - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: - * f.build_full_index() # <<<<<<<<<<<<<< - * points = list(f.seek_points()) - * f.export_index(idxfname) - */ - __Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 947, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":948 - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: - * f.build_full_index() - * points = list(f.seek_points()) # <<<<<<<<<<<<<< - * f.export_index(idxfname) - * - */ - __Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 948, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_points = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":949 - * f.build_full_index() - * points = list(f.seek_points()) - * f.export_index(idxfname) # <<<<<<<<<<<<<< - * - * # Check that index file works via __init__ - */ - __Pyx_TraceLine(949,0,__PYX_ERR(0, 949, __pyx_L31_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 949, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_idxfname); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 949, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":946 - * - * # generate an index file - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * points = list(f.seek_points()) - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 946, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 946, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 946, __pyx_L33_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 946, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 946, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L40; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L40:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":952 - * - * # Check that index file works via __init__ - * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: # <<<<<<<<<<<<<< - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - */ - __Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 952, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_index_file, __pyx_v_idxfname) < 0) __PYX_ERR(0, 952, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 952, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 952, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":953 - * # Check that index file works via __init__ - * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: - * f.seek(65535 * 8) # <<<<<<<<<<<<<< - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 - */ - __Pyx_TraceLine(953,0,__PYX_ERR(0, 953, __pyx_L45_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 953, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_524280); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 953, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":954 - * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< - * assert val[0] == 65535 - * assert points == list(f.seek_points()) - */ - __Pyx_TraceLine(954,0,__PYX_ERR(0, 954, __pyx_L45_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_uint64); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_14) < 0) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 954, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_val = __pyx_t_14; - __pyx_t_14 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":955 - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 # <<<<<<<<<<<<<< - * assert points == list(f.seek_points()) - * - */ - __Pyx_TraceLine(955,0,__PYX_ERR(0, 955, __pyx_L45_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 955, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_14, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 955, __pyx_L45_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 955, __pyx_L45_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":956 - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 - * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< - * - * # Check that index file works via import_index - */ - __Pyx_TraceLine(956,0,__PYX_ERR(0, 956, __pyx_L45_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 956, __pyx_L45_error) } - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 956, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 956, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 956, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_RichCompare(__pyx_v_points, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 956, __pyx_L45_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 956, __pyx_L45_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 956, __pyx_L45_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":952 - * - * # Check that index file works via __init__ - * with igzip._IndexedGzipFile(fname, index_file=idxfname) as f: # <<<<<<<<<<<<<< - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L50_try_end; - __pyx_L45_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_14, &__pyx_t_3) < 0) __PYX_ERR(0, 952, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_14, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 952, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 952, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 952, __pyx_L47_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_14, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 952, __pyx_L47_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L46_exception_handled; - } - __pyx_L47_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L46_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L50_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 952, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L44; - } - __pyx_L44:; - } - goto __pyx_L54; - __pyx_L41_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L54:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":959 - * - * # Check that index file works via import_index - * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< - * f.import_index(idxfname) - * f.seek(65535 * 8) - */ - __Pyx_TraceLine(959,0,__PYX_ERR(0, 959, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_igzip); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 959, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 959, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_14, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_fname); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 959, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 959, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 959, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_14); - __pyx_t_14 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":960 - * # Check that index file works via import_index - * with igzip._IndexedGzipFile(fname) as f: - * f.import_index(idxfname) # <<<<<<<<<<<<<< - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - */ - __Pyx_TraceLine(960,0,__PYX_ERR(0, 960, __pyx_L59_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 960, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 960, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":961 - * with igzip._IndexedGzipFile(fname) as f: - * f.import_index(idxfname) - * f.seek(65535 * 8) # <<<<<<<<<<<<<< - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 - */ - __Pyx_TraceLine(961,0,__PYX_ERR(0, 961, __pyx_L59_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 961, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_524280); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 961, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":962 - * f.import_index(idxfname) - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< - * assert val[0] == 65535 - * assert points == list(f.seek_points()) - */ - __Pyx_TraceLine(962,0,__PYX_ERR(0, 962, __pyx_L59_error)) - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_14 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 962, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":963 - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 # <<<<<<<<<<<<<< - * assert points == list(f.seek_points()) - * - */ - __Pyx_TraceLine(963,0,__PYX_ERR(0, 963, __pyx_L59_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 963, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 963, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 963, __pyx_L59_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 963, __pyx_L59_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":964 - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 - * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(964,0,__PYX_ERR(0, 964, __pyx_L59_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 964, __pyx_L59_error) } - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 964, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 964, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PySequence_List(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 964, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyObject_RichCompare(__pyx_v_points, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 964, __pyx_L59_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 964, __pyx_L59_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 964, __pyx_L59_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":959 - * - * # Check that index file works via import_index - * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< - * f.import_index(idxfname) - * f.seek(65535 * 8) - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L64_try_end; - __pyx_L59_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_14, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 959, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_14, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 959, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 959, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 959, __pyx_L61_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_14, __pyx_t_5, __pyx_t_1); - __pyx_t_14 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 959, __pyx_L61_except_error) - } - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L60_exception_handled; - } - __pyx_L61_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L60_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L64_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 959, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L58; - } - __pyx_L58:; - } - goto __pyx_L68; - __pyx_L55_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L68:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":936 - * def test_import_export_index(): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_14) < 0) __PYX_ERR(0, 936, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 936, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 936, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 936, __pyx_L9_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_14); - __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_14 = 0; - __PYX_ERR(0, 936, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 936, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L72; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L72:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 - * - * - * def test_import_export_index(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_idxfname); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_points); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 - * - * - * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file = {"test_import_export_index_open_file", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_import_export_index_open_file (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_import_export_index_open_file(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_62test_import_export_index_open_file(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_idxfname = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_points = NULL; - PyObject *__pyx_v_idxf = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - int __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__71) - __Pyx_RefNannySetupContext("test_import_export_index_open_file", 0); - __Pyx_TraceCall("test_import_export_index_open_file", __pyx_f[0], 967, 0, __PYX_ERR(0, 967, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":969 - * def test_import_export_index_open_file(): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') - */ - __Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 969, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 969, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 969, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 969, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":970 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * idxfname = op.join(td, 'test.gzidx') - * - */ - __Pyx_TraceLine(970,0,__PYX_ERR(0, 970, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 970, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 970, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 970, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":971 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< - * - * # make a test file - */ - __Pyx_TraceLine(971,0,__PYX_ERR(0, 971, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gzidx); - __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_idxfname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":974 - * - * # make a test file - * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(974,0,__PYX_ERR(0, 974, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__70, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_data = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":975 - * # make a test file - * data = np.arange(524288, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - __Pyx_TraceLine(975,0,__PYX_ERR(0, 975, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 975, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 975, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 975, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 975, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 975, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 975, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 975, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 975, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 975, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":976 - * data = np.arange(524288, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * - * # generate an index file from open file handle - */ - __Pyx_TraceLine(976,0,__PYX_ERR(0, 976, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 976, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 976, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 976, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 976, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":975 - * # make a test file - * data = np.arange(524288, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 975, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 975, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 975, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 975, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 975, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 975, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":979 - * - * # generate an index file from open file handle - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * points = list(f.seek_points()) - */ - __Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 979, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 979, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":980 - * # generate an index file from open file handle - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: - * f.build_full_index() # <<<<<<<<<<<<<< - * points = list(f.seek_points()) - * - */ - __Pyx_TraceLine(980,0,__PYX_ERR(0, 980, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 980, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 980, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":981 - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: - * f.build_full_index() - * points = list(f.seek_points()) # <<<<<<<<<<<<<< - * - * # Should raise if wrong permissions - */ - __Pyx_TraceLine(981,0,__PYX_ERR(0, 981, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 981, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 981, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 981, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_points = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":984 - * - * # Should raise if wrong permissions - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * touch(idxfname) - * with open(idxfname, 'rb') as idxf: - */ - __Pyx_TraceLine(984,0,__PYX_ERR(0, 984, __pyx_L31_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pytest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 984, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 984, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 984, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 984, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 984, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 984, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":985 - * # Should raise if wrong permissions - * with pytest.raises(ValueError): - * touch(idxfname) # <<<<<<<<<<<<<< - * with open(idxfname, 'rb') as idxf: - * f.export_index(fileobj=idxf) - */ - __Pyx_TraceLine(985,0,__PYX_ERR(0, 985, __pyx_L41_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_touch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 985, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_idxfname); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 985, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":986 - * with pytest.raises(ValueError): - * touch(idxfname) - * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< - * f.export_index(fileobj=idxf) - * - */ - __Pyx_TraceLine(986,0,__PYX_ERR(0, 986, __pyx_L41_error)) - /*with:*/ { - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_idxfname); - __Pyx_GIVEREF(__pyx_v_idxfname); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_idxfname); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_21 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 986, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L47_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L47_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - /*try:*/ { - __pyx_v_idxf = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":987 - * touch(idxfname) - * with open(idxfname, 'rb') as idxf: - * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< - * - * with open(idxfname, 'wb') as idxf: - */ - __Pyx_TraceLine(987,0,__PYX_ERR(0, 987, __pyx_L51_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 987, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 987, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 987, __pyx_L51_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 987, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":986 - * with pytest.raises(ValueError): - * touch(idxfname) - * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< - * f.export_index(fileobj=idxf) - * - */ - } - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - goto __pyx_L56_try_end; - __pyx_L51_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 986, __pyx_L53_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L53_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 986, __pyx_L53_except_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 986, __pyx_L53_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 986, __pyx_L53_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L52_exception_handled; - } - __pyx_L53_except_error:; - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); - goto __pyx_L41_error; - __pyx_L52_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); - __pyx_L56_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_21) { - __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 986, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } - goto __pyx_L50; - } - __pyx_L50:; - } - goto __pyx_L60; - __pyx_L47_error:; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - goto __pyx_L41_error; - __pyx_L60:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":984 - * - * # Should raise if wrong permissions - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * touch(idxfname) - * with open(idxfname, 'rb') as idxf: - */ - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L46_try_end; - __pyx_L41_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 984, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 984, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 984, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 984, __pyx_L43_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); - __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 984, __pyx_L43_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L42_exception_handled; - } - __pyx_L43_except_error:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - goto __pyx_L31_error; - __pyx_L42_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_L46_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_15) { - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - goto __pyx_L40; - } - __pyx_L40:; - } - goto __pyx_L64; - __pyx_L37_error:; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L31_error; - __pyx_L64:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":989 - * f.export_index(fileobj=idxf) - * - * with open(idxfname, 'wb') as idxf: # <<<<<<<<<<<<<< - * f.export_index(fileobj=idxf) - * - */ - __Pyx_TraceLine(989,0,__PYX_ERR(0, 989, __pyx_L31_error)) - /*with:*/ { - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 989, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_idxfname); - __Pyx_GIVEREF(__pyx_v_idxfname); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_idxfname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_wb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 989, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 989, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 989, __pyx_L65_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 989, __pyx_L65_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_18); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":990 - * - * with open(idxfname, 'wb') as idxf: - * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< - * - * # Check that we can read it back - */ - __Pyx_TraceLine(990,0,__PYX_ERR(0, 990, __pyx_L69_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 990, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 990, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 990, __pyx_L69_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 990, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":989 - * f.export_index(fileobj=idxf) - * - * with open(idxfname, 'wb') as idxf: # <<<<<<<<<<<<<< - * f.export_index(fileobj=idxf) - * - */ - } - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - goto __pyx_L74_try_end; - __pyx_L69_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 989, __pyx_L71_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 989, __pyx_L71_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 989, __pyx_L71_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 989, __pyx_L71_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 989, __pyx_L71_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L70_exception_handled; - } - __pyx_L71_except_error:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); - goto __pyx_L31_error; - __pyx_L70_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); - __pyx_L74_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_15) { - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 989, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - goto __pyx_L68; - } - __pyx_L68:; - } - goto __pyx_L78; - __pyx_L65_error:; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L31_error; - __pyx_L78:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":979 - * - * # generate an index file from open file handle - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * points = list(f.seek_points()) - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 979, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 979, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 979, __pyx_L33_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); - __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 979, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L82; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L82:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":993 - * - * # Check that we can read it back - * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< - * - * # Should raise if wrong permissions - */ - __Pyx_TraceLine(993,0,__PYX_ERR(0, 993, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 993, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 993, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_fname); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 993, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 993, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 993, __pyx_L83_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 993, __pyx_L83_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":998 - * # (append, so existing contents are - * # not overwritten) - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * with open(idxfname, 'ab') as idxf: - * f.import_index(fileobj=idxf) - */ - __Pyx_TraceLine(998,0,__PYX_ERR(0, 998, __pyx_L87_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pytest); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 998, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_builtin_ValueError) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_builtin_ValueError); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 998, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 998, __pyx_L93_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 998, __pyx_L93_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":999 - * # not overwritten) - * with pytest.raises(ValueError): - * with open(idxfname, 'ab') as idxf: # <<<<<<<<<<<<<< - * f.import_index(fileobj=idxf) - * - */ - __Pyx_TraceLine(999,0,__PYX_ERR(0, 999, __pyx_L97_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L97_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_idxfname); - __Pyx_GIVEREF(__pyx_v_idxfname); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_idxfname); - __Pyx_INCREF(__pyx_n_s_ab); - __Pyx_GIVEREF(__pyx_n_s_ab); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_ab); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 999, __pyx_L97_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_21 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 999, __pyx_L97_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L103_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L103_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_24, &__pyx_t_23, &__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_22); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1000 - * with pytest.raises(ValueError): - * with open(idxfname, 'ab') as idxf: - * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< - * - * with open(idxfname, 'rb') as idxf: - */ - __Pyx_TraceLine(1000,0,__PYX_ERR(0, 1000, __pyx_L107_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L107_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1000, __pyx_L107_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1000, __pyx_L107_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L107_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":999 - * # not overwritten) - * with pytest.raises(ValueError): - * with open(idxfname, 'ab') as idxf: # <<<<<<<<<<<<<< - * f.import_index(fileobj=idxf) - * - */ - } - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - goto __pyx_L112_try_end; - __pyx_L107_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 999, __pyx_L109_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 999, __pyx_L109_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 999, __pyx_L109_except_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 999, __pyx_L109_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 999, __pyx_L109_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L108_exception_handled; - } - __pyx_L109_except_error:; - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_23, __pyx_t_22); - goto __pyx_L97_error; - __pyx_L108_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_23, __pyx_t_22); - __pyx_L112_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_21) { - __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 999, __pyx_L97_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - } - goto __pyx_L106; - } - __pyx_L106:; - } - goto __pyx_L116; - __pyx_L103_error:; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - goto __pyx_L97_error; - __pyx_L116:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":998 - * # (append, so existing contents are - * # not overwritten) - * with pytest.raises(ValueError): # <<<<<<<<<<<<<< - * with open(idxfname, 'ab') as idxf: - * f.import_index(fileobj=idxf) - */ - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L102_try_end; - __pyx_L97_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 998, __pyx_L99_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 998, __pyx_L99_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 998, __pyx_L99_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 998, __pyx_L99_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 998, __pyx_L99_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L98_exception_handled; - } - __pyx_L99_except_error:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - goto __pyx_L87_error; - __pyx_L98_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_L102_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_15) { - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 998, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - goto __pyx_L96; - } - __pyx_L96:; - } - goto __pyx_L120; - __pyx_L93_error:; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L87_error; - __pyx_L120:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1002 - * f.import_index(fileobj=idxf) - * - * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< - * f.import_index(fileobj=idxf) - * f.seek(65535 * 8) - */ - __Pyx_TraceLine(1002,0,__PYX_ERR(0, 1002, __pyx_L87_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1002, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_idxfname); - __Pyx_GIVEREF(__pyx_v_idxfname); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_idxfname); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1002, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1002, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1002, __pyx_L121_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1002, __pyx_L121_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_18); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1003 - * - * with open(idxfname, 'rb') as idxf: - * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - */ - __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L125_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1003, __pyx_L125_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1003, __pyx_L125_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1003, __pyx_L125_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1003, __pyx_L125_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1002 - * f.import_index(fileobj=idxf) - * - * with open(idxfname, 'rb') as idxf: # <<<<<<<<<<<<<< - * f.import_index(fileobj=idxf) - * f.seek(65535 * 8) - */ - } - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - goto __pyx_L130_try_end; - __pyx_L125_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 1002, __pyx_L127_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1002, __pyx_L127_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1002, __pyx_L127_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1002, __pyx_L127_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1002, __pyx_L127_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L126_exception_handled; - } - __pyx_L127_except_error:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); - goto __pyx_L87_error; - __pyx_L126_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); - __pyx_L130_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_15) { - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1002, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - goto __pyx_L124; - } - __pyx_L124:; - } - goto __pyx_L134; - __pyx_L121_error:; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L87_error; - __pyx_L134:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1004 - * with open(idxfname, 'rb') as idxf: - * f.import_index(fileobj=idxf) - * f.seek(65535 * 8) # <<<<<<<<<<<<<< - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 - */ - __Pyx_TraceLine(1004,0,__PYX_ERR(0, 1004, __pyx_L87_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1004, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_524280); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1005 - * f.import_index(fileobj=idxf) - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< - * assert val[0] == 65535 - * assert points == list(f.seek_points()) - */ - __Pyx_TraceLine(1005,0,__PYX_ERR(0, 1005, __pyx_L87_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_14) < 0) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1005, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_val = __pyx_t_14; - __pyx_t_14 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1006 - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 # <<<<<<<<<<<<<< - * assert points == list(f.seek_points()) - * - */ - __Pyx_TraceLine(1006,0,__PYX_ERR(0, 1006, __pyx_L87_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1006, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_14, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1006, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1006, __pyx_L87_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1006, __pyx_L87_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1007 - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 - * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< - * - * # Test exporting to / importing from a file-like object - */ - __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L87_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 1007, __pyx_L87_error) } - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1007, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1007, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1007, __pyx_L87_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_v_points, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1007, __pyx_L87_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1007, __pyx_L87_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1007, __pyx_L87_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":993 - * - * # Check that we can read it back - * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< - * - * # Should raise if wrong permissions - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L92_try_end; - __pyx_L87_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_14, &__pyx_t_1) < 0) __PYX_ERR(0, 993, __pyx_L89_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 993, __pyx_L89_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 993, __pyx_L89_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 993, __pyx_L89_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_14, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_14 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 993, __pyx_L89_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L88_exception_handled; - } - __pyx_L89_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L88_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L92_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 993, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L86; - } - __pyx_L86:; - } - goto __pyx_L138; - __pyx_L83_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L138:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1010 - * - * # Test exporting to / importing from a file-like object - * idxf = BytesIO() # <<<<<<<<<<<<<< - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: - * f.build_full_index() - */ - __Pyx_TraceLine(1010,0,__PYX_ERR(0, 1010, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1010, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1010, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF_SET(__pyx_v_idxf, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1011 - * # Test exporting to / importing from a file-like object - * idxf = BytesIO() - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * f.export_index(fileobj=idxf) - */ - __Pyx_TraceLine(1011,0,__PYX_ERR(0, 1011, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1011, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1011, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1011, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1011, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 1011, __pyx_L7_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1011, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1011, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1011, __pyx_L139_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1011, __pyx_L139_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1012 - * idxf = BytesIO() - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: - * f.build_full_index() # <<<<<<<<<<<<<< - * f.export_index(fileobj=idxf) - * points = list(f.seek_points()) - */ - __Pyx_TraceLine(1012,0,__PYX_ERR(0, 1012, __pyx_L143_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1012, __pyx_L143_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1012, __pyx_L143_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1013 - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: - * f.build_full_index() - * f.export_index(fileobj=idxf) # <<<<<<<<<<<<<< - * points = list(f.seek_points()) - * idxf.seek(0) - */ - __Pyx_TraceLine(1013,0,__PYX_ERR(0, 1013, __pyx_L143_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1013, __pyx_L143_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1013, __pyx_L143_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1013, __pyx_L143_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1013, __pyx_L143_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1014 - * f.build_full_index() - * f.export_index(fileobj=idxf) - * points = list(f.seek_points()) # <<<<<<<<<<<<<< - * idxf.seek(0) - * with igzip._IndexedGzipFile(fname) as f: - */ - __Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L143_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L143_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1014, __pyx_L143_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PySequence_List(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L143_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_points, ((PyObject*)__pyx_t_5)); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1011 - * # Test exporting to / importing from a file-like object - * idxf = BytesIO() - * with igzip._IndexedGzipFile(fname, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * f.export_index(fileobj=idxf) - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L148_try_end; - __pyx_L143_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 1011, __pyx_L145_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1011, __pyx_L145_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_14, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1011, __pyx_L145_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1011, __pyx_L145_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_1); - __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1011, __pyx_L145_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L144_exception_handled; - } - __pyx_L145_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L144_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L148_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1011, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L142; - } - __pyx_L142:; - } - goto __pyx_L152; - __pyx_L139_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L152:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1015 - * f.export_index(fileobj=idxf) - * points = list(f.seek_points()) - * idxf.seek(0) # <<<<<<<<<<<<<< - * with igzip._IndexedGzipFile(fname) as f: - * f.import_index(fileobj=idxf) - */ - __Pyx_TraceLine(1015,0,__PYX_ERR(0, 1015, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_idxf, __pyx_n_s_seek); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1015, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1015, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1016 - * points = list(f.seek_points()) - * idxf.seek(0) - * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< - * f.import_index(fileobj=idxf) - * f.seek(65535 * 8) - */ - __Pyx_TraceLine(1016,0,__PYX_ERR(0, 1016, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1016, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1016, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_fname); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1016, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1016, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1016, __pyx_L153_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1016, __pyx_L153_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1017 - * idxf.seek(0) - * with igzip._IndexedGzipFile(fname) as f: - * f.import_index(fileobj=idxf) # <<<<<<<<<<<<<< - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - */ - __Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L157_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1017, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1017, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_fileobj, __pyx_v_idxf) < 0) __PYX_ERR(0, 1017, __pyx_L157_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1017, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1018 - * with igzip._IndexedGzipFile(fname) as f: - * f.import_index(fileobj=idxf) - * f.seek(65535 * 8) # <<<<<<<<<<<<<< - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 - */ - __Pyx_TraceLine(1018,0,__PYX_ERR(0, 1018, __pyx_L157_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1018, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_int_524280) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_524280); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1018, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1019 - * f.import_index(fileobj=idxf) - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) # <<<<<<<<<<<<<< - * assert val[0] == 65535 - * assert points == list(f.seek_points()) - */ - __Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L157_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1019, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1020 - * f.seek(65535 * 8) - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 # <<<<<<<<<<<<<< - * assert points == list(f.seek_points()) - * - */ - __Pyx_TraceLine(1020,0,__PYX_ERR(0, 1020, __pyx_L157_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1020, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_65535, 0xFFFF, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1020, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1020, __pyx_L157_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1020, __pyx_L157_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1021 - * val = np.frombuffer(f.read(8), dtype=np.uint64) - * assert val[0] == 65535 - * assert points == list(f.seek_points()) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1021,0,__PYX_ERR(0, 1021, __pyx_L157_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!__pyx_v_points)) { __Pyx_RaiseUnboundLocalError("points"); __PYX_ERR(0, 1021, __pyx_L157_error) } - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1021, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1021, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PySequence_List(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1021, __pyx_L157_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_points, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1021, __pyx_L157_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1021, __pyx_L157_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1021, __pyx_L157_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1016 - * points = list(f.seek_points()) - * idxf.seek(0) - * with igzip._IndexedGzipFile(fname) as f: # <<<<<<<<<<<<<< - * f.import_index(fileobj=idxf) - * f.seek(65535 * 8) - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L162_try_end; - __pyx_L157_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 1016, __pyx_L159_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1016, __pyx_L159_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1016, __pyx_L159_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1016, __pyx_L159_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_3); - __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1016, __pyx_L159_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L158_exception_handled; - } - __pyx_L159_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L158_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L162_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1016, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L156; - } - __pyx_L156:; - } - goto __pyx_L166; - __pyx_L153_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L166:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":969 - * def test_import_export_index_open_file(): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 969, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 969, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 969, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_2, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 969, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 969, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L170; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L170:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 - * - * - * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_import_export_index_open_file", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_idxfname); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_points); - __Pyx_XDECREF(__pyx_v_idxf); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 - * - * - * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable = {"test_build_index_from_unseekable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_build_index_from_unseekable (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_build_index_from_unseekable(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_64test_build_index_from_unseekable(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_idxfname = NULL; - PyObject *__pyx_v_tmp_filename = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_b = NULL; - PyObject *__pyx_v_fileobj = NULL; - CYTHON_UNUSED PyObject *__pyx_v_points = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__72) - __Pyx_RefNannySetupContext("test_build_index_from_unseekable", 0); - __Pyx_TraceCall("test_build_index_from_unseekable", __pyx_f[0], 1024, 0, __PYX_ERR(0, 1024, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1025 - * - * def test_build_index_from_unseekable(): - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') - */ - __Pyx_TraceLine(1025,0,__PYX_ERR(0, 1025, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1025, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1025, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1026 - * def test_build_index_from_unseekable(): - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * idxfname = op.join(td, 'test.gzidx') - * - */ - __Pyx_TraceLine(1026,0,__PYX_ERR(0, 1026, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1026, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1026, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1026, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1026, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1026, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1026, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1027 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< - * - * tmp_filename = op.join(td, 'test.txt') - */ - __Pyx_TraceLine(1027,0,__PYX_ERR(0, 1027, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1027, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1027, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1027, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gzidx); - __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_idxfname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1029 - * idxfname = op.join(td, 'test.gzidx') - * - * tmp_filename = op.join(td, 'test.txt') # <<<<<<<<<<<<<< - * - * # make a test file - */ - __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_op); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_td, __pyx_kp_s_test_txt}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_td, __pyx_kp_s_test_txt}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_txt); - __Pyx_GIVEREF(__pyx_kp_s_test_txt); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_kp_s_test_txt); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1029, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_tmp_filename = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1032 - * - * # make a test file - * data = np.arange(5242, dtype=np.uint64) # <<<<<<<<<<<<<< - * with open(tmp_filename, 'w') as f: - * f.write(repr(data)) - */ - __Pyx_TraceLine(1032,0,__PYX_ERR(0, 1032, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1032, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1032, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1032, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1032, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1032, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1032, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__73, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1032, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1033 - * # make a test file - * data = np.arange(5242, dtype=np.uint64) - * with open(tmp_filename, 'w') as f: # <<<<<<<<<<<<<< - * f.write(repr(data)) - * - */ - __Pyx_TraceLine(1033,0,__PYX_ERR(0, 1033, __pyx_L7_error)) - /*with:*/ { - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1033, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_tmp_filename); - __Pyx_GIVEREF(__pyx_v_tmp_filename); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_tmp_filename); - __Pyx_INCREF(__pyx_n_s_w); - __Pyx_GIVEREF(__pyx_n_s_w); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_w); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1033, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1033, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1033, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1033, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1034 - * data = np.arange(5242, dtype=np.uint64) - * with open(tmp_filename, 'w') as f: - * f.write(repr(data)) # <<<<<<<<<<<<<< - * - * with gzip.open(fname, 'wb') as f: - */ - __Pyx_TraceLine(1034,0,__PYX_ERR(0, 1034, __pyx_L17_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1034, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyObject_Repr(__pyx_v_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1034, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1034, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1033 - * # make a test file - * data = np.arange(5242, dtype=np.uint64) - * with open(tmp_filename, 'w') as f: # <<<<<<<<<<<<<< - * f.write(repr(data)) - * - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1033, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1033, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1033, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1033, __pyx_L19_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1033, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1033, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1036 - * f.write(repr(data)) - * - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - __Pyx_TraceLine(1036,0,__PYX_ERR(0, 1036, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1036, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1036, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1036, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - { - __pyx_t_2 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1036, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1036, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1036, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1037 - * - * with gzip.open(fname, 'wb') as f: - * f.write(data.tostring()) # <<<<<<<<<<<<<< - * - * # Test creating the index when file is unseekable, - */ - __Pyx_TraceLine(1037,0,__PYX_ERR(0, 1037, __pyx_L31_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1037, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1037, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1037, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1037, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1036 - * f.write(repr(data)) - * - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1036, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1036, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1036, __pyx_L33_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1036, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1036, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L40; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L40:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1041 - * # Test creating the index when file is unseekable, - * # then using the index when file is seekable. - * with open(fname, 'rb') as f: # <<<<<<<<<<<<<< - * b = f.read() - * fileobj = BytesIO(b) - */ - __Pyx_TraceLine(1041,0,__PYX_ERR(0, 1041, __pyx_L7_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1041, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1041, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1041, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1041, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1041, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1042 - * # then using the index when file is seekable. - * with open(fname, 'rb') as f: - * b = f.read() # <<<<<<<<<<<<<< - * fileobj = BytesIO(b) - * - */ - __Pyx_TraceLine(1042,0,__PYX_ERR(0, 1042, __pyx_L45_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1042, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1042, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_b = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1043 - * with open(fname, 'rb') as f: - * b = f.read() - * fileobj = BytesIO(b) # <<<<<<<<<<<<<< - * - * fileobj = GzipStream(open(tmp_filename, 'rb')) - */ - __Pyx_TraceLine(1043,0,__PYX_ERR(0, 1043, __pyx_L45_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1043, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_b) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_b); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1043, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_fileobj = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1041 - * # Test creating the index when file is unseekable, - * # then using the index when file is seekable. - * with open(fname, 'rb') as f: # <<<<<<<<<<<<<< - * b = f.read() - * fileobj = BytesIO(b) - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L50_try_end; - __pyx_L45_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1041, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1041, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1041, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1041, __pyx_L47_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1041, __pyx_L47_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L46_exception_handled; - } - __pyx_L47_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L46_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L50_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1041, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L44; - } - __pyx_L44:; - } - goto __pyx_L54; - __pyx_L41_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L54:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1045 - * fileobj = BytesIO(b) - * - * fileobj = GzipStream(open(tmp_filename, 'rb')) # <<<<<<<<<<<<<< - * - * """def new_seek(*args, **kwargs): - */ - __Pyx_TraceLine(1045,0,__PYX_ERR(0, 1045, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_GzipStream); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1045, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1045, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_tmp_filename); - __Pyx_GIVEREF(__pyx_v_tmp_filename); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_tmp_filename); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_rb); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1045, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1045, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_fileobj, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1059 - * - * # generate an index file - * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * f.export_index(idxfname) - */ - __Pyx_TraceLine(1059,0,__PYX_ERR(0, 1059, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_igzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1059, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_fileobj); - __Pyx_GIVEREF(__pyx_v_fileobj); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_fileobj); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1059, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_spacing, __pyx_int_131072) < 0) __PYX_ERR(0, 1059, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1059, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1059, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1059, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1059, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1060 - * # generate an index file - * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: - * f.build_full_index() # <<<<<<<<<<<<<< - * f.export_index(idxfname) - * points = list(f.seek_points()) - */ - __Pyx_TraceLine(1060,0,__PYX_ERR(0, 1060, __pyx_L59_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1060, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1061 - * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: - * f.build_full_index() - * f.export_index(idxfname) # <<<<<<<<<<<<<< - * points = list(f.seek_points()) - * - */ - __Pyx_TraceLine(1061,0,__PYX_ERR(0, 1061, __pyx_L59_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1061, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_idxfname); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1061, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1062 - * f.build_full_index() - * f.export_index(idxfname) - * points = list(f.seek_points()) # <<<<<<<<<<<<<< - * - * return - */ - __Pyx_TraceLine(1062,0,__PYX_ERR(0, 1062, __pyx_L59_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek_points); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1062, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1062, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1062, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_points = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1059 - * - * # generate an index file - * with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: # <<<<<<<<<<<<<< - * f.build_full_index() - * f.export_index(idxfname) - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L64_try_end; - __pyx_L59_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1059, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1059, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1059, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1059, __pyx_L61_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1059, __pyx_L61_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L60_exception_handled; - } - __pyx_L61_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L60_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L64_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1059, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L58; - } - __pyx_L58:; - } - goto __pyx_L68; - __pyx_L55_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L68:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1064 - * points = list(f.seek_points()) - * - * return # <<<<<<<<<<<<<< - * fileobj.seek = old_seek - * fileobj.tell = old_tell - */ - __Pyx_TraceLine(1064,0,__PYX_ERR(0, 1064, __pyx_L7_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L11_try_return; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1025 - * - * def test_build_index_from_unseekable(): - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') - */ - } - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1025, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1025, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1025, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1025, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1025, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L11_try_return:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L4_return; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L4_return: { - __pyx_t_8 = __pyx_r; - __pyx_r = 0; - if (__pyx_t_4) { - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1025, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __pyx_r = __pyx_t_8; - __pyx_t_8 = 0; - goto __pyx_L0; - } - __pyx_L6:; - } - goto __pyx_L72; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L72:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 - * - * - * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_build_index_from_unseekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_idxfname); - __Pyx_XDECREF(__pyx_v_tmp_filename); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_b); - __Pyx_XDECREF(__pyx_v_fileobj); - __Pyx_XDECREF(__pyx_v_points); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1077 - * - * - * def test_wrapper_class(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class = {"test_wrapper_class", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_wrapper_class (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrapper_class(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_66test_wrapper_class(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_td = NULL; - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_idxfname = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - int __pyx_t_17; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__74) - __Pyx_RefNannySetupContext("test_wrapper_class", 0); - __Pyx_TraceCall("test_wrapper_class", __pyx_f[0], 1077, 0, __PYX_ERR(0, 1077, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1079 - * def test_wrapper_class(): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') - */ - __Pyx_TraceLine(1079,0,__PYX_ERR(0, 1079, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1079, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1079, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_td = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1080 - * - * with tempdir() as td: - * fname = op.join(td, 'test.gz') # <<<<<<<<<<<<<< - * idxfname = op.join(td, 'test.gzidx') - * - */ - __Pyx_TraceLine(1080,0,__PYX_ERR(0, 1080, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_op); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1080, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_join); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1080, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1080, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_td, __pyx_kp_s_test_gz}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1080, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1080, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gz); - __Pyx_GIVEREF(__pyx_kp_s_test_gz); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_kp_s_test_gz); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1080, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1081 - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') # <<<<<<<<<<<<<< - * - * data = np.arange(65536, dtype=np.uint64) - */ - __Pyx_TraceLine(1081,0,__PYX_ERR(0, 1081, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1081, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1081, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_td, __pyx_kp_s_test_gzidx}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_3); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1081, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_td); - __Pyx_GIVEREF(__pyx_v_td); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_td); - __Pyx_INCREF(__pyx_kp_s_test_gzidx); - __Pyx_GIVEREF(__pyx_kp_s_test_gzidx); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_kp_s_test_gzidx); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1081, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_idxfname = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1083 - * idxfname = op.join(td, 'test.gzidx') - * - * data = np.arange(65536, dtype=np.uint64) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tostring()) - */ - __Pyx_TraceLine(1083,0,__PYX_ERR(0, 1083, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1083, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1083, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1083, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1083, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1083, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_2) < 0) __PYX_ERR(0, 1083, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__75, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1083, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_data = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1084 - * - * data = np.arange(65536, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - __Pyx_TraceLine(1084,0,__PYX_ERR(0, 1084, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_1 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1084, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1084, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1085 - * data = np.arange(65536, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tostring()) # <<<<<<<<<<<<<< - * - * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: - */ - __Pyx_TraceLine(1085,0,__PYX_ERR(0, 1085, __pyx_L17_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1085, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1085, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1085, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1085, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1084 - * - * data = np.arange(65536, dtype=np.uint64) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1084, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1084, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1084, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1084, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1084, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 - * f.write(data.tostring()) - * - * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: # <<<<<<<<<<<<<< - * - * assert f.fileno() == f.fileobj().fileno() - */ - __Pyx_TraceLine(1087,0,__PYX_ERR(0, 1087, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1087, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1087, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1087, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1087, __pyx_L7_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1087, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1087, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1087, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1089 - * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: - * - * assert f.fileno() == f.fileobj().fileno() # <<<<<<<<<<<<<< - * assert not f.drop_handles - * - */ - __Pyx_TraceLine(1089,0,__PYX_ERR(0, 1089, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1089, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_fileobj); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1089, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1089, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1089, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1090 - * - * assert f.fileno() == f.fileobj().fileno() - * assert not f.drop_handles # <<<<<<<<<<<<<< - * - * f.build_full_index() - */ - __Pyx_TraceLine(1090,0,__PYX_ERR(0, 1090, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_drop_handles); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1090, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1090, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!((!__pyx_t_17) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1090, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1092 - * assert not f.drop_handles - * - * f.build_full_index() # <<<<<<<<<<<<<< - * f.export_index(idxfname) - * - */ - __Pyx_TraceLine(1092,0,__PYX_ERR(0, 1092, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_build_full_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1092, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1092, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1093 - * - * f.build_full_index() - * f.export_index(idxfname) # <<<<<<<<<<<<<< - * - * f.import_index(idxfname) - */ - __Pyx_TraceLine(1093,0,__PYX_ERR(0, 1093, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_export_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1093, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1093, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1095 - * f.export_index(idxfname) - * - * f.import_index(idxfname) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1095,0,__PYX_ERR(0, 1095, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_import_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1095, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_idxfname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_idxfname); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1095, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1087 - * f.write(data.tostring()) - * - * with igzip.IndexedGzipFile(fname, drop_handles=False) as f: # <<<<<<<<<<<<<< - * - * assert f.fileno() == f.fileobj().fileno() - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1087, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1087, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1087, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1087, __pyx_L33_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1087, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1087, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L40; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L40:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1079 - * def test_wrapper_class(): - * - * with tempdir() as td: # <<<<<<<<<<<<<< - * fname = op.join(td, 'test.gz') - * idxfname = op.join(td, 'test.gzidx') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 1079, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1079, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1079, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1079, __pyx_L9_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_3, __pyx_t_2); - __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1079, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1079, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L44; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L44:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1077 - * - * - * def test_wrapper_class(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_wrapper_class", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_td); - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_idxfname); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 - * - * - * def gcd(num): # <<<<<<<<<<<<<< - * if num <= 3: - * return 1 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd(PyObject *__pyx_self, PyObject *__pyx_v_num); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd = {"gcd", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd(PyObject *__pyx_self, PyObject *__pyx_v_num) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("gcd (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(__pyx_self, ((PyObject *)__pyx_v_num)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_68gcd(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_num) { - PyObject *__pyx_v_candidates = NULL; - PyObject *__pyx_v_divisor = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_t_7; - int __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__76) - __Pyx_RefNannySetupContext("gcd", 0); - __Pyx_TraceCall("gcd", __pyx_f[0], 1098, 0, __PYX_ERR(0, 1098, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1099 - * - * def gcd(num): - * if num <= 3: # <<<<<<<<<<<<<< - * return 1 - * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) - */ - __Pyx_TraceLine(1099,0,__PYX_ERR(0, 1099, __pyx_L1_error)) - __pyx_t_1 = PyObject_RichCompare(__pyx_v_num, __pyx_int_3, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1099, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1099, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1100 - * def gcd(num): - * if num <= 3: - * return 1 # <<<<<<<<<<<<<< - * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) - * candidates.extend((2, 1)) - */ - __Pyx_TraceLine(1100,0,__PYX_ERR(0, 1100, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_int_1); - __pyx_r = __pyx_int_1; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1099 - * - * def gcd(num): - * if num <= 3: # <<<<<<<<<<<<<< - * return 1 - * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1101 - * if num <= 3: - * return 1 - * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) # <<<<<<<<<<<<<< - * candidates.extend((2, 1)) - * for divisor in candidates: - */ - __Pyx_TraceLine(1101,0,__PYX_ERR(0, 1101, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ceil); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sqrt); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_num) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_num); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); - __Pyx_INCREF(__pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_int_2); - __Pyx_INCREF(__pyx_int_neg_2); - __Pyx_GIVEREF(__pyx_int_neg_2); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_neg_2); - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_candidates = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1102 - * return 1 - * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) - * candidates.extend((2, 1)) # <<<<<<<<<<<<<< - * for divisor in candidates: - * if num % divisor == 0: - */ - __Pyx_TraceLine(1102,0,__PYX_ERR(0, 1102, __pyx_L1_error)) - __pyx_t_7 = __Pyx_ListComp_Append(__pyx_v_candidates, __pyx_int_2); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(0, 1102, __pyx_L1_error) - __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_candidates, __pyx_int_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 1102, __pyx_L1_error) - (void)((__pyx_t_7 | __pyx_t_8)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1103 - * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) - * candidates.extend((2, 1)) - * for divisor in candidates: # <<<<<<<<<<<<<< - * if num % divisor == 0: - * return divisor - */ - __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L1_error)) - __pyx_t_1 = __pyx_v_candidates; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; - for (;;) { - if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1103, __pyx_L1_error) - #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - __Pyx_XDECREF_SET(__pyx_v_divisor, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1104 - * candidates.extend((2, 1)) - * for divisor in candidates: - * if num % divisor == 0: # <<<<<<<<<<<<<< - * return divisor - * return 1 - */ - __Pyx_TraceLine(1104,0,__PYX_ERR(0, 1104, __pyx_L1_error)) - __pyx_t_4 = PyNumber_Remainder(__pyx_v_num, __pyx_v_divisor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 1104, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_2) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1105 - * for divisor in candidates: - * if num % divisor == 0: - * return divisor # <<<<<<<<<<<<<< - * return 1 - * - */ - __Pyx_TraceLine(1105,0,__PYX_ERR(0, 1105, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_divisor); - __pyx_r = __pyx_v_divisor; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1104 - * candidates.extend((2, 1)) - * for divisor in candidates: - * if num % divisor == 0: # <<<<<<<<<<<<<< - * return divisor - * return 1 - */ - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1103 - * candidates = list(range(int(np.ceil(np.sqrt(num))), 2, -2)) - * candidates.extend((2, 1)) - * for divisor in candidates: # <<<<<<<<<<<<<< - * if num % divisor == 0: - * return divisor - */ - __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1106 - * if num % divisor == 0: - * return divisor - * return 1 # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1106,0,__PYX_ERR(0, 1106, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_int_1); - __pyx_r = __pyx_int_1; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 - * - * - * def gcd(num): # <<<<<<<<<<<<<< - * if num <= 3: - * return 1 - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.gcd", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_candidates); - __Pyx_XDECREF(__pyx_v_divisor); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 - * - * - * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< - * - * fname = 'test.gz' - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf = {"test_size_multiple_of_readbuf", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_size_multiple_of_readbuf (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size_multiple_of_readbuf(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_70test_size_multiple_of_readbuf(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_fsize = NULL; - PyObject *__pyx_v_bufsz = NULL; - PyObject *__pyx_v_read = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - int __pyx_t_17; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__77) - __Pyx_RefNannySetupContext("test_size_multiple_of_readbuf", 0); - __Pyx_TraceCall("test_size_multiple_of_readbuf", __pyx_f[0], 1109, 0, __PYX_ERR(0, 1109, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1111 - * def test_size_multiple_of_readbuf(): - * - * fname = 'test.gz' # <<<<<<<<<<<<<< - * - * with tempdir(): - */ - __Pyx_TraceLine(1111,0,__PYX_ERR(0, 1111, __pyx_L1_error)) - __Pyx_INCREF(__pyx_kp_s_test_gz); - __pyx_v_fname = __pyx_kp_s_test_gz; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1113 - * fname = 'test.gz' - * - * with tempdir(): # <<<<<<<<<<<<<< - * - * while True: - */ - __Pyx_TraceLine(1113,0,__PYX_ERR(0, 1113, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1113, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1115 - * with tempdir(): - * - * while True: # <<<<<<<<<<<<<< - * - * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) - */ - __Pyx_TraceLine(1115,0,__PYX_ERR(0, 1115, __pyx_L7_error)) - while (1) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1117 - * while True: - * - * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(1117,0,__PYX_ERR(0, 1117, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1117, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1117, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1117, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1117, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1117, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1117, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__78, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1118 - * - * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * del f - */ - __Pyx_TraceLine(1118,0,__PYX_ERR(0, 1118, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - { - __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1118, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1118, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1118, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1118, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1118, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1119 - * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * del f - * f = None - */ - __Pyx_TraceLine(1119,0,__PYX_ERR(0, 1119, __pyx_L21_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1119, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1119, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1119, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1119, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1118 - * - * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * del f - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L28_try_end; - __pyx_L21_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 1118, __pyx_L23_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1118, __pyx_L23_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1118, __pyx_L23_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1118, __pyx_L23_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1118, __pyx_L23_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L22_exception_handled; - } - __pyx_L23_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L22_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L28_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1118, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L20; - } - __pyx_L20:; - } - goto __pyx_L32; - __pyx_L15_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L32:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1120 - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - * del f # <<<<<<<<<<<<<< - * f = None - * - */ - __Pyx_TraceLine(1120,0,__PYX_ERR(0, 1120, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1120, __pyx_L7_error) } - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1121 - * f.write(data.tobytes()) - * del f - * f = None # <<<<<<<<<<<<<< - * - * # we need a file size that is divisible - */ - __Pyx_TraceLine(1121,0,__PYX_ERR(0, 1121, __pyx_L7_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1125 - * # we need a file size that is divisible - * # by the minimum readbuf size - * fsize = op.getsize(fname) # <<<<<<<<<<<<<< - * if gcd(fsize) >= 128: - * break - */ - __Pyx_TraceLine(1125,0,__PYX_ERR(0, 1125, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_op); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1125, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_getsize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1125, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fname); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1125, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_fsize, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1126 - * # by the minimum readbuf size - * fsize = op.getsize(fname) - * if gcd(fsize) >= 128: # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(1126,0,__PYX_ERR(0, 1126, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_gcd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1126, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fsize); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1126, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_int_128, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1126, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1126, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_17) { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1127 - * fsize = op.getsize(fname) - * if gcd(fsize) >= 128: - * break # <<<<<<<<<<<<<< - * - * # readbuf size == file size - */ - __Pyx_TraceLine(1127,0,__PYX_ERR(0, 1127, __pyx_L7_error)) - goto __pyx_L14_break; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1126 - * # by the minimum readbuf size - * fsize = op.getsize(fname) - * if gcd(fsize) >= 128: # <<<<<<<<<<<<<< - * break - * - */ - } - } - __pyx_L14_break:; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1130 - * - * # readbuf size == file size - * bufsz = fsize # <<<<<<<<<<<<<< - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - */ - __Pyx_TraceLine(1130,0,__PYX_ERR(0, 1130, __pyx_L7_error)) - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1130, __pyx_L7_error) } - __Pyx_INCREF(__pyx_v_fsize); - __pyx_v_bufsz = __pyx_v_fsize; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1132 - * bufsz = fsize - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< - * assert f.seek(fsize) == fsize - * del f - */ - __Pyx_TraceLine(1132,0,__PYX_ERR(0, 1132, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1132, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1132, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1132, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1132, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1132, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1132, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1132, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1132, __pyx_L34_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1132, __pyx_L34_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1133 - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - * assert f.seek(fsize) == fsize # <<<<<<<<<<<<<< - * del f - * f = None - */ - __Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L38_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1133, __pyx_L38_error) } - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_fsize); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1133, __pyx_L38_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1133, __pyx_L38_error) } - __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_v_fsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L38_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1133, __pyx_L38_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1133, __pyx_L38_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1132 - * bufsz = fsize - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< - * assert f.seek(fsize) == fsize - * del f - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L43_try_end; - __pyx_L38_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 1132, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1132, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1132, __pyx_L40_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1132, __pyx_L40_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_3, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1132, __pyx_L40_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L39_exception_handled; - } - __pyx_L40_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L39_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L43_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1132, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L37; - } - __pyx_L37:; - } - goto __pyx_L47; - __pyx_L34_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L47:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1134 - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - * assert f.seek(fsize) == fsize - * del f # <<<<<<<<<<<<<< - * f = None - * - */ - __Pyx_TraceLine(1134,0,__PYX_ERR(0, 1134, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1134, __pyx_L7_error) } - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1135 - * assert f.seek(fsize) == fsize - * del f - * f = None # <<<<<<<<<<<<<< - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - */ - __Pyx_TraceLine(1135,0,__PYX_ERR(0, 1135, __pyx_L7_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1137 - * f = None - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) - * assert np.all(read == data) - */ - __Pyx_TraceLine(1137,0,__PYX_ERR(0, 1137, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1137, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1137, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1137, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1137, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L48_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L48_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1138 - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) # <<<<<<<<<<<<<< - * assert np.all(read == data) - * del f - */ - __Pyx_TraceLine(1138,0,__PYX_ERR(0, 1138, __pyx_L52_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_shape, __pyx_int_100000) < 0) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_3) < 0) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_buffer, __pyx_t_3) < 0) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1138, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_read = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1139 - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) - * assert np.all(read == data) # <<<<<<<<<<<<<< - * del f - * f = None - */ - __Pyx_TraceLine(1139,0,__PYX_ERR(0, 1139, __pyx_L52_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1139, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1139, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 1139, __pyx_L52_error) } - __pyx_t_5 = PyObject_RichCompare(__pyx_v_read, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1139, __pyx_L52_error) - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1139, __pyx_L52_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1139, __pyx_L52_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1139, __pyx_L52_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1137 - * f = None - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) - * assert np.all(read == data) - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L57_try_end; - __pyx_L52_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1137, __pyx_L54_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L54_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1137, __pyx_L54_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1137, __pyx_L54_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1137, __pyx_L54_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L53_exception_handled; - } - __pyx_L54_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L53_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L57_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1137, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L51; - } - __pyx_L51:; - } - goto __pyx_L61; - __pyx_L48_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L61:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1140 - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) - * assert np.all(read == data) - * del f # <<<<<<<<<<<<<< - * f = None - * - */ - __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1141 - * assert np.all(read == data) - * del f - * f = None # <<<<<<<<<<<<<< - * - * # Use a buf size that is a divisor of the file size - */ - __Pyx_TraceLine(1141,0,__PYX_ERR(0, 1141, __pyx_L7_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1144 - * - * # Use a buf size that is a divisor of the file size - * bufsz = gcd(fsize) # <<<<<<<<<<<<<< - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - */ - __Pyx_TraceLine(1144,0,__PYX_ERR(0, 1144, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gcd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1144, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1144, __pyx_L7_error) } - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_fsize); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1144, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF_SET(__pyx_v_bufsz, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1146 - * bufsz = gcd(fsize) - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< - * assert f.seek(fsize) == fsize - * del f - */ - __Pyx_TraceLine(1146,0,__PYX_ERR(0, 1146, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1146, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1146, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1146, __pyx_L7_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1146, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1146, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L62_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1146, __pyx_L62_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1147 - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - * assert f.seek(fsize) == fsize # <<<<<<<<<<<<<< - * del f - * f = None - */ - __Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L66_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1147, __pyx_L66_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1147, __pyx_L66_error) } - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_fsize) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_fsize); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1147, __pyx_L66_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_v_fsize)) { __Pyx_RaiseUnboundLocalError("fsize"); __PYX_ERR(0, 1147, __pyx_L66_error) } - __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_v_fsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1147, __pyx_L66_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1147, __pyx_L66_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1147, __pyx_L66_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1146 - * bufsz = gcd(fsize) - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< - * assert f.seek(fsize) == fsize - * del f - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L71_try_end; - __pyx_L66_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 1146, __pyx_L68_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1146, __pyx_L68_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1146, __pyx_L68_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1146, __pyx_L68_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_5, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1146, __pyx_L68_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L67_exception_handled; - } - __pyx_L68_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L67_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L71_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1146, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L65; - } - __pyx_L65:; - } - goto __pyx_L75; - __pyx_L62_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L75:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1148 - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - * assert f.seek(fsize) == fsize - * del f # <<<<<<<<<<<<<< - * f = None - * - */ - __Pyx_TraceLine(1148,0,__PYX_ERR(0, 1148, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1149 - * assert f.seek(fsize) == fsize - * del f - * f = None # <<<<<<<<<<<<<< - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - */ - __Pyx_TraceLine(1149,0,__PYX_ERR(0, 1149, __pyx_L7_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1151 - * f = None - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) - * assert np.all(read == data) - */ - __Pyx_TraceLine(1151,0,__PYX_ERR(0, 1151, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_igzip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1151, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1151, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1151, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_fname); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_readbuf_size, __pyx_v_bufsz) < 0) __PYX_ERR(0, 1151, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1151, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1151, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1151, __pyx_L76_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L76_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __Pyx_DECREF_SET(__pyx_v_f, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1152 - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) # <<<<<<<<<<<<<< - * assert np.all(read == data) - * del f - */ - __Pyx_TraceLine(1152,0,__PYX_ERR(0, 1152, __pyx_L80_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_shape, __pyx_int_100000) < 0) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_buffer, __pyx_t_5) < 0) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1152, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_read, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1153 - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) - * assert np.all(read == data) # <<<<<<<<<<<<<< - * del f - * f = None - */ - __Pyx_TraceLine(1153,0,__PYX_ERR(0, 1153, __pyx_L80_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1153, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1153, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_v_data)) { __Pyx_RaiseUnboundLocalError("data"); __PYX_ERR(0, 1153, __pyx_L80_error) } - __pyx_t_3 = PyObject_RichCompare(__pyx_v_read, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1153, __pyx_L80_error) - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1153, __pyx_L80_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1153, __pyx_L80_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1153, __pyx_L80_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1151 - * f = None - * - * with igzip.IndexedGzipFile(fname, readbuf_size=bufsz) as f: # <<<<<<<<<<<<<< - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) - * assert np.all(read == data) - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L85_try_end; - __pyx_L80_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1151, __pyx_L82_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L82_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1151, __pyx_L82_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1151, __pyx_L82_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_3); - __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1151, __pyx_L82_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L81_exception_handled; - } - __pyx_L82_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L81_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L85_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1151, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L79; - } - __pyx_L79:; - } - goto __pyx_L89; - __pyx_L76_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L89:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1154 - * read = np.ndarray(shape=100000, dtype=np.uint32, buffer=f.read()) - * assert np.all(read == data) - * del f # <<<<<<<<<<<<<< - * f = None - * - */ - __Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1155 - * assert np.all(read == data) - * del f - * f = None # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L7_error)) - __Pyx_INCREF(Py_None); - __pyx_v_f = Py_None; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1113 - * fname = 'test.gz' - * - * with tempdir(): # <<<<<<<<<<<<<< - * - * while True: - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1113, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1113, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1113, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1113, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1113, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L93; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L93:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 - * - * - * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< - * - * fname = 'test.gz' - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_size_multiple_of_readbuf", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fsize); - __Pyx_XDECREF(__pyx_v_bufsz); - __Pyx_XDECREF(__pyx_v_read); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 - * - * - * def test_picklable(): # <<<<<<<<<<<<<< - * - * # default behaviour is for drop_handles=True, - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable = {"test_picklable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_picklable (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_picklable(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_72test_picklable(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_gzf = NULL; - PyObject *__pyx_v_first50MB = NULL; - PyObject *__pyx_v_pickled = NULL; - PyObject *__pyx_v_second50MB = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - int __pyx_t_17; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__79) - __Pyx_RefNannySetupContext("test_picklable", 0); - __Pyx_TraceCall("test_picklable", __pyx_f[0], 1158, 0, __PYX_ERR(0, 1158, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1163 - * # which means that an IndexedGzipFile object - * # should be picklable/serialisable - * fname = 'test.gz' # <<<<<<<<<<<<<< - * - * with tempdir(): - */ - __Pyx_TraceLine(1163,0,__PYX_ERR(0, 1163, __pyx_L1_error)) - __Pyx_INCREF(__pyx_kp_s_test_gz); - __pyx_v_fname = __pyx_kp_s_test_gz; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1165 - * fname = 'test.gz' - * - * with tempdir(): # <<<<<<<<<<<<<< - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: - */ - __Pyx_TraceLine(1165,0,__PYX_ERR(0, 1165, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1165, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1166 - * - * with tempdir(): - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< - * with open(fname+'.bin', 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(1166,0,__PYX_ERR(0, 1166, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1166, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1166, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1166, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1166, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__81, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1166, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1167 - * with tempdir(): - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * compress(fname+'.bin', fname) - */ - __Pyx_TraceLine(1167,0,__PYX_ERR(0, 1167, __pyx_L7_error)) - /*with:*/ { - __pyx_t_5 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1167, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1167, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_wb); - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1167, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1167, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1167, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1167, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1168 - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * compress(fname+'.bin', fname) - * del f - */ - __Pyx_TraceLine(1168,0,__PYX_ERR(0, 1168, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1168, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1168, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1168, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1168, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1167 - * with tempdir(): - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * compress(fname+'.bin', fname) - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1167, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1167, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1167, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1167, __pyx_L19_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_2); - __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1167, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1167, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1169 - * with open(fname+'.bin', 'wb') as f: - * f.write(data.tobytes()) - * compress(fname+'.bin', fname) # <<<<<<<<<<<<<< - * del f - * - */ - __Pyx_TraceLine(1169,0,__PYX_ERR(0, 1169, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_compress); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1169, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1169, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1169, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1169, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - { - __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1169, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_17, __pyx_t_1); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_v_fname); - __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1169, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1170 - * f.write(data.tobytes()) - * compress(fname+'.bin', fname) - * del f # <<<<<<<<<<<<<< - * - * gzf = igzip.IndexedGzipFile(fname) - */ - __Pyx_TraceLine(1170,0,__PYX_ERR(0, 1170, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1170, __pyx_L7_error) } - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1172 - * del f - * - * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< - * first50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) - */ - __Pyx_TraceLine(1172,0,__PYX_ERR(0, 1172, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1172, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1172, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_fname); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1172, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_v_gzf = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1173 - * - * gzf = igzip.IndexedGzipFile(fname) - * first50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< - * gzf.seek(gzf.tell()) - * pickled = pickle.dumps(gzf) - */ - __Pyx_TraceLine(1173,0,__PYX_ERR(0, 1173, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1173, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_v_first50MB = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1174 - * gzf = igzip.IndexedGzipFile(fname) - * first50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< - * pickled = pickle.dumps(gzf) - * second50MB = gzf.read(1048576 * 50) - */ - __Pyx_TraceLine(1174,0,__PYX_ERR(0, 1174, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1174, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1174, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1174, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1174, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1175 - * first50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) - * pickled = pickle.dumps(gzf) # <<<<<<<<<<<<<< - * second50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) - */ - __Pyx_TraceLine(1175,0,__PYX_ERR(0, 1175, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1175, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_dumps); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1175, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_gzf); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1175, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_pickled = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1176 - * gzf.seek(gzf.tell()) - * pickled = pickle.dumps(gzf) - * second50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< - * gzf.seek(gzf.tell()) - * - */ - __Pyx_TraceLine(1176,0,__PYX_ERR(0, 1176, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1176, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1176, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_second50MB = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1177 - * pickled = pickle.dumps(gzf) - * second50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< - * - * gzf.close() - */ - __Pyx_TraceLine(1177,0,__PYX_ERR(0, 1177, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1177, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1177, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1177, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1177, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1179 - * gzf.seek(gzf.tell()) - * - * gzf.close() # <<<<<<<<<<<<<< - * del gzf - * - */ - __Pyx_TraceLine(1179,0,__PYX_ERR(0, 1179, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1179, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1179, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1180 - * - * gzf.close() - * del gzf # <<<<<<<<<<<<<< - * - * gzf = pickle.loads(pickled) - */ - __Pyx_TraceLine(1180,0,__PYX_ERR(0, 1180, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1182 - * del gzf - * - * gzf = pickle.loads(pickled) # <<<<<<<<<<<<<< - * assert gzf.tell() == 1048576 * 50 - * assert gzf.read(1048576 * 50) == second50MB - */ - __Pyx_TraceLine(1182,0,__PYX_ERR(0, 1182, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1182, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_loads); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1182, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_pickled) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_pickled); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1182, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_v_gzf = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1183 - * - * gzf = pickle.loads(pickled) - * assert gzf.tell() == 1048576 * 50 # <<<<<<<<<<<<<< - * assert gzf.read(1048576 * 50) == second50MB - * gzf.seek(0) - */ - __Pyx_TraceLine(1183,0,__PYX_ERR(0, 1183, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1183, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1183, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_52428800, 0x3200000, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1183, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1183, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1183, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1184 - * gzf = pickle.loads(pickled) - * assert gzf.tell() == 1048576 * 50 - * assert gzf.read(1048576 * 50) == second50MB # <<<<<<<<<<<<<< - * gzf.seek(0) - * assert gzf.read(1048576 * 50) == first50MB - */ - __Pyx_TraceLine(1184,0,__PYX_ERR(0, 1184, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1184, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1184, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_13, __pyx_v_second50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1184, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1184, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1184, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1185 - * assert gzf.tell() == 1048576 * 50 - * assert gzf.read(1048576 * 50) == second50MB - * gzf.seek(0) # <<<<<<<<<<<<<< - * assert gzf.read(1048576 * 50) == first50MB - * gzf.close() - */ - __Pyx_TraceLine(1185,0,__PYX_ERR(0, 1185, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1185, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1185, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1186 - * assert gzf.read(1048576 * 50) == second50MB - * gzf.seek(0) - * assert gzf.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< - * gzf.close() - * del gzf - */ - __Pyx_TraceLine(1186,0,__PYX_ERR(0, 1186, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1186, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1186, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1186, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1186, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1187 - * gzf.seek(0) - * assert gzf.read(1048576 * 50) == first50MB - * gzf.close() # <<<<<<<<<<<<<< - * del gzf - * - */ - __Pyx_TraceLine(1187,0,__PYX_ERR(0, 1187, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1187, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1187, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1188 - * assert gzf.read(1048576 * 50) == first50MB - * gzf.close() - * del gzf # <<<<<<<<<<<<<< - * - * # if drop_handles=False, no pickle - */ - __Pyx_TraceLine(1188,0,__PYX_ERR(0, 1188, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1165 - * fname = 'test.gz' - * - * with tempdir(): # <<<<<<<<<<<<<< - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1165, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1165, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1165, __pyx_L9_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_13); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_2, __pyx_t_5); - __pyx_t_13 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1165, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L30; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L30:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1191 - * - * # if drop_handles=False, no pickle - * with tempdir(): # <<<<<<<<<<<<<< - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: - */ - __Pyx_TraceLine(1191,0,__PYX_ERR(0, 1191, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1191, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1191, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1192 - * # if drop_handles=False, no pickle - * with tempdir(): - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(1192,0,__PYX_ERR(0, 1192, __pyx_L35_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1192, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1192, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1192, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_uint32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 1192, __pyx_L35_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__82, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1193 - * with tempdir(): - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * del f - */ - __Pyx_TraceLine(1193,0,__PYX_ERR(0, 1193, __pyx_L35_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1193, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L35_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L35_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - { - __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1193, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_17, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_n_s_wb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1193, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1193, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1193, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_13); - __pyx_t_13 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1194 - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * del f - * - */ - __Pyx_TraceLine(1194,0,__PYX_ERR(0, 1194, __pyx_L45_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1194, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1194, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1194, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1194, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1193 - * with tempdir(): - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * del f - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L50_try_end; - __pyx_L45_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1193, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1193, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1193, __pyx_L47_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_13); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_1, __pyx_t_5); - __pyx_t_13 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1193, __pyx_L47_except_error) - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L46_exception_handled; - } - __pyx_L47_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - goto __pyx_L35_error; - __pyx_L46_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - __pyx_L50_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1193, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L44; - } - __pyx_L44:; - } - goto __pyx_L54; - __pyx_L41_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L35_error; - __pyx_L54:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1195 - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - * del f # <<<<<<<<<<<<<< - * - * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) - */ - __Pyx_TraceLine(1195,0,__PYX_ERR(0, 1195, __pyx_L35_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1195, __pyx_L35_error) } - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1197 - * del f - * - * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) # <<<<<<<<<<<<<< - * - * with pytest.raises(pickle.PicklingError): - */ - __Pyx_TraceLine(1197,0,__PYX_ERR(0, 1197, __pyx_L35_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1197, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1197, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1197, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1197, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1197, __pyx_L35_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1197, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1199 - * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) - * - * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< - * pickled = pickle.dumps(gzf) - * gzf.close() - */ - __Pyx_TraceLine(1199,0,__PYX_ERR(0, 1199, __pyx_L35_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pytest); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1199, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1199, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1199, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1199, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1199, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1200 - * - * with pytest.raises(pickle.PicklingError): - * pickled = pickle.dumps(gzf) # <<<<<<<<<<<<<< - * gzf.close() - * del gzf - */ - __Pyx_TraceLine(1200,0,__PYX_ERR(0, 1200, __pyx_L59_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_pickle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1200, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_dumps); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_gzf); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_pickled, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1199 - * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) - * - * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< - * pickled = pickle.dumps(gzf) - * gzf.close() - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L64_try_end; - __pyx_L59_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1199, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1199, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1199, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1199, __pyx_L61_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1199, __pyx_L61_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L60_exception_handled; - } - __pyx_L61_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L35_error; - __pyx_L60_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L64_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1199, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L58; - } - __pyx_L58:; - } - goto __pyx_L68; - __pyx_L55_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L35_error; - __pyx_L68:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1201 - * with pytest.raises(pickle.PicklingError): - * pickled = pickle.dumps(gzf) - * gzf.close() # <<<<<<<<<<<<<< - * del gzf - * - */ - __Pyx_TraceLine(1201,0,__PYX_ERR(0, 1201, __pyx_L35_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1201, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1202 - * pickled = pickle.dumps(gzf) - * gzf.close() - * del gzf # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1202,0,__PYX_ERR(0, 1202, __pyx_L35_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1191 - * - * # if drop_handles=False, no pickle - * with tempdir(): # <<<<<<<<<<<<<< - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L40_try_end; - __pyx_L35_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1191, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1191, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1191, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1191, __pyx_L37_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_2); - __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1191, __pyx_L37_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L36_exception_handled; - } - __pyx_L37_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - goto __pyx_L1_error; - __pyx_L36_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - __pyx_L40_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - goto __pyx_L34; - } - __pyx_L34:; - } - goto __pyx_L72; - __pyx_L31_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L72:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 - * - * - * def test_picklable(): # <<<<<<<<<<<<<< - * - * # default behaviour is for drop_handles=True, - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_picklable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_gzf); - __Pyx_XDECREF(__pyx_v_first50MB); - __Pyx_XDECREF(__pyx_v_pickled); - __Pyx_XDECREF(__pyx_v_second50MB); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 - * - * - * def test_copyable(): # <<<<<<<<<<<<<< - * fname = 'test.gz' - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable = {"test_copyable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_copyable (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copyable(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_74test_copyable(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_gzf = NULL; - PyObject *__pyx_v_gzf_copy = NULL; - PyObject *__pyx_v_first50MB = NULL; - PyObject *__pyx_v_gzf_copy2 = NULL; - PyObject *__pyx_v_second50MB = NULL; - PyObject *__pyx_v_fobj = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - int __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__83) - __Pyx_RefNannySetupContext("test_copyable", 0); - __Pyx_TraceCall("test_copyable", __pyx_f[0], 1205, 0, __PYX_ERR(0, 1205, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1206 - * - * def test_copyable(): - * fname = 'test.gz' # <<<<<<<<<<<<<< - * - * with tempdir(): - */ - __Pyx_TraceLine(1206,0,__PYX_ERR(0, 1206, __pyx_L1_error)) - __Pyx_INCREF(__pyx_kp_s_test_gz); - __pyx_v_fname = __pyx_kp_s_test_gz; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1208 - * fname = 'test.gz' - * - * with tempdir(): # <<<<<<<<<<<<<< - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: - */ - __Pyx_TraceLine(1208,0,__PYX_ERR(0, 1208, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1208, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1208, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1209 - * - * with tempdir(): - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< - * with open(fname+'.bin', 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(1209,0,__PYX_ERR(0, 1209, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1209, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1209, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1209, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1209, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1209, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1209, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1209, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__81, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1209, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1210 - * with tempdir(): - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * compress(fname+'.bin', fname) - */ - __Pyx_TraceLine(1210,0,__PYX_ERR(0, 1210, __pyx_L7_error)) - /*with:*/ { - __pyx_t_5 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1210, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_wb); - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1210, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1210, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1210, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1211 - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * compress(fname+'.bin', fname) - * del f - */ - __Pyx_TraceLine(1211,0,__PYX_ERR(0, 1211, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1211, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1211, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1211, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1211, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1210 - * with tempdir(): - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * compress(fname+'.bin', fname) - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1210, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1210, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1210, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1210, __pyx_L19_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_2); - __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1210, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1210, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1212 - * with open(fname+'.bin', 'wb') as f: - * f.write(data.tobytes()) - * compress(fname+'.bin', fname) # <<<<<<<<<<<<<< - * del f - * - */ - __Pyx_TraceLine(1212,0,__PYX_ERR(0, 1212, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_compress); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1212, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Add(__pyx_v_fname, __pyx_kp_s_bin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1212, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_1, __pyx_v_fname}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - { - __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1212, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_17, __pyx_t_1); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_v_fname); - __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1213 - * f.write(data.tobytes()) - * compress(fname+'.bin', fname) - * del f # <<<<<<<<<<<<<< - * - * gzf = igzip.IndexedGzipFile(fname) - */ - __Pyx_TraceLine(1213,0,__PYX_ERR(0, 1213, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1213, __pyx_L7_error) } - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1215 - * del f - * - * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< - * gzf_copy = cp.deepcopy(gzf) - * first50MB = gzf.read(1048576 * 50) - */ - __Pyx_TraceLine(1215,0,__PYX_ERR(0, 1215, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1215, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1215, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_fname); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1215, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_v_gzf = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1216 - * - * gzf = igzip.IndexedGzipFile(fname) - * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< - * first50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) - */ - __Pyx_TraceLine(1216,0,__PYX_ERR(0, 1216, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_cp); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1216, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1216, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_gzf); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1216, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_gzf_copy = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1217 - * gzf = igzip.IndexedGzipFile(fname) - * gzf_copy = cp.deepcopy(gzf) - * first50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< - * gzf.seek(gzf.tell()) - * gzf_copy2 = cp.deepcopy(gzf) - */ - __Pyx_TraceLine(1217,0,__PYX_ERR(0, 1217, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1217, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1217, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_first50MB = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1218 - * gzf_copy = cp.deepcopy(gzf) - * first50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< - * gzf_copy2 = cp.deepcopy(gzf) - * second50MB = gzf.read(1048576 * 50) - */ - __Pyx_TraceLine(1218,0,__PYX_ERR(0, 1218, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1218, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1219 - * first50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) - * gzf_copy2 = cp.deepcopy(gzf) # <<<<<<<<<<<<<< - * second50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) - */ - __Pyx_TraceLine(1219,0,__PYX_ERR(0, 1219, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1219, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1219, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_gzf); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1219, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_v_gzf_copy2 = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1220 - * gzf.seek(gzf.tell()) - * gzf_copy2 = cp.deepcopy(gzf) - * second50MB = gzf.read(1048576 * 50) # <<<<<<<<<<<<<< - * gzf.seek(gzf.tell()) - * - */ - __Pyx_TraceLine(1220,0,__PYX_ERR(0, 1220, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1220, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1220, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_v_second50MB = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1221 - * gzf_copy2 = cp.deepcopy(gzf) - * second50MB = gzf.read(1048576 * 50) - * gzf.seek(gzf.tell()) # <<<<<<<<<<<<<< - * - * gzf.close() - */ - __Pyx_TraceLine(1221,0,__PYX_ERR(0, 1221, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1221, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1221, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1221, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1221, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1223 - * gzf.seek(gzf.tell()) - * - * gzf.close() # <<<<<<<<<<<<<< - * del gzf - * - */ - __Pyx_TraceLine(1223,0,__PYX_ERR(0, 1223, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1223, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1223, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1224 - * - * gzf.close() - * del gzf # <<<<<<<<<<<<<< - * - * assert gzf_copy.tell() == 0 - */ - __Pyx_TraceLine(1224,0,__PYX_ERR(0, 1224, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1226 - * del gzf - * - * assert gzf_copy.tell() == 0 # <<<<<<<<<<<<<< - * assert gzf_copy2.tell() == 1048576 * 50 - * assert gzf_copy.read(1048576 * 50) == first50MB - */ - __Pyx_TraceLine(1226,0,__PYX_ERR(0, 1226, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_tell); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1226, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1226, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1226, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1226, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1227 - * - * assert gzf_copy.tell() == 0 - * assert gzf_copy2.tell() == 1048576 * 50 # <<<<<<<<<<<<<< - * assert gzf_copy.read(1048576 * 50) == first50MB - * assert gzf_copy2.read(1048576 * 50) == second50MB - */ - __Pyx_TraceLine(1227,0,__PYX_ERR(0, 1227, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1227, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_13, __pyx_int_52428800, 0x3200000, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1227, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1227, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1227, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1228 - * assert gzf_copy.tell() == 0 - * assert gzf_copy2.tell() == 1048576 * 50 - * assert gzf_copy.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< - * assert gzf_copy2.read(1048576 * 50) == second50MB - * gzf_copy2.seek(0) - */ - __Pyx_TraceLine(1228,0,__PYX_ERR(0, 1228, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1228, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1228, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1228, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1228, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1229 - * assert gzf_copy2.tell() == 1048576 * 50 - * assert gzf_copy.read(1048576 * 50) == first50MB - * assert gzf_copy2.read(1048576 * 50) == second50MB # <<<<<<<<<<<<<< - * gzf_copy2.seek(0) - * assert gzf_copy2.read(1048576 * 50) == first50MB - */ - __Pyx_TraceLine(1229,0,__PYX_ERR(0, 1229, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1229, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1229, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_13, __pyx_v_second50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1229, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1229, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1229, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1230 - * assert gzf_copy.read(1048576 * 50) == first50MB - * assert gzf_copy2.read(1048576 * 50) == second50MB - * gzf_copy2.seek(0) # <<<<<<<<<<<<<< - * assert gzf_copy2.read(1048576 * 50) == first50MB - * gzf_copy.close() - */ - __Pyx_TraceLine(1230,0,__PYX_ERR(0, 1230, __pyx_L7_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_seek); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1230, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1230, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1231 - * assert gzf_copy2.read(1048576 * 50) == second50MB - * gzf_copy2.seek(0) - * assert gzf_copy2.read(1048576 * 50) == first50MB # <<<<<<<<<<<<<< - * gzf_copy.close() - * gzf_copy2.close() - */ - __Pyx_TraceLine(1231,0,__PYX_ERR(0, 1231, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_read); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1231, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_int_52428800) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_52428800); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = PyObject_RichCompare(__pyx_t_2, __pyx_v_first50MB, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1231, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1231, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1231, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1232 - * gzf_copy2.seek(0) - * assert gzf_copy2.read(1048576 * 50) == first50MB - * gzf_copy.close() # <<<<<<<<<<<<<< - * gzf_copy2.close() - * del gzf_copy - */ - __Pyx_TraceLine(1232,0,__PYX_ERR(0, 1232, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1232, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1232, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1233 - * assert gzf_copy2.read(1048576 * 50) == first50MB - * gzf_copy.close() - * gzf_copy2.close() # <<<<<<<<<<<<<< - * del gzf_copy - * del gzf_copy2 - */ - __Pyx_TraceLine(1233,0,__PYX_ERR(0, 1233, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf_copy2, __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1233, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1233, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1234 - * gzf_copy.close() - * gzf_copy2.close() - * del gzf_copy # <<<<<<<<<<<<<< - * del gzf_copy2 - * - */ - __Pyx_TraceLine(1234,0,__PYX_ERR(0, 1234, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gzf_copy); - __pyx_v_gzf_copy = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1235 - * gzf_copy2.close() - * del gzf_copy - * del gzf_copy2 # <<<<<<<<<<<<<< - * - * with tempdir(): - */ - __Pyx_TraceLine(1235,0,__PYX_ERR(0, 1235, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gzf_copy2); - __pyx_v_gzf_copy2 = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1208 - * fname = 'test.gz' - * - * with tempdir(): # <<<<<<<<<<<<<< - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) - * with open(fname+'.bin', 'wb') as f: - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 1208, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1208, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1208, __pyx_L9_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_13); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_2, __pyx_t_5); - __pyx_t_13 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1208, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L30; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L30:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1237 - * del gzf_copy2 - * - * with tempdir(): # <<<<<<<<<<<<<< - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: - */ - __Pyx_TraceLine(1237,0,__PYX_ERR(0, 1237, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1237, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1238 - * - * with tempdir(): - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(1238,0,__PYX_ERR(0, 1238, __pyx_L35_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1238, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1238, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1238, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1238, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1238, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_uint32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1238, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_1) < 0) __PYX_ERR(0, 1238, __pyx_L35_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__82, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1238, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1239 - * with tempdir(): - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * del f - */ - __Pyx_TraceLine(1239,0,__PYX_ERR(0, 1239, __pyx_L35_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_gzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1239, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1239, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_17 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_17 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1239, __pyx_L35_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1239, __pyx_L35_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - { - __pyx_t_13 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1239, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_17, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_17, __pyx_n_s_wb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1239, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1239, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1239, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1239, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_13); - __pyx_t_13 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1240 - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * del f - * - */ - __Pyx_TraceLine(1240,0,__PYX_ERR(0, 1240, __pyx_L45_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1240, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1240, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1240, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1240, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1239 - * with tempdir(): - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * del f - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L50_try_end; - __pyx_L45_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1239, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_13, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1239, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1239, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1239, __pyx_L47_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_13); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_13, __pyx_t_1, __pyx_t_5); - __pyx_t_13 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1239, __pyx_L47_except_error) - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L46_exception_handled; - } - __pyx_L47_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - goto __pyx_L35_error; - __pyx_L46_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - __pyx_L50_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1239, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L44; - } - __pyx_L44:; - } - goto __pyx_L54; - __pyx_L41_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L35_error; - __pyx_L54:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1241 - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - * del f # <<<<<<<<<<<<<< - * - * # if drop_handles=False, no copy - */ - __Pyx_TraceLine(1241,0,__PYX_ERR(0, 1241, __pyx_L35_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1241, __pyx_L35_error) } - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1244 - * - * # if drop_handles=False, no copy - * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) # <<<<<<<<<<<<<< - * - * with pytest.raises(pickle.PicklingError): - */ - __Pyx_TraceLine(1244,0,__PYX_ERR(0, 1244, __pyx_L35_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1244, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1244, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - if (PyDict_SetItem(__pyx_t_13, __pyx_n_s_drop_handles, Py_False) < 0) __PYX_ERR(0, 1244, __pyx_L35_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1244, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF_SET(__pyx_v_gzf, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1246 - * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) - * - * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< - * gzf_copy = cp.deepcopy(gzf) - * gzf.close() - */ - __Pyx_TraceLine(1246,0,__PYX_ERR(0, 1246, __pyx_L35_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pytest); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1246, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_raises); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1246, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_pickle); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1246, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1246, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1246, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1246, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1246, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1246, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1247 - * - * with pytest.raises(pickle.PicklingError): - * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< - * gzf.close() - * del gzf - */ - __Pyx_TraceLine(1247,0,__PYX_ERR(0, 1247, __pyx_L59_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1247, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1247, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_gzf); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1247, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_gzf_copy, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1246 - * gzf = igzip.IndexedGzipFile(fname, drop_handles=False) - * - * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< - * gzf_copy = cp.deepcopy(gzf) - * gzf.close() - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L64_try_end; - __pyx_L59_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1246, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1246, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1246, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1246, __pyx_L61_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1246, __pyx_L61_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L60_exception_handled; - } - __pyx_L61_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L35_error; - __pyx_L60_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L64_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1246, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L58; - } - __pyx_L58:; - } - goto __pyx_L68; - __pyx_L55_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L35_error; - __pyx_L68:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1248 - * with pytest.raises(pickle.PicklingError): - * gzf_copy = cp.deepcopy(gzf) - * gzf.close() # <<<<<<<<<<<<<< - * del gzf - * - */ - __Pyx_TraceLine(1248,0,__PYX_ERR(0, 1248, __pyx_L35_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1248, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1248, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1249 - * gzf_copy = cp.deepcopy(gzf) - * gzf.close() - * del gzf # <<<<<<<<<<<<<< - * - * # If passed an open filehandle, no copy - */ - __Pyx_TraceLine(1249,0,__PYX_ERR(0, 1249, __pyx_L35_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1252 - * - * # If passed an open filehandle, no copy - * with open(fname, 'rb') as fobj: # <<<<<<<<<<<<<< - * gzf = igzip.IndexedGzipFile(fileobj=fobj) - * with pytest.raises(pickle.PicklingError): - */ - __Pyx_TraceLine(1252,0,__PYX_ERR(0, 1252, __pyx_L35_error)) - /*with:*/ { - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1252, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1252, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1252, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1252, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1252, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __pyx_v_fobj = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1253 - * # If passed an open filehandle, no copy - * with open(fname, 'rb') as fobj: - * gzf = igzip.IndexedGzipFile(fileobj=fobj) # <<<<<<<<<<<<<< - * with pytest.raises(pickle.PicklingError): - * gzf_copy = cp.deepcopy(gzf) - */ - __Pyx_TraceLine(1253,0,__PYX_ERR(0, 1253, __pyx_L73_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_igzip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1253, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1253, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1253, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fileobj, __pyx_v_fobj) < 0) __PYX_ERR(0, 1253, __pyx_L73_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1253, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_gzf = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1254 - * with open(fname, 'rb') as fobj: - * gzf = igzip.IndexedGzipFile(fileobj=fobj) - * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< - * gzf_copy = cp.deepcopy(gzf) - * gzf.close() - */ - __Pyx_TraceLine(1254,0,__PYX_ERR(0, 1254, __pyx_L73_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pytest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_raises); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1254, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pickle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_PicklingError); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1254, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_13); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1254, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1254, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1254, __pyx_L79_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1254, __pyx_L79_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1255 - * gzf = igzip.IndexedGzipFile(fileobj=fobj) - * with pytest.raises(pickle.PicklingError): - * gzf_copy = cp.deepcopy(gzf) # <<<<<<<<<<<<<< - * gzf.close() - * del gzf - */ - __Pyx_TraceLine(1255,0,__PYX_ERR(0, 1255, __pyx_L83_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1255, __pyx_L83_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_deepcopy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1255, __pyx_L83_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_1, __pyx_v_gzf) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_gzf); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1255, __pyx_L83_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF_SET(__pyx_v_gzf_copy, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1254 - * with open(fname, 'rb') as fobj: - * gzf = igzip.IndexedGzipFile(fileobj=fobj) - * with pytest.raises(pickle.PicklingError): # <<<<<<<<<<<<<< - * gzf_copy = cp.deepcopy(gzf) - * gzf.close() - */ - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L88_try_end; - __pyx_L83_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_1) < 0) __PYX_ERR(0, 1254, __pyx_L85_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __pyx_L85_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1254, __pyx_L85_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1254, __pyx_L85_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_13, __pyx_t_1); - __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1254, __pyx_L85_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L84_exception_handled; - } - __pyx_L85_except_error:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - goto __pyx_L73_error; - __pyx_L84_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_L88_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_14) { - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1254, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - goto __pyx_L82; - } - __pyx_L82:; - } - goto __pyx_L92; - __pyx_L79_error:; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L73_error; - __pyx_L92:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1256 - * with pytest.raises(pickle.PicklingError): - * gzf_copy = cp.deepcopy(gzf) - * gzf.close() # <<<<<<<<<<<<<< - * del gzf - * del fobj - */ - __Pyx_TraceLine(1256,0,__PYX_ERR(0, 1256, __pyx_L73_error)) - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1256, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1256, __pyx_L73_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1257 - * gzf_copy = cp.deepcopy(gzf) - * gzf.close() - * del gzf # <<<<<<<<<<<<<< - * del fobj - * - */ - __Pyx_TraceLine(1257,0,__PYX_ERR(0, 1257, __pyx_L73_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1252 - * - * # If passed an open filehandle, no copy - * with open(fname, 'rb') as fobj: # <<<<<<<<<<<<<< - * gzf = igzip.IndexedGzipFile(fileobj=fobj) - * with pytest.raises(pickle.PicklingError): - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L78_try_end; - __pyx_L73_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_13, &__pyx_t_5) < 0) __PYX_ERR(0, 1252, __pyx_L75_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1252, __pyx_L75_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1252, __pyx_L75_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1252, __pyx_L75_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_13, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_13 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1252, __pyx_L75_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L74_exception_handled; - } - __pyx_L75_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - goto __pyx_L35_error; - __pyx_L74_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - __pyx_L78_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1252, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L72; - } - __pyx_L72:; - } - goto __pyx_L96; - __pyx_L69_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L35_error; - __pyx_L96:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1258 - * gzf.close() - * del gzf - * del fobj # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1258,0,__PYX_ERR(0, 1258, __pyx_L35_error)) - if (unlikely(!__pyx_v_fobj)) { __Pyx_RaiseUnboundLocalError("fobj"); __PYX_ERR(0, 1258, __pyx_L35_error) } - __Pyx_DECREF(__pyx_v_fobj); - __pyx_v_fobj = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1237 - * del gzf_copy2 - * - * with tempdir(): # <<<<<<<<<<<<<< - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L40_try_end; - __pyx_L35_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_13, &__pyx_t_1) < 0) __PYX_ERR(0, 1237, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1237, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1237, __pyx_L37_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_13, __pyx_t_1); - __pyx_t_5 = 0; __pyx_t_13 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1237, __pyx_L37_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L36_exception_handled; - } - __pyx_L37_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - goto __pyx_L1_error; - __pyx_L36_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - __pyx_L40_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - goto __pyx_L34; - } - __pyx_L34:; - } - goto __pyx_L100; - __pyx_L31_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L100:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 - * - * - * def test_copyable(): # <<<<<<<<<<<<<< - * fname = 'test.gz' - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_copyable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_gzf); - __Pyx_XDECREF(__pyx_v_gzf_copy); - __Pyx_XDECREF(__pyx_v_first50MB); - __Pyx_XDECREF(__pyx_v_gzf_copy2); - __Pyx_XDECREF(__pyx_v_second50MB); - __Pyx_XDECREF(__pyx_v_fobj); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 - * - * - * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< - * gzf.seek(offset) - * bytes = gzf.read(size) - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc = {"_mpfunc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_gzf = 0; - PyObject *__pyx_v_size = 0; - PyObject *__pyx_v_offset = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_mpfunc (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_gzf,&__pyx_n_s_size,&__pyx_n_s_offset,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_gzf)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, 1); __PYX_ERR(0, 1261, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_offset)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, 2); __PYX_ERR(0, 1261, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_mpfunc") < 0)) __PYX_ERR(0, 1261, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_gzf = values[0]; - __pyx_v_size = values[1]; - __pyx_v_offset = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_mpfunc", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1261, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip._mpfunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(__pyx_self, __pyx_v_gzf, __pyx_v_size, __pyx_v_offset); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_76_mpfunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_gzf, PyObject *__pyx_v_size, PyObject *__pyx_v_offset) { - PyObject *__pyx_v_bytes = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__84) - __Pyx_RefNannySetupContext("_mpfunc", 0); - __Pyx_TraceCall("_mpfunc", __pyx_f[0], 1261, 0, __PYX_ERR(0, 1261, __pyx_L1_error)); - __Pyx_INCREF(__pyx_v_gzf); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1262 - * - * def _mpfunc(gzf, size, offset): - * gzf.seek(offset) # <<<<<<<<<<<<<< - * bytes = gzf.read(size) - * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) - */ - __Pyx_TraceLine(1262,0,__PYX_ERR(0, 1262, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_offset) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_offset); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1263 - * def _mpfunc(gzf, size, offset): - * gzf.seek(offset) - * bytes = gzf.read(size) # <<<<<<<<<<<<<< - * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) - * gzf.close() - */ - __Pyx_TraceLine(1263,0,__PYX_ERR(0, 1263, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_read); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_size) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_size); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_bytes = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1264 - * gzf.seek(offset) - * bytes = gzf.read(size) - * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) # <<<<<<<<<<<<<< - * gzf.close() - * del gzf - */ - __Pyx_TraceLine(1264,0,__PYX_ERR(0, 1264, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_v_size, __pyx_int_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint32); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); - __pyx_t_3 = 0; - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_buffer, __pyx_v_bytes) < 0) __PYX_ERR(0, 1264, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_val = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1265 - * bytes = gzf.read(size) - * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) - * gzf.close() # <<<<<<<<<<<<<< - * del gzf - * return val.sum() - */ - __Pyx_TraceLine(1265,0,__PYX_ERR(0, 1265, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1266 - * val = np.ndarray(int(size / 4), np.uint32, buffer=bytes) - * gzf.close() - * del gzf # <<<<<<<<<<<<<< - * return val.sum() - * - */ - __Pyx_TraceLine(1266,0,__PYX_ERR(0, 1266, __pyx_L1_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1267 - * gzf.close() - * del gzf - * return val.sum() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1267,0,__PYX_ERR(0, 1267, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_val, __pyx_n_s_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1267, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __pyx_t_3; - __pyx_t_3 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 - * - * - * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< - * gzf.seek(offset) - * bytes = gzf.read(size) - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip._mpfunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_bytes); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XDECREF(__pyx_v_gzf); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 - * - * - * def test_multiproc_serialise(): # <<<<<<<<<<<<<< - * fname = 'test.gz' - * with tempdir(): - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise = {"test_multiproc_serialise", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_multiproc_serialise (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_multiproc_serialise(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_78test_multiproc_serialise(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_fname = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_gzf = NULL; - PyObject *__pyx_v_size = NULL; - PyObject *__pyx_v_offsets = NULL; - PyObject *__pyx_v_func = NULL; - PyObject *__pyx_v_pool = NULL; - PyObject *__pyx_v_results = NULL; - PyObject *__pyx_v_expected = NULL; - PyObject *__pyx_v_off = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - int __pyx_t_17; - Py_ssize_t __pyx_t_18; - PyObject *__pyx_t_19 = NULL; - PyObject *(*__pyx_t_20)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__85) - __Pyx_RefNannySetupContext("test_multiproc_serialise", 0); - __Pyx_TraceCall("test_multiproc_serialise", __pyx_f[0], 1270, 0, __PYX_ERR(0, 1270, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1271 - * - * def test_multiproc_serialise(): - * fname = 'test.gz' # <<<<<<<<<<<<<< - * with tempdir(): - * - */ - __Pyx_TraceLine(1271,0,__PYX_ERR(0, 1271, __pyx_L1_error)) - __Pyx_INCREF(__pyx_kp_s_test_gz); - __pyx_v_fname = __pyx_kp_s_test_gz; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1272 - * def test_multiproc_serialise(): - * fname = 'test.gz' - * with tempdir(): # <<<<<<<<<<<<<< - * - * data = np.arange(10000000, dtype=np.uint32) - */ - __Pyx_TraceLine(1272,0,__PYX_ERR(0, 1272, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1272, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1272, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1274 - * with tempdir(): - * - * data = np.arange(10000000, dtype=np.uint32) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(1274,0,__PYX_ERR(0, 1274, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1274, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1274, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1274, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1274, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1274, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__86, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1274, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1275 - * - * data = np.arange(10000000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * del f - */ - __Pyx_TraceLine(1275,0,__PYX_ERR(0, 1275, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1275, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_fname, __pyx_n_s_wb}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - { - __pyx_t_3 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_fname); - __Pyx_GIVEREF(__pyx_v_fname); - PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_9, __pyx_v_fname); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_9, __pyx_n_s_wb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1275, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_f = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1276 - * data = np.arange(10000000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * del f - * - */ - __Pyx_TraceLine(1276,0,__PYX_ERR(0, 1276, __pyx_L17_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1276, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1276, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1276, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1276, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1275 - * - * data = np.arange(10000000, dtype=np.uint32) - * with gzip.open(fname, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * del f - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 1275, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1275, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1275, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1275, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1275, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1275, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1277 - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - * del f # <<<<<<<<<<<<<< - * - * gzf = igzip.IndexedGzipFile(fname) - */ - __Pyx_TraceLine(1277,0,__PYX_ERR(0, 1277, __pyx_L7_error)) - if (unlikely(!__pyx_v_f)) { __Pyx_RaiseUnboundLocalError("f"); __PYX_ERR(0, 1277, __pyx_L7_error) } - __Pyx_DECREF(__pyx_v_f); - __pyx_v_f = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1279 - * del f - * - * gzf = igzip.IndexedGzipFile(fname) # <<<<<<<<<<<<<< - * - * size = len(data) / 16 - */ - __Pyx_TraceLine(1279,0,__PYX_ERR(0, 1279, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1279, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1279, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fname); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1279, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_gzf = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1281 - * gzf = igzip.IndexedGzipFile(fname) - * - * size = len(data) / 16 # <<<<<<<<<<<<<< - * offsets = np.arange(0, len(data), size) - * func = ft.partial(_mpfunc, gzf, size * 4) - */ - __Pyx_TraceLine(1281,0,__PYX_ERR(0, 1281, __pyx_L7_error)) - __pyx_t_18 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1281, __pyx_L7_error) - __pyx_t_2 = PyInt_FromSsize_t(__Pyx_div_Py_ssize_t(__pyx_t_18, 16)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1281, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_size = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1282 - * - * size = len(data) / 16 - * offsets = np.arange(0, len(data), size) # <<<<<<<<<<<<<< - * func = ft.partial(_mpfunc, gzf, size * 4) - * - */ - __Pyx_TraceLine(1282,0,__PYX_ERR(0, 1282, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1282, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_18 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_18 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1282, __pyx_L7_error) - __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_t_3, __pyx_v_size}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_0, __pyx_t_3, __pyx_v_size}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_14 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1282, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_9, __pyx_int_0); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_9, __pyx_t_3); - __Pyx_INCREF(__pyx_v_size); - __Pyx_GIVEREF(__pyx_v_size); - PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_9, __pyx_v_size); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_offsets = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1283 - * size = len(data) / 16 - * offsets = np.arange(0, len(data), size) - * func = ft.partial(_mpfunc, gzf, size * 4) # <<<<<<<<<<<<<< - * - * pool = mp.Pool(8) - */ - __Pyx_TraceLine(1283,0,__PYX_ERR(0, 1283, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ft); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1283, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_partial); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1283, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_mpfunc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1283, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyNumber_Multiply(__pyx_v_size, __pyx_int_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1283, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_14)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_5, __pyx_v_gzf, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1283, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { - PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_5, __pyx_v_gzf, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1283, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_19 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1283, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_9, __pyx_t_5); - __Pyx_INCREF(__pyx_v_gzf); - __Pyx_GIVEREF(__pyx_v_gzf); - PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_9, __pyx_v_gzf); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_9, __pyx_t_3); - __pyx_t_5 = 0; - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_19, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1283, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_v_func = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1285 - * func = ft.partial(_mpfunc, gzf, size * 4) - * - * pool = mp.Pool(8) # <<<<<<<<<<<<<< - * results = pool.map(func, offsets * 4) - * pool.close() - */ - __Pyx_TraceLine(1285,0,__PYX_ERR(0, 1285, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_mp); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1285, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_Pool); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1285, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - } - } - __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_19, __pyx_t_14, __pyx_int_8) : __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_int_8); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1285, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_v_pool = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1286 - * - * pool = mp.Pool(8) - * results = pool.map(func, offsets * 4) # <<<<<<<<<<<<<< - * pool.close() - * pool.join() - */ - __Pyx_TraceLine(1286,0,__PYX_ERR(0, 1286, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_map); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1286, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_14 = PyNumber_Multiply(__pyx_v_offsets, __pyx_int_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1286, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_func, __pyx_t_14}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1286, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_func, __pyx_t_14}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1286, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } else - #endif - { - __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1286, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_func); - __Pyx_GIVEREF(__pyx_v_func); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_func); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1286, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_v_results = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1287 - * pool = mp.Pool(8) - * results = pool.map(func, offsets * 4) - * pool.close() # <<<<<<<<<<<<<< - * pool.join() - * gzf.close() - */ - __Pyx_TraceLine(1287,0,__PYX_ERR(0, 1287, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_close); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1287, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1287, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1288 - * results = pool.map(func, offsets * 4) - * pool.close() - * pool.join() # <<<<<<<<<<<<<< - * gzf.close() - * del gzf - */ - __Pyx_TraceLine(1288,0,__PYX_ERR(0, 1288, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_pool, __pyx_n_s_join); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1288, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1288, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1289 - * pool.close() - * pool.join() - * gzf.close() # <<<<<<<<<<<<<< - * del gzf - * del pool - */ - __Pyx_TraceLine(1289,0,__PYX_ERR(0, 1289, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_gzf, __pyx_n_s_close); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1289, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1289, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1290 - * pool.join() - * gzf.close() - * del gzf # <<<<<<<<<<<<<< - * del pool - * - */ - __Pyx_TraceLine(1290,0,__PYX_ERR(0, 1290, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_gzf); - __pyx_v_gzf = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1291 - * gzf.close() - * del gzf - * del pool # <<<<<<<<<<<<<< - * - * expected = [data[off:off+size].sum() for off in offsets] - */ - __Pyx_TraceLine(1291,0,__PYX_ERR(0, 1291, __pyx_L7_error)) - __Pyx_DECREF(__pyx_v_pool); - __pyx_v_pool = NULL; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1293 - * del pool - * - * expected = [data[off:off+size].sum() for off in offsets] # <<<<<<<<<<<<<< - * - * assert results == expected - */ - __Pyx_TraceLine(1293,0,__PYX_ERR(0, 1293, __pyx_L7_error)) - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - if (likely(PyList_CheckExact(__pyx_v_offsets)) || PyTuple_CheckExact(__pyx_v_offsets)) { - __pyx_t_19 = __pyx_v_offsets; __Pyx_INCREF(__pyx_t_19); __pyx_t_18 = 0; - __pyx_t_20 = NULL; - } else { - __pyx_t_18 = -1; __pyx_t_19 = PyObject_GetIter(__pyx_v_offsets); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_20 = Py_TYPE(__pyx_t_19)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1293, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_20)) { - if (likely(PyList_CheckExact(__pyx_t_19))) { - if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_19)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_5); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 1293, __pyx_L7_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } else { - if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_19)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_5); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 1293, __pyx_L7_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } - } else { - __pyx_t_5 = __pyx_t_20(__pyx_t_19); - if (unlikely(!__pyx_t_5)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1293, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_14 = PyNumber_Add(__pyx_v_off, __pyx_v_size); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_data, 0, 0, &__pyx_v_off, &__pyx_t_14, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1293, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_v_expected = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1295 - * expected = [data[off:off+size].sum() for off in offsets] - * - * assert results == expected # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1295,0,__PYX_ERR(0, 1295, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = PyObject_RichCompare(__pyx_v_results, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __pyx_L7_error) - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1295, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1295, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1272 - * def test_multiproc_serialise(): - * fname = 'test.gz' - * with tempdir(): # <<<<<<<<<<<<<< - * - * data = np.arange(10000000, dtype=np.uint32) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_19, &__pyx_t_5) < 0) __PYX_ERR(0, 1272, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_19); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_19, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1272, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1272, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1272, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_19, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_19 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1272, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1272, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L32; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L32:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 - * - * - * def test_multiproc_serialise(): # <<<<<<<<<<<<<< - * fname = 'test.gz' - * with tempdir(): - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_fname); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_gzf); - __Pyx_XDECREF(__pyx_v_size); - __Pyx_XDECREF(__pyx_v_offsets); - __Pyx_XDECREF(__pyx_v_func); - __Pyx_XDECREF(__pyx_v_pool); - __Pyx_XDECREF(__pyx_v_results); - __Pyx_XDECREF(__pyx_v_expected); - __Pyx_XDECREF(__pyx_v_off); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 - * - * - * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< - * with tempdir(): - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow = {"test_32bit_overflow", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_niters = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_32bit_overflow (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_niters,&__pyx_n_s_seed,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_32bit_overflow", 1, 2, 2, 1); __PYX_ERR(0, 1298, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_32bit_overflow") < 0)) __PYX_ERR(0, 1298, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_niters = values[0]; - __pyx_v_seed = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_32bit_overflow", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1298, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bit_overflow(__pyx_self, __pyx_v_niters, __pyx_v_seed); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_18ctest_indexed_gzip_80test_32bit_overflow(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed) { - PyObject *__pyx_v_block = NULL; - PyObject *__pyx_v_nelems = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_seekelems = NULL; - PyObject *__pyx_v_testval = NULL; - PyObject *__pyx_v_readval = NULL; - PyObject *__pyx_v_ft = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - long __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - int __pyx_t_18; - int __pyx_t_19; - Py_ssize_t __pyx_t_20; - PyObject *(*__pyx_t_21)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__87) - __Pyx_RefNannySetupContext("test_32bit_overflow", 0); - __Pyx_TraceCall("test_32bit_overflow", __pyx_f[0], 1298, 0, __PYX_ERR(0, 1298, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1299 - * - * def test_32bit_overflow(niters, seed): - * with tempdir(): # <<<<<<<<<<<<<< - * - * block = 2 ** 24 # 128MB - */ - __Pyx_TraceLine(1299,0,__PYX_ERR(0, 1299, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1299, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1299, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1301 - * with tempdir(): - * - * block = 2 ** 24 # 128MB # <<<<<<<<<<<<<< - * nelems = block * 48 # 6GB - * - */ - __Pyx_TraceLine(1301,0,__PYX_ERR(0, 1301, __pyx_L7_error)) - __Pyx_INCREF(__pyx_int_16777216); - __pyx_v_block = __pyx_int_16777216; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1302 - * - * block = 2 ** 24 # 128MB - * nelems = block * 48 # 6GB # <<<<<<<<<<<<<< - * - * data = np.ones(block, dtype=np.uint64).tobytes() - */ - __Pyx_TraceLine(1302,0,__PYX_ERR(0, 1302, __pyx_L7_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_block, __pyx_int_48); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_nelems = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1304 - * nelems = block * 48 # 6GB - * - * data = np.ones(block, dtype=np.uint64).tobytes() # <<<<<<<<<<<<<< - * - * with gzip.open('test.gz', 'wb') as f: - */ - __Pyx_TraceLine(1304,0,__PYX_ERR(0, 1304, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_block); - __Pyx_GIVEREF(__pyx_v_block); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_block); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_uint64); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_10) < 0) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1304, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1306 - * data = np.ones(block, dtype=np.uint64).tobytes() - * - * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< - * for i in range(48): - * print('Generated to {}...'.format(block * i)) - */ - __Pyx_TraceLine(1306,0,__PYX_ERR(0, 1306, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1306, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1306, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1306, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1306, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1306, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1306, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __pyx_v_f = __pyx_t_10; - __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1307 - * - * with gzip.open('test.gz', 'wb') as f: - * for i in range(48): # <<<<<<<<<<<<<< - * print('Generated to {}...'.format(block * i)) - * f.write(data) - */ - __Pyx_TraceLine(1307,0,__PYX_ERR(0, 1307, __pyx_L17_error)) - for (__pyx_t_15 = 0; __pyx_t_15 < 48; __pyx_t_15+=1) { - __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_t_15); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1307, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_10); - __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1308 - * with gzip.open('test.gz', 'wb') as f: - * for i in range(48): - * print('Generated to {}...'.format(block * i)) # <<<<<<<<<<<<<< - * f.write(data) - * - */ - __Pyx_TraceLine(1308,0,__PYX_ERR(0, 1308, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Generated_to, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyNumber_Multiply(__pyx_v_block, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1308, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_10 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1308, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1308, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1309 - * for i in range(48): - * print('Generated to {}...'.format(block * i)) - * f.write(data) # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename='test.gz') as f: - */ - __Pyx_TraceLine(1309,0,__PYX_ERR(0, 1309, __pyx_L17_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1309, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_5, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_data); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1306 - * data = np.ones(block, dtype=np.uint64).tobytes() - * - * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< - * for i in range(48): - * print('Generated to {}...'.format(block * i)) - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(0, 1306, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1306, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1306, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1306, __pyx_L19_except_error) - __pyx_t_18 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_10, __pyx_t_5); - __pyx_t_1 = 0; __pyx_t_10 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1306, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1306, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L28; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L28:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1311 - * f.write(data) - * - * with igzip._IndexedGzipFile(filename='test.gz') as f: # <<<<<<<<<<<<<< - * - * seekelems = np.random.randint(0, nelems, niters) - */ - __Pyx_TraceLine(1311,0,__PYX_ERR(0, 1311, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_igzip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_IndexedGzipFile); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1311, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_filename, __pyx_kp_s_test_gz) < 0) __PYX_ERR(0, 1311, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1311, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1311, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1311, __pyx_L29_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L29_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_13, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_10); - __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1313 - * with igzip._IndexedGzipFile(filename='test.gz') as f: - * - * seekelems = np.random.randint(0, nelems, niters) # <<<<<<<<<<<<<< - * - * for i, testval in enumerate(seekelems): - */ - __Pyx_TraceLine(1313,0,__PYX_ERR(0, 1313, __pyx_L33_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1313, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1313, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1313, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_19 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_19 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_19, 3+__pyx_t_19); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1313, __pyx_L33_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_10); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_19, 3+__pyx_t_19); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1313, __pyx_L33_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_10); - } else - #endif - { - __pyx_t_2 = PyTuple_New(3+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1313, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_19, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_19, __pyx_v_nelems); - __Pyx_INCREF(__pyx_v_niters); - __Pyx_GIVEREF(__pyx_v_niters); - PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_19, __pyx_v_niters); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1313, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_seekelems = __pyx_t_10; - __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1315 - * seekelems = np.random.randint(0, nelems, niters) - * - * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< - * - * readval = read_element(f, testval) - */ - __Pyx_TraceLine(1315,0,__PYX_ERR(0, 1315, __pyx_L33_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_t_10 = __pyx_int_0; - if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { - __pyx_t_1 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_1); __pyx_t_20 = 0; - __pyx_t_21 = NULL; - } else { - __pyx_t_20 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1315, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_21 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1315, __pyx_L33_error) - } - for (;;) { - if (likely(!__pyx_t_21)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1315, __pyx_L33_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1315, __pyx_L33_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_21(__pyx_t_1); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1315, __pyx_L33_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XDECREF_SET(__pyx_v_testval, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_t_10); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_10); - __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_10, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_10); - __pyx_t_10 = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1317 - * for i, testval in enumerate(seekelems): - * - * readval = read_element(f, testval) # <<<<<<<<<<<<<< - * - * ft = f.tell() - */ - __Pyx_TraceLine(1317,0,__PYX_ERR(0, 1317, __pyx_L33_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_read_element); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1317, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - __pyx_t_19 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_19 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f, __pyx_v_testval}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L33_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_f, __pyx_v_testval}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_19, 2+__pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L33_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_9 = PyTuple_New(2+__pyx_t_19); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1317, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_9); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_f); - __Pyx_GIVEREF(__pyx_v_f); - PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_19, __pyx_v_f); - __Pyx_INCREF(__pyx_v_testval); - __Pyx_GIVEREF(__pyx_v_testval); - PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_19, __pyx_v_testval); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_readval, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1319 - * readval = read_element(f, testval) - * - * ft = f.tell() # <<<<<<<<<<<<<< - * - * assert ft == int(testval + 1) * 8 - */ - __Pyx_TraceLine(1319,0,__PYX_ERR(0, 1319, __pyx_L33_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1319, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1319, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_ft, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1321 - * ft = f.tell() - * - * assert ft == int(testval + 1) * 8 # <<<<<<<<<<<<<< - * assert readval == 1 - */ - __Pyx_TraceLine(1321,0,__PYX_ERR(0, 1321, __pyx_L33_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_testval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1321, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1321, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Multiply(__pyx_t_5, __pyx_int_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1321, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_v_ft, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1321, __pyx_L33_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1321, __pyx_L33_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_18)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1321, __pyx_L33_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1322 - * - * assert ft == int(testval + 1) * 8 - * assert readval == 1 # <<<<<<<<<<<<<< - */ - __Pyx_TraceLine(1322,0,__PYX_ERR(0, 1322, __pyx_L33_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_readval, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1322, __pyx_L33_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) __PYX_ERR(0, 1322, __pyx_L33_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_18)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1322, __pyx_L33_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1315 - * seekelems = np.random.randint(0, nelems, niters) - * - * for i, testval in enumerate(seekelems): # <<<<<<<<<<<<<< - * - * readval = read_element(f, testval) - */ - __Pyx_TraceLine(1315,0,__PYX_ERR(0, 1315, __pyx_L33_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1311 - * f.write(data) - * - * with igzip._IndexedGzipFile(filename='test.gz') as f: # <<<<<<<<<<<<<< - * - * seekelems = np.random.randint(0, nelems, niters) - */ - } - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L38_try_end; - __pyx_L33_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 1311, __pyx_L35_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_10, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1311, __pyx_L35_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1311, __pyx_L35_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_18 < 0) __PYX_ERR(0, 1311, __pyx_L35_except_error) - __pyx_t_17 = ((!(__pyx_t_18 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_10, __pyx_t_1, __pyx_t_5); - __pyx_t_10 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 1311, __pyx_L35_except_error) - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L34_exception_handled; - } - __pyx_L35_except_error:; - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12); - goto __pyx_L7_error; - __pyx_L34_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_13, __pyx_t_12); - __pyx_L38_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1311, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L32; - } - __pyx_L32:; - } - goto __pyx_L44; - __pyx_L29_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L7_error; - __pyx_L44:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1299 - * - * def test_32bit_overflow(niters, seed): - * with tempdir(): # <<<<<<<<<<<<<< - * - * block = 2 ** 24 # 128MB - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_10) < 0) __PYX_ERR(0, 1299, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1299, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1299, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1299, __pyx_L9_except_error) - __pyx_t_18 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_10); - __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_10 = 0; - __PYX_ERR(0, 1299, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__24, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1299, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L48; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L48:; - } - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 - * - * - * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< - * with tempdir(): - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_indexed_gzip.test_32bit_overflow", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_block); - __Pyx_XDECREF(__pyx_v_nelems); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_seekelems); - __Pyx_XDECREF(__pyx_v_testval); - __Pyx_XDECREF(__pyx_v_readval); - __Pyx_XDECREF(__pyx_v_ft); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *__pyx_freelist_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto[8]; -static int __pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto = 0; - -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto)))) { - o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto[--__pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto]; - memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyObject *o) { - struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *p = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)o; - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_lines); - if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto)))) { - __pyx_freelist_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto[__pyx_freecount_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto++] = ((struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)o); - } else { - (*Py_TYPE(o)->tp_free)(o); - } -} - -static int __pyx_tp_traverse_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *p = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)o; - if (p->__pyx_v_lines) { - e = (*v)(p->__pyx_v_lines, a); if (e) return e; - } - return 0; -} - -static int __pyx_tp_clear_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto(PyObject *o) { - PyObject* tmp; - struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *p = (struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto *)o; - tmp = ((PyObject*)p->__pyx_v_lines); - p->__pyx_v_lines = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; -} - -static PyTypeObject __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.tests.ctest_indexed_gzip.__pyx_scope_struct__test_readinto", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, /*tp_traverse*/ - __pyx_tp_clear_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_ctest_indexed_gzip(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_ctest_indexed_gzip}, - {0, NULL} -}; -#endif - -static struct PyModuleDef __pyx_moduledef = { - PyModuleDef_HEAD_INIT, - "ctest_indexed_gzip", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ -}; -#endif -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif - -static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_b_12345, __pyx_k_12345, sizeof(__pyx_k_12345), 0, 0, 0, 0}, - {&__pyx_kp_s_A_class_for_a_buffer_of_bytes_U, __pyx_k_A_class_for_a_buffer_of_bytes_U, sizeof(__pyx_k_A_class_for_a_buffer_of_bytes_U), 0, 0, 1, 0}, - {&__pyx_kp_s_A_stream_that_gzips_a_file_in_ch, __pyx_k_A_stream_that_gzips_a_file_in_ch, sizeof(__pyx_k_A_stream_that_gzips_a_file_in_ch), 0, 0, 1, 0}, - {&__pyx_n_s_BytesBuffer, __pyx_k_BytesBuffer, sizeof(__pyx_k_BytesBuffer), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer___bool, __pyx_k_BytesBuffer___bool, sizeof(__pyx_k_BytesBuffer___bool), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer___init, __pyx_k_BytesBuffer___init, sizeof(__pyx_k_BytesBuffer___init), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer___len, __pyx_k_BytesBuffer___len, sizeof(__pyx_k_BytesBuffer___len), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer__buf, __pyx_k_BytesBuffer__buf, sizeof(__pyx_k_BytesBuffer__buf), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer__pos, __pyx_k_BytesBuffer__pos, sizeof(__pyx_k_BytesBuffer__pos), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer__size, __pyx_k_BytesBuffer__size, sizeof(__pyx_k_BytesBuffer__size), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer_close, __pyx_k_BytesBuffer_close, sizeof(__pyx_k_BytesBuffer_close), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer_flush, __pyx_k_BytesBuffer_flush, sizeof(__pyx_k_BytesBuffer_flush), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer_peek, __pyx_k_BytesBuffer_peek, sizeof(__pyx_k_BytesBuffer_peek), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer_read, __pyx_k_BytesBuffer_read, sizeof(__pyx_k_BytesBuffer_read), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer_tell, __pyx_k_BytesBuffer_tell, sizeof(__pyx_k_BytesBuffer_tell), 0, 0, 1, 1}, - {&__pyx_n_s_BytesBuffer_write, __pyx_k_BytesBuffer_write, sizeof(__pyx_k_BytesBuffer_write), 0, 0, 1, 1}, - {&__pyx_n_s_BytesIO, __pyx_k_BytesIO, sizeof(__pyx_k_BytesIO), 0, 0, 1, 1}, - {&__pyx_n_s_BytesIOWithMode, __pyx_k_BytesIOWithMode, sizeof(__pyx_k_BytesIOWithMode), 0, 0, 1, 1}, - {&__pyx_n_s_Error, __pyx_k_Error, sizeof(__pyx_k_Error), 0, 0, 1, 1}, - {&__pyx_kp_s_Error_in__fill_buf_bytes, __pyx_k_Error_in__fill_buf_bytes, sizeof(__pyx_k_Error_in__fill_buf_bytes), 0, 0, 1, 0}, - {&__pyx_kp_s_Generated_to, __pyx_k_Generated_to, sizeof(__pyx_k_Generated_to), 0, 0, 1, 0}, - {&__pyx_n_s_GzipFile, __pyx_k_GzipFile, sizeof(__pyx_k_GzipFile), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream, __pyx_k_GzipStream, sizeof(__pyx_k_GzipStream), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream___init, __pyx_k_GzipStream___init, sizeof(__pyx_k_GzipStream___init), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream__buffer, __pyx_k_GzipStream__buffer, sizeof(__pyx_k_GzipStream__buffer), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream__fill_buf_bytes, __pyx_k_GzipStream__fill_buf_bytes, sizeof(__pyx_k_GzipStream__fill_buf_bytes), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream__gzip, __pyx_k_GzipStream__gzip, sizeof(__pyx_k_GzipStream__gzip), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream__input, __pyx_k_GzipStream__input, sizeof(__pyx_k_GzipStream__input), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream__size, __pyx_k_GzipStream__size, sizeof(__pyx_k_GzipStream__size), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream_close, __pyx_k_GzipStream_close, sizeof(__pyx_k_GzipStream_close), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream_peek, __pyx_k_GzipStream_peek, sizeof(__pyx_k_GzipStream_peek), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream_read, __pyx_k_GzipStream_read, sizeof(__pyx_k_GzipStream_read), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream_seekable, __pyx_k_GzipStream_seekable, sizeof(__pyx_k_GzipStream_seekable), 0, 0, 1, 1}, - {&__pyx_n_s_GzipStream_tell, __pyx_k_GzipStream_tell, sizeof(__pyx_k_GzipStream_tell), 0, 0, 1, 1}, - {&__pyx_n_s_IOError, __pyx_k_IOError, sizeof(__pyx_k_IOError), 0, 0, 1, 1}, - {&__pyx_kp_u_In_GzipStream__fill_buf_bytes_nu, __pyx_k_In_GzipStream__fill_buf_bytes_nu, sizeof(__pyx_k_In_GzipStream__fill_buf_bytes_nu), 0, 1, 0, 0}, - {&__pyx_kp_u_In_GzipStream_tell_is_called_sel, __pyx_k_In_GzipStream_tell_is_called_sel, sizeof(__pyx_k_In_GzipStream_tell_is_called_sel), 0, 1, 0, 0}, - {&__pyx_n_s_IndexedGzipFile, __pyx_k_IndexedGzipFile, sizeof(__pyx_k_IndexedGzipFile), 0, 0, 1, 1}, - {&__pyx_n_s_IndexedGzipFile_2, __pyx_k_IndexedGzipFile_2, sizeof(__pyx_k_IndexedGzipFile_2), 0, 0, 1, 1}, - {&__pyx_n_s_NoHandleError, __pyx_k_NoHandleError, sizeof(__pyx_k_NoHandleError), 0, 0, 1, 1}, - {&__pyx_n_s_NotCoveredError, __pyx_k_NotCoveredError, sizeof(__pyx_k_NotCoveredError), 0, 0, 1, 1}, - {&__pyx_n_s_PicklingError, __pyx_k_PicklingError, sizeof(__pyx_k_PicklingError), 0, 0, 1, 1}, - {&__pyx_n_s_Pool, __pyx_k_Pool, sizeof(__pyx_k_Pool), 0, 0, 1, 1}, - {&__pyx_kp_u_Size_changed_to, __pyx_k_Size_changed_to, sizeof(__pyx_k_Size_changed_to), 0, 1, 0, 0}, - {&__pyx_n_s_StopIteration, __pyx_k_StopIteration, sizeof(__pyx_k_StopIteration), 0, 0, 1, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_kp_s__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 0, 1, 0}, - {&__pyx_kp_b__49, __pyx_k__49, sizeof(__pyx_k__49), 0, 0, 0, 0}, - {&__pyx_n_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 1}, - {&__pyx_kp_b__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 0, 0}, - {&__pyx_kp_s__57, __pyx_k__57, sizeof(__pyx_k__57), 0, 0, 1, 0}, - {&__pyx_kp_b__60, __pyx_k__60, sizeof(__pyx_k__60), 0, 0, 0, 0}, - {&__pyx_n_s__89, __pyx_k__89, sizeof(__pyx_k__89), 0, 0, 1, 1}, - {&__pyx_n_s_ab, __pyx_k_ab, sizeof(__pyx_k_ab), 0, 0, 1, 1}, - {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, - {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1}, - {&__pyx_n_s_appendleft, __pyx_k_appendleft, sizeof(__pyx_k_appendleft), 0, 0, 1, 1}, - {&__pyx_n_s_arange, __pyx_k_arange, sizeof(__pyx_k_arange), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_auto_build, __pyx_k_auto_build, sizeof(__pyx_k_auto_build), 0, 0, 1, 1}, - {&__pyx_n_s_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 0, 1, 1}, - {&__pyx_kp_s_bin, __pyx_k_bin, sizeof(__pyx_k_bin), 0, 0, 1, 0}, - {&__pyx_n_s_block, __pyx_k_block, sizeof(__pyx_k_block), 0, 0, 1, 1}, - {&__pyx_n_s_bool, __pyx_k_bool, sizeof(__pyx_k_bool), 0, 0, 1, 1}, - {&__pyx_n_s_buf, __pyx_k_buf, sizeof(__pyx_k_buf), 0, 0, 1, 1}, - {&__pyx_n_s_buffer, __pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 0, 1, 1}, - {&__pyx_n_s_bufsz, __pyx_k_bufsz, sizeof(__pyx_k_bufsz), 0, 0, 1, 1}, - {&__pyx_n_s_build_full_index, __pyx_k_build_full_index, sizeof(__pyx_k_build_full_index), 0, 0, 1, 1}, - {&__pyx_n_s_bytes, __pyx_k_bytes, sizeof(__pyx_k_bytes), 0, 0, 1, 1}, - {&__pyx_n_s_candidates, __pyx_k_candidates, sizeof(__pyx_k_candidates), 0, 0, 1, 1}, - {&__pyx_n_s_ceil, __pyx_k_ceil, sizeof(__pyx_k_ceil), 0, 0, 1, 1}, - {&__pyx_n_s_check_data_valid, __pyx_k_check_data_valid, sizeof(__pyx_k_check_data_valid), 0, 0, 1, 1}, - {&__pyx_n_s_chr, __pyx_k_chr, sizeof(__pyx_k_chr), 0, 0, 1, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_s_closed, __pyx_k_closed, sizeof(__pyx_k_closed), 0, 0, 1, 1}, - {&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1}, - {&__pyx_n_s_compress, __pyx_k_compress, sizeof(__pyx_k_compress), 0, 0, 1, 1}, - {&__pyx_n_s_concat, __pyx_k_concat, sizeof(__pyx_k_concat), 0, 0, 1, 1}, - {&__pyx_n_s_contextlib, __pyx_k_contextlib, sizeof(__pyx_k_contextlib), 0, 0, 1, 1}, - {&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1}, - {&__pyx_n_s_cp, __pyx_k_cp, sizeof(__pyx_k_cp), 0, 0, 1, 1}, - {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, - {&__pyx_n_s_data1, __pyx_k_data1, sizeof(__pyx_k_data1), 0, 0, 1, 1}, - {&__pyx_n_s_data2, __pyx_k_data2, sizeof(__pyx_k_data2), 0, 0, 1, 1}, - {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1}, - {&__pyx_n_s_dedent, __pyx_k_dedent, sizeof(__pyx_k_dedent), 0, 0, 1, 1}, - {&__pyx_n_s_deepcopy, __pyx_k_deepcopy, sizeof(__pyx_k_deepcopy), 0, 0, 1, 1}, - {&__pyx_n_s_del, __pyx_k_del, sizeof(__pyx_k_del), 0, 0, 1, 1}, - {&__pyx_n_s_deque, __pyx_k_deque, sizeof(__pyx_k_deque), 0, 0, 1, 1}, - {&__pyx_n_s_divisor, __pyx_k_divisor, sizeof(__pyx_k_divisor), 0, 0, 1, 1}, - {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, - {&__pyx_n_s_drop, __pyx_k_drop, sizeof(__pyx_k_drop), 0, 0, 1, 1}, - {&__pyx_n_s_drop_handles, __pyx_k_drop_handles, sizeof(__pyx_k_drop_handles), 0, 0, 1, 1}, - {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, - {&__pyx_n_s_dumps, __pyx_k_dumps, sizeof(__pyx_k_dumps), 0, 0, 1, 1}, - {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1}, - {&__pyx_n_s_element, __pyx_k_element, sizeof(__pyx_k_element), 0, 0, 1, 1}, - {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, - {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, - {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1}, - {&__pyx_n_s_eofseeks, __pyx_k_eofseeks, sizeof(__pyx_k_eofseeks), 0, 0, 1, 1}, - {&__pyx_n_s_error_fn, __pyx_k_error_fn, sizeof(__pyx_k_error_fn), 0, 0, 1, 1}, - {&__pyx_n_s_es, __pyx_k_es, sizeof(__pyx_k_es), 0, 0, 1, 1}, - {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, - {&__pyx_n_s_expect, __pyx_k_expect, sizeof(__pyx_k_expect), 0, 0, 1, 1}, - {&__pyx_n_s_expected, __pyx_k_expected, sizeof(__pyx_k_expected), 0, 0, 1, 1}, - {&__pyx_n_s_expected_number_of_seek_points, __pyx_k_expected_number_of_seek_points, sizeof(__pyx_k_expected_number_of_seek_points), 0, 0, 1, 1}, - {&__pyx_n_s_expl, __pyx_k_expl, sizeof(__pyx_k_expl), 0, 0, 1, 1}, - {&__pyx_n_s_export_index, __pyx_k_export_index, sizeof(__pyx_k_export_index), 0, 0, 1, 1}, - {&__pyx_n_s_extend, __pyx_k_extend, sizeof(__pyx_k_extend), 0, 0, 1, 1}, - {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1}, - {&__pyx_n_s_f1, __pyx_k_f1, sizeof(__pyx_k_f1), 0, 0, 1, 1}, - {&__pyx_n_s_f2, __pyx_k_f2, sizeof(__pyx_k_f2), 0, 0, 1, 1}, - {&__pyx_kp_s_f_gz, __pyx_k_f_gz, sizeof(__pyx_k_f_gz), 0, 0, 1, 0}, - {&__pyx_n_s_fid, __pyx_k_fid, sizeof(__pyx_k_fid), 0, 0, 1, 1}, - {&__pyx_n_s_file_like_object, __pyx_k_file_like_object, sizeof(__pyx_k_file_like_object), 0, 0, 1, 1}, - {&__pyx_n_s_filelen, __pyx_k_filelen, sizeof(__pyx_k_filelen), 0, 0, 1, 1}, - {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, - {&__pyx_n_s_fileno, __pyx_k_fileno, sizeof(__pyx_k_fileno), 0, 0, 1, 1}, - {&__pyx_n_s_fileobj, __pyx_k_fileobj, sizeof(__pyx_k_fileobj), 0, 0, 1, 1}, - {&__pyx_n_s_filesize, __pyx_k_filesize, sizeof(__pyx_k_filesize), 0, 0, 1, 1}, - {&__pyx_n_s_fill_buf_bytes, __pyx_k_fill_buf_bytes, sizeof(__pyx_k_fill_buf_bytes), 0, 0, 1, 1}, - {&__pyx_n_s_first50MB, __pyx_k_first50MB, sizeof(__pyx_k_first50MB), 0, 0, 1, 1}, - {&__pyx_n_s_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 0, 0, 1, 1}, - {&__pyx_n_s_fname, __pyx_k_fname, sizeof(__pyx_k_fname), 0, 0, 1, 1}, - {&__pyx_n_s_fobj, __pyx_k_fobj, sizeof(__pyx_k_fobj), 0, 0, 1, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_n_s_frombuffer, __pyx_k_frombuffer, sizeof(__pyx_k_frombuffer), 0, 0, 1, 1}, - {&__pyx_n_s_fsize, __pyx_k_fsize, sizeof(__pyx_k_fsize), 0, 0, 1, 1}, - {&__pyx_n_s_ft, __pyx_k_ft, sizeof(__pyx_k_ft), 0, 0, 1, 1}, - {&__pyx_n_s_func, __pyx_k_func, sizeof(__pyx_k_func), 0, 0, 1, 1}, - {&__pyx_n_s_functools, __pyx_k_functools, sizeof(__pyx_k_functools), 0, 0, 1, 1}, - {&__pyx_n_s_gcd, __pyx_k_gcd, sizeof(__pyx_k_gcd), 0, 0, 1, 1}, - {&__pyx_n_s_gen_test_data, __pyx_k_gen_test_data, sizeof(__pyx_k_gen_test_data), 0, 0, 1, 1}, - {&__pyx_n_s_getsize, __pyx_k_getsize, sizeof(__pyx_k_getsize), 0, 0, 1, 1}, - {&__pyx_n_s_gf, __pyx_k_gf, sizeof(__pyx_k_gf), 0, 0, 1, 1}, - {&__pyx_n_s_gf1, __pyx_k_gf1, sizeof(__pyx_k_gf1), 0, 0, 1, 1}, - {&__pyx_n_s_gf2, __pyx_k_gf2, sizeof(__pyx_k_gf2), 0, 0, 1, 1}, - {&__pyx_n_s_gf3, __pyx_k_gf3, sizeof(__pyx_k_gf3), 0, 0, 1, 1}, - {&__pyx_n_s_gotl, __pyx_k_gotl, sizeof(__pyx_k_gotl), 0, 0, 1, 1}, - {&__pyx_n_s_gotline, __pyx_k_gotline, sizeof(__pyx_k_gotline), 0, 0, 1, 1}, - {&__pyx_n_s_gotlines, __pyx_k_gotlines, sizeof(__pyx_k_gotlines), 0, 0, 1, 1}, - {&__pyx_n_s_gzf, __pyx_k_gzf, sizeof(__pyx_k_gzf), 0, 0, 1, 1}, - {&__pyx_n_s_gzf1, __pyx_k_gzf1, sizeof(__pyx_k_gzf1), 0, 0, 1, 1}, - {&__pyx_n_s_gzf2, __pyx_k_gzf2, sizeof(__pyx_k_gzf2), 0, 0, 1, 1}, - {&__pyx_n_s_gzf3, __pyx_k_gzf3, sizeof(__pyx_k_gzf3), 0, 0, 1, 1}, - {&__pyx_n_s_gzf_copy, __pyx_k_gzf_copy, sizeof(__pyx_k_gzf_copy), 0, 0, 1, 1}, - {&__pyx_n_s_gzf_copy2, __pyx_k_gzf_copy2, sizeof(__pyx_k_gzf_copy2), 0, 0, 1, 1}, - {&__pyx_n_s_gzip, __pyx_k_gzip, sizeof(__pyx_k_gzip), 0, 0, 1, 1}, - {&__pyx_n_s_hashlib, __pyx_k_hashlib, sizeof(__pyx_k_hashlib), 0, 0, 1, 1}, - {&__pyx_kp_b_hello_world, __pyx_k_hello_world, sizeof(__pyx_k_hello_world), 0, 0, 0, 0}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_idx, __pyx_k_idx, sizeof(__pyx_k_idx), 0, 0, 1, 1}, - {&__pyx_n_s_idxf, __pyx_k_idxf, sizeof(__pyx_k_idxf), 0, 0, 1, 1}, - {&__pyx_n_s_idxfname, __pyx_k_idxfname, sizeof(__pyx_k_idxfname), 0, 0, 1, 1}, - {&__pyx_n_s_igzip, __pyx_k_igzip, sizeof(__pyx_k_igzip), 0, 0, 1, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_import_index, __pyx_k_import_index, sizeof(__pyx_k_import_index), 0, 0, 1, 1}, - {&__pyx_n_s_index_file, __pyx_k_index_file, sizeof(__pyx_k_index_file), 0, 0, 1, 1}, - {&__pyx_n_s_indexed_gzip, __pyx_k_indexed_gzip, sizeof(__pyx_k_indexed_gzip), 0, 0, 1, 1}, - {&__pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_k_indexed_gzip_tests_ctest_indexed, sizeof(__pyx_k_indexed_gzip_tests_ctest_indexed), 0, 0, 1, 1}, - {&__pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_k_indexed_gzip_tests_ctest_indexed_2, sizeof(__pyx_k_indexed_gzip_tests_ctest_indexed_2), 0, 0, 1, 0}, - {&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1}, - {&__pyx_n_u_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 1, 0, 1}, - {&__pyx_n_s_io, __pyx_k_io, sizeof(__pyx_k_io), 0, 0, 1, 1}, - {&__pyx_n_s_it, __pyx_k_it, sizeof(__pyx_k_it), 0, 0, 1, 1}, - {&__pyx_n_s_itertools, __pyx_k_itertools, sizeof(__pyx_k_itertools), 0, 0, 1, 1}, - {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1}, - {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, - {&__pyx_n_s_l, __pyx_k_l, sizeof(__pyx_k_l), 0, 0, 1, 1}, - {&__pyx_n_s_len, __pyx_k_len, sizeof(__pyx_k_len), 0, 0, 1, 1}, - {&__pyx_kp_u_length_of_buffer, __pyx_k_length_of_buffer, sizeof(__pyx_k_length_of_buffer), 0, 1, 0, 0}, - {&__pyx_n_s_lim, __pyx_k_lim, sizeof(__pyx_k_lim), 0, 0, 1, 1}, - {&__pyx_n_s_limits, __pyx_k_limits, sizeof(__pyx_k_limits), 0, 0, 1, 1}, - {&__pyx_n_s_line, __pyx_k_line, sizeof(__pyx_k_line), 0, 0, 1, 1}, - {&__pyx_kp_s_line_1_line_2_this_is_line_3_li, __pyx_k_line_1_line_2_this_is_line_3_li, sizeof(__pyx_k_line_1_line_2_this_is_line_3_li), 0, 0, 1, 0}, - {&__pyx_n_s_line_offset, __pyx_k_line_offset, sizeof(__pyx_k_line_offset), 0, 0, 1, 1}, - {&__pyx_kp_s_line_one, __pyx_k_line_one, sizeof(__pyx_k_line_one), 0, 0, 1, 0}, - {&__pyx_kp_s_line_two, __pyx_k_line_two, sizeof(__pyx_k_line_two), 0, 0, 1, 0}, - {&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1}, - {&__pyx_kp_b_lo_world, __pyx_k_lo_world, sizeof(__pyx_k_lo_world), 0, 0, 0, 0}, - {&__pyx_n_s_loads, __pyx_k_loads, sizeof(__pyx_k_loads), 0, 0, 1, 1}, - {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_map, __pyx_k_map, sizeof(__pyx_k_map), 0, 0, 1, 1}, - {&__pyx_n_s_memoryview, __pyx_k_memoryview, sizeof(__pyx_k_memoryview), 0, 0, 1, 1}, - {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, - {&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1}, - {&__pyx_n_s_modes, __pyx_k_modes, sizeof(__pyx_k_modes), 0, 0, 1, 1}, - {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, - {&__pyx_n_s_mp, __pyx_k_mp, sizeof(__pyx_k_mp), 0, 0, 1, 1}, - {&__pyx_n_s_mpfunc, __pyx_k_mpfunc, sizeof(__pyx_k_mpfunc), 0, 0, 1, 1}, - {&__pyx_n_s_multiprocessing, __pyx_k_multiprocessing, sizeof(__pyx_k_multiprocessing), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_n_s_nbytes, __pyx_k_nbytes, sizeof(__pyx_k_nbytes), 0, 0, 1, 1}, - {&__pyx_n_s_ndarray, __pyx_k_ndarray, sizeof(__pyx_k_ndarray), 0, 0, 1, 1}, - {&__pyx_n_s_nelems, __pyx_k_nelems, sizeof(__pyx_k_nelems), 0, 0, 1, 1}, - {&__pyx_n_s_niters, __pyx_k_niters, sizeof(__pyx_k_niters), 0, 0, 1, 1}, - {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, - {&__pyx_n_s_num, __pyx_k_num, sizeof(__pyx_k_num), 0, 0, 1, 1}, - {&__pyx_n_s_num_bytes, __pyx_k_num_bytes, sizeof(__pyx_k_num_bytes), 0, 0, 1, 1}, - {&__pyx_kp_u_num_bytes_was, __pyx_k_num_bytes_was, sizeof(__pyx_k_num_bytes_was), 0, 1, 0, 0}, - {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, - {&__pyx_n_s_off, __pyx_k_off, sizeof(__pyx_k_off), 0, 0, 1, 1}, - {&__pyx_n_s_offset, __pyx_k_offset, sizeof(__pyx_k_offset), 0, 0, 1, 1}, - {&__pyx_n_s_offsets, __pyx_k_offsets, sizeof(__pyx_k_offsets), 0, 0, 1, 1}, - {&__pyx_n_s_ones, __pyx_k_ones, sizeof(__pyx_k_ones), 0, 0, 1, 1}, - {&__pyx_n_s_op, __pyx_k_op, sizeof(__pyx_k_op), 0, 0, 1, 1}, - {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1}, - {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, - {&__pyx_n_s_os_path, __pyx_k_os_path, sizeof(__pyx_k_os_path), 0, 0, 1, 1}, - {&__pyx_n_s_partial, __pyx_k_partial, sizeof(__pyx_k_partial), 0, 0, 1, 1}, - {&__pyx_n_s_peek, __pyx_k_peek, sizeof(__pyx_k_peek), 0, 0, 1, 1}, - {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1}, - {&__pyx_n_s_pickled, __pyx_k_pickled, sizeof(__pyx_k_pickled), 0, 0, 1, 1}, - {&__pyx_n_s_point, __pyx_k_point, sizeof(__pyx_k_point), 0, 0, 1, 1}, - {&__pyx_n_s_points, __pyx_k_points, sizeof(__pyx_k_points), 0, 0, 1, 1}, - {&__pyx_n_s_pool, __pyx_k_pool, sizeof(__pyx_k_pool), 0, 0, 1, 1}, - {&__pyx_n_s_popleft, __pyx_k_popleft, sizeof(__pyx_k_popleft), 0, 0, 1, 1}, - {&__pyx_n_s_pread, __pyx_k_pread, sizeof(__pyx_k_pread), 0, 0, 1, 1}, - {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, - {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1}, - {&__pyx_n_s_pytest, __pyx_k_pytest, sizeof(__pyx_k_pytest), 0, 0, 1, 1}, - {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, - {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1}, - {&__pyx_n_s_raises, __pyx_k_raises, sizeof(__pyx_k_raises), 0, 0, 1, 1}, - {&__pyx_n_s_randint, __pyx_k_randint, sizeof(__pyx_k_randint), 0, 0, 1, 1}, - {&__pyx_n_s_random, __pyx_k_random, sizeof(__pyx_k_random), 0, 0, 1, 1}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_s_rb, __pyx_k_rb, sizeof(__pyx_k_rb), 0, 0, 1, 1}, - {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1}, - {&__pyx_n_s_read_element, __pyx_k_read_element, sizeof(__pyx_k_read_element), 0, 0, 1, 1}, - {&__pyx_kp_u_read_in_length, __pyx_k_read_in_length, sizeof(__pyx_k_read_in_length), 0, 1, 0, 0}, - {&__pyx_kp_u_read_out, __pyx_k_read_out, sizeof(__pyx_k_read_out), 0, 1, 0, 0}, - {&__pyx_n_s_readable, __pyx_k_readable, sizeof(__pyx_k_readable), 0, 0, 1, 1}, - {&__pyx_n_s_readall_buf_size, __pyx_k_readall_buf_size, sizeof(__pyx_k_readall_buf_size), 0, 0, 1, 1}, - {&__pyx_n_s_readbuf_size, __pyx_k_readbuf_size, sizeof(__pyx_k_readbuf_size), 0, 0, 1, 1}, - {&__pyx_n_s_readinto, __pyx_k_readinto, sizeof(__pyx_k_readinto), 0, 0, 1, 1}, - {&__pyx_n_s_readline, __pyx_k_readline, sizeof(__pyx_k_readline), 0, 0, 1, 1}, - {&__pyx_n_s_readlines, __pyx_k_readlines, sizeof(__pyx_k_readlines), 0, 0, 1, 1}, - {&__pyx_n_s_readval, __pyx_k_readval, sizeof(__pyx_k_readval), 0, 0, 1, 1}, - {&__pyx_n_s_readval1, __pyx_k_readval1, sizeof(__pyx_k_readval1), 0, 0, 1, 1}, - {&__pyx_n_s_readval2, __pyx_k_readval2, sizeof(__pyx_k_readval2), 0, 0, 1, 1}, - {&__pyx_n_s_readval3, __pyx_k_readval3, sizeof(__pyx_k_readval3), 0, 0, 1, 1}, - {&__pyx_n_s_remainder, __pyx_k_remainder, sizeof(__pyx_k_remainder), 0, 0, 1, 1}, - {&__pyx_n_s_results, __pyx_k_results, sizeof(__pyx_k_results), 0, 0, 1, 1}, - {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1}, - {&__pyx_n_s_ret_list, __pyx_k_ret_list, sizeof(__pyx_k_ret_list), 0, 0, 1, 1}, - {&__pyx_n_s_rt, __pyx_k_rt, sizeof(__pyx_k_rt), 0, 0, 1, 1}, - {&__pyx_n_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 1}, - {&__pyx_n_s_second50MB, __pyx_k_second50MB, sizeof(__pyx_k_second50MB), 0, 0, 1, 1}, - {&__pyx_n_s_seed, __pyx_k_seed, sizeof(__pyx_k_seed), 0, 0, 1, 1}, - {&__pyx_n_s_seek, __pyx_k_seek, sizeof(__pyx_k_seek), 0, 0, 1, 1}, - {&__pyx_n_s_seek_points, __pyx_k_seek_points, sizeof(__pyx_k_seek_points), 0, 0, 1, 1}, - {&__pyx_n_s_seekable, __pyx_k_seekable, sizeof(__pyx_k_seekable), 0, 0, 1, 1}, - {&__pyx_n_s_seekelems, __pyx_k_seekelems, sizeof(__pyx_k_seekelems), 0, 0, 1, 1}, - {&__pyx_n_s_seekloc, __pyx_k_seekloc, sizeof(__pyx_k_seekloc), 0, 0, 1, 1}, - {&__pyx_n_s_seeklocs, __pyx_k_seeklocs, sizeof(__pyx_k_seeklocs), 0, 0, 1, 1}, - {&__pyx_n_s_seekpos, __pyx_k_seekpos, sizeof(__pyx_k_seekpos), 0, 0, 1, 1}, - {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1}, - {&__pyx_n_s_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 0, 0, 1, 1}, - {&__pyx_n_s_shutil, __pyx_k_shutil, sizeof(__pyx_k_shutil), 0, 0, 1, 1}, - {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, - {&__pyx_n_s_skip, __pyx_k_skip, sizeof(__pyx_k_skip), 0, 0, 1, 1}, - {&__pyx_kp_s_skipping_test_read_all_test_as_i, __pyx_k_skipping_test_read_all_test_as_i, sizeof(__pyx_k_skipping_test_read_all_test_as_i), 0, 0, 1, 0}, - {&__pyx_kp_s_skipping_test_read_with_null_pad, __pyx_k_skipping_test_read_with_null_pad, sizeof(__pyx_k_skipping_test_read_with_null_pad), 0, 0, 1, 0}, - {&__pyx_n_s_sp, __pyx_k_sp, sizeof(__pyx_k_sp), 0, 0, 1, 1}, - {&__pyx_n_s_spacing, __pyx_k_spacing, sizeof(__pyx_k_spacing), 0, 0, 1, 1}, - {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, - {&__pyx_n_s_sqrt, __pyx_k_sqrt, sizeof(__pyx_k_sqrt), 0, 0, 1, 1}, - {&__pyx_n_s_st, __pyx_k_st, sizeof(__pyx_k_st), 0, 0, 1, 1}, - {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1}, - {&__pyx_n_s_subprocess, __pyx_k_subprocess, sizeof(__pyx_k_subprocess), 0, 0, 1, 1}, - {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1}, - {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, - {&__pyx_n_s_td, __pyx_k_td, sizeof(__pyx_k_td), 0, 0, 1, 1}, - {&__pyx_n_s_tdir, __pyx_k_tdir, sizeof(__pyx_k_tdir), 0, 0, 1, 1}, - {&__pyx_n_s_tell, __pyx_k_tell, sizeof(__pyx_k_tell), 0, 0, 1, 1}, - {&__pyx_n_s_tempdir, __pyx_k_tempdir, sizeof(__pyx_k_tempdir), 0, 0, 1, 1}, - {&__pyx_n_s_tempfile, __pyx_k_tempfile, sizeof(__pyx_k_tempfile), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_test_32bit_overflow, __pyx_k_test_32bit_overflow, sizeof(__pyx_k_test_32bit_overflow), 0, 0, 1, 1}, - {&__pyx_n_s_test_accept_filename_or_fileobj, __pyx_k_test_accept_filename_or_fileobj, sizeof(__pyx_k_test_accept_filename_or_fileobj), 0, 0, 1, 1}, - {&__pyx_n_s_test_atts, __pyx_k_test_atts, sizeof(__pyx_k_test_atts), 0, 0, 1, 1}, - {&__pyx_n_s_test_build_index_from_unseekable, __pyx_k_test_build_index_from_unseekable, sizeof(__pyx_k_test_build_index_from_unseekable), 0, 0, 1, 1}, - {&__pyx_n_s_test_copyable, __pyx_k_test_copyable, sizeof(__pyx_k_test_copyable), 0, 0, 1, 1}, - {&__pyx_n_s_test_create_from_open_handle, __pyx_k_test_create_from_open_handle, sizeof(__pyx_k_test_create_from_open_handle), 0, 0, 1, 1}, - {&__pyx_n_s_test_get_index_seek_points, __pyx_k_test_get_index_seek_points, sizeof(__pyx_k_test_get_index_seek_points), 0, 0, 1, 1}, - {&__pyx_kp_s_test_gz, __pyx_k_test_gz, sizeof(__pyx_k_test_gz), 0, 0, 1, 0}, - {&__pyx_kp_s_test_gzidx, __pyx_k_test_gzidx, sizeof(__pyx_k_test_gzidx), 0, 0, 1, 0}, - {&__pyx_n_s_test_handles_not_dropped, __pyx_k_test_handles_not_dropped, sizeof(__pyx_k_test_handles_not_dropped), 0, 0, 1, 1}, - {&__pyx_n_s_test_import_export_index, __pyx_k_test_import_export_index, sizeof(__pyx_k_test_import_export_index), 0, 0, 1, 1}, - {&__pyx_n_s_test_import_export_index_open_fi, __pyx_k_test_import_export_index_open_fi, sizeof(__pyx_k_test_import_export_index_open_fi), 0, 0, 1, 1}, - {&__pyx_n_s_test_init_failure_cases, __pyx_k_test_init_failure_cases, sizeof(__pyx_k_test_init_failure_cases), 0, 0, 1, 1}, - {&__pyx_n_s_test_init_success_cases, __pyx_k_test_init_success_cases, sizeof(__pyx_k_test_init_success_cases), 0, 0, 1, 1}, - {&__pyx_n_s_test_iter, __pyx_k_test_iter, sizeof(__pyx_k_test_iter), 0, 0, 1, 1}, - {&__pyx_n_s_test_manual_build, __pyx_k_test_manual_build, sizeof(__pyx_k_test_manual_build), 0, 0, 1, 1}, - {&__pyx_n_s_test_multiproc_serialise, __pyx_k_test_multiproc_serialise, sizeof(__pyx_k_test_multiproc_serialise), 0, 0, 1, 1}, - {&__pyx_n_s_test_open_close, __pyx_k_test_open_close, sizeof(__pyx_k_test_open_close), 0, 0, 1, 1}, - {&__pyx_n_s_test_open_close_ctxmanager, __pyx_k_test_open_close_ctxmanager, sizeof(__pyx_k_test_open_close_ctxmanager), 0, 0, 1, 1}, - {&__pyx_n_s_test_open_function, __pyx_k_test_open_function, sizeof(__pyx_k_test_open_function), 0, 0, 1, 1}, - {&__pyx_n_s_test_open_mode, __pyx_k_test_open_mode, sizeof(__pyx_k_test_open_mode), 0, 0, 1, 1}, - {&__pyx_n_s_test_open_mode_locals_BytesIOWit, __pyx_k_test_open_mode_locals_BytesIOWit, sizeof(__pyx_k_test_open_mode_locals_BytesIOWit), 0, 0, 1, 1}, - {&__pyx_n_s_test_picklable, __pyx_k_test_picklable, sizeof(__pyx_k_test_picklable), 0, 0, 1, 1}, - {&__pyx_n_s_test_pread, __pyx_k_test_pread, sizeof(__pyx_k_test_pread), 0, 0, 1, 1}, - {&__pyx_n_s_test_prioritize_fd_over_f, __pyx_k_test_prioritize_fd_over_f, sizeof(__pyx_k_test_prioritize_fd_over_f), 0, 0, 1, 1}, - {&__pyx_n_s_test_read_all, __pyx_k_test_read_all, sizeof(__pyx_k_test_read_all), 0, 0, 1, 1}, - {&__pyx_n_s_test_read_beyond_end, __pyx_k_test_read_beyond_end, sizeof(__pyx_k_test_read_beyond_end), 0, 0, 1, 1}, - {&__pyx_n_s_test_read_with_null_padding, __pyx_k_test_read_with_null_padding, sizeof(__pyx_k_test_read_with_null_padding), 0, 0, 1, 1}, - {&__pyx_n_s_test_readinto, __pyx_k_test_readinto, sizeof(__pyx_k_test_readinto), 0, 0, 1, 1}, - {&__pyx_n_s_test_readinto_locals_line_offset, __pyx_k_test_readinto_locals_line_offset, sizeof(__pyx_k_test_readinto_locals_line_offset), 0, 0, 1, 1}, - {&__pyx_n_s_test_readline, __pyx_k_test_readline, sizeof(__pyx_k_test_readline), 0, 0, 1, 1}, - {&__pyx_n_s_test_readline_sizelimit, __pyx_k_test_readline_sizelimit, sizeof(__pyx_k_test_readline_sizelimit), 0, 0, 1, 1}, - {&__pyx_n_s_test_readlines, __pyx_k_test_readlines, sizeof(__pyx_k_test_readlines), 0, 0, 1, 1}, - {&__pyx_n_s_test_readlines_sizelimit, __pyx_k_test_readlines_sizelimit, sizeof(__pyx_k_test_readlines_sizelimit), 0, 0, 1, 1}, - {&__pyx_n_s_test_seek, __pyx_k_test_seek, sizeof(__pyx_k_test_seek), 0, 0, 1, 1}, - {&__pyx_n_s_test_seek_and_read, __pyx_k_test_seek_and_read, sizeof(__pyx_k_test_seek_and_read), 0, 0, 1, 1}, - {&__pyx_n_s_test_seek_and_tell, __pyx_k_test_seek_and_tell, sizeof(__pyx_k_test_seek_and_tell), 0, 0, 1, 1}, - {&__pyx_n_s_test_simple_read_with_null_paddi, __pyx_k_test_simple_read_with_null_paddi, sizeof(__pyx_k_test_simple_read_with_null_paddi), 0, 0, 1, 1}, - {&__pyx_n_s_test_size_multiple_of_readbuf, __pyx_k_test_size_multiple_of_readbuf, sizeof(__pyx_k_test_size_multiple_of_readbuf), 0, 0, 1, 1}, - {&__pyx_kp_s_test_txt, __pyx_k_test_txt, sizeof(__pyx_k_test_txt), 0, 0, 1, 0}, - {&__pyx_n_s_test_wrapper_class, __pyx_k_test_wrapper_class, sizeof(__pyx_k_test_wrapper_class), 0, 0, 1, 1}, - {&__pyx_n_s_testfile, __pyx_k_testfile, sizeof(__pyx_k_testfile), 0, 0, 1, 1}, - {&__pyx_n_s_testval, __pyx_k_testval, sizeof(__pyx_k_testval), 0, 0, 1, 1}, - {&__pyx_n_s_textwrap, __pyx_k_textwrap, sizeof(__pyx_k_textwrap), 0, 0, 1, 1}, - {&__pyx_kp_s_this_is_even_more_text_that_is, __pyx_k_this_is_even_more_text_that_is, sizeof(__pyx_k_this_is_even_more_text_that_is), 0, 0, 1, 0}, - {&__pyx_kp_s_this_is_some_more_text_split_ac, __pyx_k_this_is_some_more_text_split_ac, sizeof(__pyx_k_this_is_some_more_text_split_ac), 0, 0, 1, 0}, - {&__pyx_kp_s_this_is_some_text_split_across, __pyx_k_this_is_some_text_split_across, sizeof(__pyx_k_this_is_some_text_split_across), 0, 0, 1, 0}, - {&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1}, - {&__pyx_n_s_tmp_filename, __pyx_k_tmp_filename, sizeof(__pyx_k_tmp_filename), 0, 0, 1, 1}, - {&__pyx_n_s_tobytes, __pyx_k_tobytes, sizeof(__pyx_k_tobytes), 0, 0, 1, 1}, - {&__pyx_n_s_tostring, __pyx_k_tostring, sizeof(__pyx_k_tostring), 0, 0, 1, 1}, - {&__pyx_n_s_touch, __pyx_k_touch, sizeof(__pyx_k_touch), 0, 0, 1, 1}, - {&__pyx_n_s_uint32, __pyx_k_uint32, sizeof(__pyx_k_uint32), 0, 0, 1, 1}, - {&__pyx_n_s_uint64, __pyx_k_uint64, sizeof(__pyx_k_uint64), 0, 0, 1, 1}, - {&__pyx_n_s_uncmp_offsets, __pyx_k_uncmp_offsets, sizeof(__pyx_k_uncmp_offsets), 0, 0, 1, 1}, - {&__pyx_n_s_use_mmap, __pyx_k_use_mmap, sizeof(__pyx_k_use_mmap), 0, 0, 1, 1}, - {&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1}, - {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1}, - {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1}, - {&__pyx_n_s_wb, __pyx_k_wb, sizeof(__pyx_k_wb), 0, 0, 1, 1}, - {&__pyx_n_s_writable, __pyx_k_writable, sizeof(__pyx_k_writable), 0, 0, 1, 1}, - {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1}, - {&__pyx_n_s_write_text_to_gzip_file, __pyx_k_write_text_to_gzip_file, sizeof(__pyx_k_write_text_to_gzip_file), 0, 0, 1, 1}, - {&__pyx_n_s_wt, __pyx_k_wt, sizeof(__pyx_k_wt), 0, 0, 1, 1}, - {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} -}; -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 87, __pyx_L1_error) - __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 118, __pyx_L1_error) - __pyx_builtin_IOError = __Pyx_GetBuiltinName(__pyx_n_s_IOError); if (!__pyx_builtin_IOError) __PYX_ERR(0, 189, __pyx_L1_error) - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 243, __pyx_L1_error) - __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 315, __pyx_L1_error) - __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 647, __pyx_L1_error) - __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_n_s_sum); if (!__pyx_builtin_sum) __PYX_ERR(0, 763, __pyx_L1_error) - __pyx_builtin_all = __Pyx_GetBuiltinName(__pyx_n_s_all); if (!__pyx_builtin_all) __PYX_ERR(0, 767, __pyx_L1_error) - __pyx_builtin_chr = __Pyx_GetBuiltinName(__pyx_n_s_chr); if (!__pyx_builtin_chr) __PYX_ERR(0, 767, __pyx_L1_error) - __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 848, __pyx_L1_error) - __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 904, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":111 - * self.__input = fileobj - * self.__buffer = BytesBuffer() - * self.__gzip = gzip.GzipFile(None, mode='wb', fileobj=self.__buffer) # <<<<<<<<<<<<<< - * self.__size = 0 - * - */ - __pyx_tuple__12 = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 111, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__12); - __Pyx_GIVEREF(__pyx_tuple__12); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":154 - * - * def error_fn(*args, **kwargs): - * raise Exception("Error") # <<<<<<<<<<<<<< - * - * - */ - __pyx_tuple__20 = PyTuple_Pack(1, __pyx_n_s_Error); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__20); - __Pyx_GIVEREF(__pyx_tuple__20); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":169 - * - * def write_text_to_gzip_file(fname, lines): - * with gzip.open(fname, mode='wb') as f: # <<<<<<<<<<<<<< - * for line in lines: - * f.write('{}\n'.format(line).encode()) - */ - __pyx_tuple__24 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 169, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__24); - __Pyx_GIVEREF(__pyx_tuple__24); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":227 - * def test_open_mode(): - * - * modes = [('r', True), # <<<<<<<<<<<<<< - * ('rb', True), - * (None, True), - */ - __pyx_tuple__29 = PyTuple_Pack(2, __pyx_n_s_r, Py_True); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__29); - __Pyx_GIVEREF(__pyx_tuple__29); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":228 - * - * modes = [('r', True), - * ('rb', True), # <<<<<<<<<<<<<< - * (None, True), - * ('rt', False), - */ - __pyx_tuple__30 = PyTuple_Pack(2, __pyx_n_s_rb, Py_True); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__30); - __Pyx_GIVEREF(__pyx_tuple__30); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":229 - * modes = [('r', True), - * ('rb', True), - * (None, True), # <<<<<<<<<<<<<< - * ('rt', False), - * ('w', False), - */ - __pyx_tuple__31 = PyTuple_Pack(2, Py_None, Py_True); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":230 - * ('rb', True), - * (None, True), - * ('rt', False), # <<<<<<<<<<<<<< - * ('w', False), - * ('wt', False)] - */ - __pyx_tuple__32 = PyTuple_Pack(2, __pyx_n_s_rt, Py_False); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__32); - __Pyx_GIVEREF(__pyx_tuple__32); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":231 - * (None, True), - * ('rt', False), - * ('w', False), # <<<<<<<<<<<<<< - * ('wt', False)] - * - */ - __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_w, Py_False); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__33); - __Pyx_GIVEREF(__pyx_tuple__33); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":232 - * ('rt', False), - * ('w', False), - * ('wt', False)] # <<<<<<<<<<<<<< - * - * # open from file - */ - __pyx_tuple__34 = PyTuple_Pack(2, __pyx_n_s_wt, Py_False); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__34); - __Pyx_GIVEREF(__pyx_tuple__34); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":236 - * # open from file - * with tempdir(): - * with gzip.open('f.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(b'12345') - * for mode, expect in modes: - */ - __pyx_tuple__35 = PyTuple_Pack(2, __pyx_kp_s_f_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 236, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__35); - __Pyx_GIVEREF(__pyx_tuple__35); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":240 - * for mode, expect in modes: - * if expect: - * gzf = igzip.IndexedGzipFile('f.gz', mode=mode) # <<<<<<<<<<<<<< - * assert gzf.read() == b'12345' - * else: - */ - __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_s_f_gz); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__36); - __Pyx_GIVEREF(__pyx_tuple__36); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":251 - * - * # accept file-like without mode attribute - * modes.append(('del', True)) # <<<<<<<<<<<<<< - * - * for mode, expect in modes: - */ - __pyx_tuple__37 = PyTuple_Pack(2, __pyx_n_s_del, Py_True); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__37); - __Pyx_GIVEREF(__pyx_tuple__37); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":493 - * # anywhere else should fail - * f.seek(0) - * for off in [1, 2, 20, 200]: # <<<<<<<<<<<<<< - * with pytest.raises(igzip.NotCoveredError): - * f.seek(off) - */ - __pyx_tuple__46 = PyTuple_Pack(4, __pyx_int_1, __pyx_int_2, __pyx_int_20, __pyx_int_200); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 493, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__46); - __Pyx_GIVEREF(__pyx_tuple__46); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":715 - * - * - * def line_offset(idx): # <<<<<<<<<<<<<< - * return sum([len(l) for l in lines[:idx]]) + idx - * - */ - __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_s_idx, __pyx_n_s_l); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 715, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__58); - __Pyx_GIVEREF(__pyx_tuple__58); - __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_line_offset, 715, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 715, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":767 - * buf = bytearray([99 for i in range(len(buf))]) - * assert f.readinto(buf) == 0 - * assert all([b == chr(99) for b in buf.decode()]) # <<<<<<<<<<<<<< - * - * - */ - __pyx_tuple__61 = PyTuple_Pack(1, __pyx_int_99); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__61); - __Pyx_GIVEREF(__pyx_tuple__61); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":810 - * # limit to one character before the end of the first line - * l = f.readline(len(lines[0]) - 1) - * assert l == (lines[0][:-1]).encode() # <<<<<<<<<<<<<< - * - * # limit to the last character of the first line - */ - __pyx_slice__64 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__64)) __PYX_ERR(0, 810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_slice__64); - __Pyx_GIVEREF(__pyx_slice__64); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":941 - * - * # make a test file - * data = np.arange(524288, dtype=np.uint64) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __pyx_tuple__70 = PyTuple_Pack(1, __pyx_int_524288); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 941, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__70); - __Pyx_GIVEREF(__pyx_tuple__70); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1032 - * - * # make a test file - * data = np.arange(5242, dtype=np.uint64) # <<<<<<<<<<<<<< - * with open(tmp_filename, 'w') as f: - * f.write(repr(data)) - */ - __pyx_tuple__73 = PyTuple_Pack(1, __pyx_int_5242); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 1032, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__73); - __Pyx_GIVEREF(__pyx_tuple__73); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1083 - * idxfname = op.join(td, 'test.gzidx') - * - * data = np.arange(65536, dtype=np.uint64) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tostring()) - */ - __pyx_tuple__75 = PyTuple_Pack(1, __pyx_int_65536); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 1083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__75); - __Pyx_GIVEREF(__pyx_tuple__75); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1117 - * while True: - * - * data = np.random.randint(1, 1000, 100000, dtype=np.uint32) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __pyx_tuple__78 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_int_100000); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 1117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__78); - __Pyx_GIVEREF(__pyx_tuple__78); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1166 - * - * with tempdir(): - * data = np.random.randint(1, 1000, (10000, 10000), dtype=np.uint32) # <<<<<<<<<<<<<< - * with open(fname+'.bin', 'wb') as f: - * f.write(data.tobytes()) - */ - __pyx_tuple__80 = PyTuple_Pack(2, __pyx_int_10000, __pyx_int_10000); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(0, 1166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__80); - __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_tuple__81 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_tuple__80); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 1166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__81); - __Pyx_GIVEREF(__pyx_tuple__81); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1192 - * # if drop_handles=False, no pickle - * with tempdir(): - * data = np.random.randint(1, 1000, 50000, dtype=np.uint32) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __pyx_tuple__82 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_1000, __pyx_int_50000); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 1192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__82); - __Pyx_GIVEREF(__pyx_tuple__82); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1274 - * with tempdir(): - * - * data = np.arange(10000000, dtype=np.uint32) # <<<<<<<<<<<<<< - * with gzip.open(fname, 'wb') as f: - * f.write(data.tobytes()) - */ - __pyx_tuple__86 = PyTuple_Pack(1, __pyx_int_10000000); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 1274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__86); - __Pyx_GIVEREF(__pyx_tuple__86); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1306 - * data = np.ones(block, dtype=np.uint64).tobytes() - * - * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< - * for i in range(48): - * print('Generated to {}...'.format(block * i)) - */ - __pyx_tuple__88 = PyTuple_Pack(2, __pyx_kp_s_test_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 1306, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__88); - __Pyx_GIVEREF(__pyx_tuple__88); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 - * """ - * - * def __init__(self): # <<<<<<<<<<<<<< - * self.__buf = deque() - * self.__size = 0 - */ - __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__90); - __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_init, 52, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 52, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 - * self.__pos = 0 - * - * def __len__(self): # <<<<<<<<<<<<<< - * return self.__size - * - */ - __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__91); - __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_len, 57, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 57, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 - * return self.__size - * - * def write(self, data): # <<<<<<<<<<<<<< - * self.__buf.append(data) - * self.__size += len(data) - */ - __pyx_tuple__92 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_data); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__92); - __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_write, 60, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 60, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 - * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") - * - * def read(self, size = None): # <<<<<<<<<<<<<< - * if size is None: - * size = self.__size - */ - __pyx_tuple__93 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_ret_list, __pyx_n_s_s, __pyx_n_s_remainder, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__93); - __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 65, __pyx_L1_error) - __pyx_tuple__94 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__94); - __Pyx_GIVEREF(__pyx_tuple__94); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 - * return ret - * - * def peek(self, size: int): # <<<<<<<<<<<<<< - * b = bytearray() - * for i in range(0, min(size, len(self.__buf))): - */ - __pyx_tuple__95 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_size, __pyx_n_s_b, __pyx_n_s_i); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__95); - __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_peek, 85, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 85, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":91 - * return bytes(b)[:size] - * - * def flush(self): # <<<<<<<<<<<<<< - * pass - * - */ - __pyx_tuple__96 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__96); - __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_flush, 91, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 91, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":94 - * pass - * - * def close(self): # <<<<<<<<<<<<<< - * pass - * - */ - __pyx_tuple__97 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__97); - __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_close, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 94, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 - * pass - * - * def tell(self): # <<<<<<<<<<<<<< - * return self.__pos - * - */ - __pyx_tuple__98 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__98); - __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_tell, 97, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 97, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 - * return self.__pos - * - * def __bool__(self): # <<<<<<<<<<<<<< - * return True - * - */ - __pyx_tuple__99 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__99); - __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_bool, 100, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 100, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 - * """ - * - * def __init__(self, fileobj): # <<<<<<<<<<<<<< - * self.__input = fileobj - * self.__buffer = BytesBuffer() - */ - __pyx_tuple__100 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_fileobj); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__100); - __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_init, 108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 108, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 - * self.__size = 0 - * - * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< - * try: - * while num_bytes is None or len(self.__buffer) < num_bytes: - */ - __pyx_tuple__101 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_num_bytes, __pyx_n_s_s, __pyx_n_s_e); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__101); - __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_fill_buf_bytes, 114, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 114, __pyx_L1_error) - __pyx_tuple__102 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__102); - __Pyx_GIVEREF(__pyx_tuple__102); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":127 - * raise e - * - * def read(self, num_bytes=None): # <<<<<<<<<<<<<< - * try: - * self._fill_buf_bytes(num_bytes) - */ - __pyx_tuple__103 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_num_bytes, __pyx_n_s_data, __pyx_n_s_e); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__103); - __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read, 127, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 127, __pyx_L1_error) - __pyx_tuple__104 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__104); - __Pyx_GIVEREF(__pyx_tuple__104); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 - * - * - * def close(self): # <<<<<<<<<<<<<< - * self.__input.close() - * - */ - __pyx_tuple__105 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__105); - __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_close, 139, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 139, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":142 - * self.__input.close() - * - * def peek(self, num_bytes): # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * return self.__buffer.peek(num_bytes) - */ - __pyx_tuple__106 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_num_bytes); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__106); - __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_peek, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 142, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 - * return self.__buffer.peek(num_bytes) - * - * def tell(self): # <<<<<<<<<<<<<< - * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") - * return self.__size - */ - __pyx_tuple__107 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__107); - __Pyx_GIVEREF(__pyx_tuple__107); - __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_tell, 146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 146, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 - * return self.__size - * - * def seekable(self): # <<<<<<<<<<<<<< - * return False - * - */ - __pyx_tuple__108 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__108); - __Pyx_GIVEREF(__pyx_tuple__108); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_seekable, 150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 150, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 - * return False - * - * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< - * raise Exception("Error") - * - */ - __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__109); - __Pyx_GIVEREF(__pyx_tuple__109); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_error_fn, 153, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 153, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":157 - * - * - * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< - * - * if seek: - */ - __pyx_tuple__110 = PyTuple_Pack(5, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_seek, __pyx_n_s_bytes, __pyx_n_s_val); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__110); - __Pyx_GIVEREF(__pyx_tuple__110); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_read_element, 157, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 157, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":168 - * - * - * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< - * with gzip.open(fname, mode='wb') as f: - * for line in lines: - */ - __pyx_tuple__111 = PyTuple_Pack(4, __pyx_n_s_fname, __pyx_n_s_lines, __pyx_n_s_f, __pyx_n_s_line); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__111); - __Pyx_GIVEREF(__pyx_tuple__111); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_write_text_to_gzip_file, 168, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 168, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 - * - * - * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< - * - * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) - */ - __pyx_tuple__112 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__112); - __Pyx_GIVEREF(__pyx_tuple__112); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_close, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 174, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 - * f.close() - * - * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< - * - * f1 = None - */ - __pyx_tuple__113 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f1, __pyx_n_s_f2, __pyx_n_s_element, __pyx_n_s_readval1, __pyx_n_s_readval2); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__113); - __Pyx_GIVEREF(__pyx_tuple__113); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_function, 192, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 192, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 - * - * - * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - __pyx_tuple__114 = PyTuple_Pack(7, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__114); - __Pyx_GIVEREF(__pyx_tuple__114); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(4, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_close_ctxmanager, 214, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 214, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 - * - * - * def test_open_mode(): # <<<<<<<<<<<<<< - * - * modes = [('r', True), - */ - __pyx_tuple__115 = PyTuple_Pack(7, __pyx_n_s_modes, __pyx_n_s_f, __pyx_n_s_mode, __pyx_n_s_expect, __pyx_n_s_gzf, __pyx_n_s_BytesIOWithMode, __pyx_n_s_fileobj); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__115); - __Pyx_GIVEREF(__pyx_tuple__115); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_open_mode, 225, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 225, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 - * - * - * def test_atts(testfile, drop): # <<<<<<<<<<<<<< - * - * modes = [None, 'rb', 'r'] - */ - __pyx_tuple__116 = PyTuple_Pack(5, __pyx_n_s_testfile, __pyx_n_s_drop, __pyx_n_s_modes, __pyx_n_s_m, __pyx_n_s_f); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__116); - __Pyx_GIVEREF(__pyx_tuple__116); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_atts, 273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 273, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 - * - * - * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __pyx_tuple__117 = PyTuple_Pack(6, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_gf, __pyx_n_s_f); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__117); - __Pyx_GIVEREF(__pyx_tuple__117); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_init_failure_cases, 298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 298, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 - * - * - * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') - */ - __pyx_tuple__118 = PyTuple_Pack(7, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_gf1, __pyx_n_s_gf2, __pyx_n_s_gf3); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__118); - __Pyx_GIVEREF(__pyx_tuple__118); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_init_success_cases, 338, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 338, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 - * - * - * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< - * - * f = open(testfile, 'rb') - */ - __pyx_tuple__119 = PyTuple_Pack(9, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_file_like_object, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__119); - __Pyx_GIVEREF(__pyx_tuple__119); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(5, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_create_from_open_handle, 359, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 359, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 - * - * - * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< - * - * f = None - */ - __pyx_tuple__120 = PyTuple_Pack(10, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f, __pyx_n_s_gzf1, __pyx_n_s_gzf2, __pyx_n_s_gzf3, __pyx_n_s_element, __pyx_n_s_readval1, __pyx_n_s_readval2, __pyx_n_s_readval3); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(0, 385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__120); - __Pyx_GIVEREF(__pyx_tuple__120); - __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_accept_filename_or_fileobj, 385, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 385, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":418 - * - * - * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< - * """When a fileobj with an associated fileno is passed to IndexedGzipFile, - * the fileobj's file descriptor (fd) should be utilized by zran.c - */ - __pyx_tuple__121 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_element, __pyx_n_s_readval); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__121); - __Pyx_GIVEREF(__pyx_tuple__121); - __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_prioritize_fd_over_f, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 418, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":448 - * - * - * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< - * - * # When drop_handles is False - */ - __pyx_tuple__122 = PyTuple_Pack(9, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_seed, __pyx_n_s_f, __pyx_n_s_fid, __pyx_n_s_i, __pyx_n_s_element, __pyx_n_s_readval, __pyx_n_s_gzf); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__122); - __Pyx_GIVEREF(__pyx_tuple__122); - __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_handles_not_dropped, 448, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 448, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 - * - * - * def test_manual_build(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * nelems = 65536 - */ - __pyx_tuple__123 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_nelems, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_off, __pyx_n_s_readval, __pyx_n_s_i, __pyx_n_s_element); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__123); - __Pyx_GIVEREF(__pyx_tuple__123); - __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_manual_build, 481, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 481, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 - * - * - * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< - * - * if use_mmap: - */ - __pyx_tuple__124 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_use_mmap, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_data); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__124); - __Pyx_GIVEREF(__pyx_tuple__124); - __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_all, 525, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 525, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":540 - * - * - * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< - * - * - */ - __pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_fileobj, __pyx_n_s_f); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__125); - __Pyx_GIVEREF(__pyx_tuple__125); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_simple_read_with_null_paddi, 540, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 540, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":558 - * - * - * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< - * - * if use_mmap: - */ - __pyx_tuple__126 = PyTuple_Pack(6, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_use_mmap, __pyx_n_s_fileobj, __pyx_n_s_f, __pyx_n_s_data); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 558, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__126); - __Pyx_GIVEREF(__pyx_tuple__126); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_with_null_padding, 558, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 558, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 - * - * - * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< - * with tempdir() as tdir: - * nelems = 65536 - */ - __pyx_tuple__127 = PyTuple_Pack(8, __pyx_n_s_concat, __pyx_n_s_drop, __pyx_n_s_tdir, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_data1, __pyx_n_s_data2); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(0, 578, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__127); - __Pyx_GIVEREF(__pyx_tuple__127); - __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_read_beyond_end, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 578, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":601 - * - * - * def test_seek(concat): # <<<<<<<<<<<<<< - * with tempdir() as tdir: - * nelems = 262144 # == 2MB - */ - __pyx_tuple__128 = PyTuple_Pack(9, __pyx_n_s_concat, __pyx_n_s_tdir, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_results, __pyx_n_s_f, __pyx_n_s_data, __pyx_n_s_expected, __pyx_n_s_val); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__128); - __Pyx_GIVEREF(__pyx_tuple__128); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek, 601, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 601, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":639 - * - * - * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - __pyx_tuple__129 = PyTuple_Pack(11, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_f, __pyx_n_s_seekelems, __pyx_n_s_i, __pyx_n_s_testval, __pyx_n_s_readval, __pyx_n_s_ft); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(0, 639, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__129); - __Pyx_GIVEREF(__pyx_tuple__129); - __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(5, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek_and_read, 639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 639, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":657 - * - * - * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - __pyx_tuple__130 = PyTuple_Pack(13, __pyx_n_s_testfile, __pyx_n_s_nelems, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_drop, __pyx_n_s_filesize, __pyx_n_s_f, __pyx_n_s_seeklocs, __pyx_n_s_seekloc, __pyx_n_s_st, __pyx_n_s_ft, __pyx_n_s_eofseeks, __pyx_n_s_es); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(0, 657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__130); - __Pyx_GIVEREF(__pyx_tuple__130); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(5, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_seek_and_tell, 657, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 657, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 - * - * - * def test_pread(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * nelems = 1024 - */ - __pyx_tuple__131 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_nelems, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_off, __pyx_n_s_data, __pyx_n_s_val); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__131); - __Pyx_GIVEREF(__pyx_tuple__131); - __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_pread, 691, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 691, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 - * - * - * def test_readinto(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * line 1 - */ - __pyx_tuple__132 = PyTuple_Pack(13, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_line_offset, __pyx_n_s_line_offset, __pyx_n_s_td, __pyx_n_s_testfile, __pyx_n_s_f, __pyx_n_s_buf, __pyx_n_s_offset, __pyx_n_s_filelen, __pyx_n_s_l, __pyx_n_s_i, __pyx_n_s_b); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__132); - __Pyx_GIVEREF(__pyx_tuple__132); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readinto, 705, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 705, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 - * - * - * def test_readline(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * this is - */ - __pyx_tuple__133 = PyTuple_Pack(7, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_seekpos, __pyx_n_s_line); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(0, 770, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__133); - __Pyx_GIVEREF(__pyx_tuple__133); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readline, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 770, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":798 - * - * - * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< - * - * lines = ['line one', 'line two'] - */ - __pyx_tuple__134 = PyTuple_Pack(6, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_l); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__134); - __Pyx_GIVEREF(__pyx_tuple__134); - __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readline_sizelimit, 798, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 798, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":828 - * - * - * def test_readlines(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * this is - */ - __pyx_tuple__135 = PyTuple_Pack(8, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_gotlines, __pyx_n_s_expl, __pyx_n_s_gotl); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(0, 828, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__135); - __Pyx_GIVEREF(__pyx_tuple__135); - __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readlines, 828, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 828, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 - * - * - * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< - * - * lines = ['line one', 'line two'] - */ - __pyx_tuple__136 = PyTuple_Pack(9, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_data, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_limits, __pyx_n_s_f, __pyx_n_s_lim, __pyx_n_s_gotlines); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__136); - __Pyx_GIVEREF(__pyx_tuple__136); - __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_readlines_sizelimit, 854, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 854, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":883 - * - * - * def test_iter(drop): # <<<<<<<<<<<<<< - * - * lines = textwrap.dedent(""" - */ - __pyx_tuple__137 = PyTuple_Pack(7, __pyx_n_s_drop, __pyx_n_s_lines, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_gotline); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(0, 883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__137); - __Pyx_GIVEREF(__pyx_tuple__137); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_iter, 883, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 883, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 - * - * - * def test_get_index_seek_points(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __pyx_tuple__138 = PyTuple_Pack(9, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_spacing, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_expected_number_of_seek_points, __pyx_n_s_seek_points, __pyx_n_s_uncmp_offsets, __pyx_n_s_point); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 908, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__138); - __Pyx_GIVEREF(__pyx_tuple__138); - __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_get_index_seek_points, 908, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 908, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 - * - * - * def test_import_export_index(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __pyx_tuple__139 = PyTuple_Pack(7, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_points, __pyx_n_s_val); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(0, 934, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__139); - __Pyx_GIVEREF(__pyx_tuple__139); - __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_import_export_index, 934, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 934, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 - * - * - * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __pyx_tuple__140 = PyTuple_Pack(8, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_points, __pyx_n_s_idxf, __pyx_n_s_val); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 967, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__140); - __Pyx_GIVEREF(__pyx_tuple__140); - __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_import_export_index_open_fi, 967, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 967, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 - * - * - * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - */ - __pyx_tuple__141 = PyTuple_Pack(9, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_tmp_filename, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_b, __pyx_n_s_fileobj, __pyx_n_s_points); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(0, 1024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__141); - __Pyx_GIVEREF(__pyx_tuple__141); - __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_build_index_from_unseekable, 1024, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 1024, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1077 - * - * - * def test_wrapper_class(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __pyx_tuple__142 = PyTuple_Pack(5, __pyx_n_s_td, __pyx_n_s_fname, __pyx_n_s_idxfname, __pyx_n_s_data, __pyx_n_s_f); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(0, 1077, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__142); - __Pyx_GIVEREF(__pyx_tuple__142); - __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_wrapper_class, 1077, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 1077, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 - * - * - * def gcd(num): # <<<<<<<<<<<<<< - * if num <= 3: - * return 1 - */ - __pyx_tuple__143 = PyTuple_Pack(3, __pyx_n_s_num, __pyx_n_s_candidates, __pyx_n_s_divisor); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(0, 1098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__143); - __Pyx_GIVEREF(__pyx_tuple__143); - __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_gcd, 1098, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 1098, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 - * - * - * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< - * - * fname = 'test.gz' - */ - __pyx_tuple__144 = PyTuple_Pack(6, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_fsize, __pyx_n_s_bufsz, __pyx_n_s_read); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 1109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__144); - __Pyx_GIVEREF(__pyx_tuple__144); - __pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_size_multiple_of_readbuf, 1109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(0, 1109, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 - * - * - * def test_picklable(): # <<<<<<<<<<<<<< - * - * # default behaviour is for drop_handles=True, - */ - __pyx_tuple__145 = PyTuple_Pack(7, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_first50MB, __pyx_n_s_pickled, __pyx_n_s_second50MB); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(0, 1158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__145); - __Pyx_GIVEREF(__pyx_tuple__145); - __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_picklable, 1158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(0, 1158, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 - * - * - * def test_copyable(): # <<<<<<<<<<<<<< - * fname = 'test.gz' - * - */ - __pyx_tuple__146 = PyTuple_Pack(9, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_gzf_copy, __pyx_n_s_first50MB, __pyx_n_s_gzf_copy2, __pyx_n_s_second50MB, __pyx_n_s_fobj); if (unlikely(!__pyx_tuple__146)) __PYX_ERR(0, 1205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__146); - __Pyx_GIVEREF(__pyx_tuple__146); - __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_copyable, 1205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) __PYX_ERR(0, 1205, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 - * - * - * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< - * gzf.seek(offset) - * bytes = gzf.read(size) - */ - __pyx_tuple__147 = PyTuple_Pack(5, __pyx_n_s_gzf, __pyx_n_s_size, __pyx_n_s_offset, __pyx_n_s_bytes, __pyx_n_s_val); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(0, 1261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__147); - __Pyx_GIVEREF(__pyx_tuple__147); - __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_mpfunc, 1261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(0, 1261, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 - * - * - * def test_multiproc_serialise(): # <<<<<<<<<<<<<< - * fname = 'test.gz' - * with tempdir(): - */ - __pyx_tuple__148 = PyTuple_Pack(11, __pyx_n_s_fname, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_gzf, __pyx_n_s_size, __pyx_n_s_offsets, __pyx_n_s_func, __pyx_n_s_pool, __pyx_n_s_results, __pyx_n_s_expected, __pyx_n_s_off); if (unlikely(!__pyx_tuple__148)) __PYX_ERR(0, 1270, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__148); - __Pyx_GIVEREF(__pyx_tuple__148); - __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_multiproc_serialise, 1270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(0, 1270, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 - * - * - * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< - * with tempdir(): - * - */ - __pyx_tuple__149 = PyTuple_Pack(11, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_block, __pyx_n_s_nelems, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_i, __pyx_n_s_seekelems, __pyx_n_s_testval, __pyx_n_s_readval, __pyx_n_s_ft); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(0, 1298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__149); - __Pyx_GIVEREF(__pyx_tuple__149); - __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(2, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_indexed_2, __pyx_n_s_test_32bit_overflow, 1298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(0, 1298, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - __pyx_umethod_PyByteArray_Type_extend.type = (PyObject*)&PyByteArray_Type; - if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_16 = PyInt_FromLong(16); if (unlikely(!__pyx_int_16)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_20 = PyInt_FromLong(20); if (unlikely(!__pyx_int_20)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_24 = PyInt_FromLong(24); if (unlikely(!__pyx_int_24)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_48 = PyInt_FromLong(48); if (unlikely(!__pyx_int_48)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_99 = PyInt_FromLong(99); if (unlikely(!__pyx_int_99)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_128 = PyInt_FromLong(128); if (unlikely(!__pyx_int_128)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_200 = PyInt_FromLong(200); if (unlikely(!__pyx_int_200)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1000 = PyInt_FromLong(1000); if (unlikely(!__pyx_int_1000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1024 = PyInt_FromLong(1024); if (unlikely(!__pyx_int_1024)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_5242 = PyInt_FromLong(5242); if (unlikely(!__pyx_int_5242)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_10000 = PyInt_FromLong(10000L); if (unlikely(!__pyx_int_10000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_50000 = PyInt_FromLong(50000L); if (unlikely(!__pyx_int_50000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_65535 = PyInt_FromLong(65535L); if (unlikely(!__pyx_int_65535)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_65536 = PyInt_FromLong(65536L); if (unlikely(!__pyx_int_65536)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_100000 = PyInt_FromLong(100000L); if (unlikely(!__pyx_int_100000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_131072 = PyInt_FromLong(131072L); if (unlikely(!__pyx_int_131072)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_261744 = PyInt_FromLong(261744L); if (unlikely(!__pyx_int_261744)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_262044 = PyInt_FromLong(262044L); if (unlikely(!__pyx_int_262044)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_524280 = PyInt_FromLong(524280L); if (unlikely(!__pyx_int_524280)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_524288 = PyInt_FromLong(524288L); if (unlikely(!__pyx_int_524288)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1048576 = PyInt_FromLong(1048576L); if (unlikely(!__pyx_int_1048576)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_10000000 = PyInt_FromLong(10000000L); if (unlikely(!__pyx_int_10000000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_16777216 = PyInt_FromLong(16777216L); if (unlikely(!__pyx_int_16777216)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_52428800 = PyInt_FromLong(52428800L); if (unlikely(!__pyx_int_52428800)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_neg_2 = PyInt_FromLong(-2); if (unlikely(!__pyx_int_neg_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_neg_16 = PyInt_FromLong(-16); if (unlikely(!__pyx_int_neg_16)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_neg_100 = PyInt_FromLong(-100); if (unlikely(!__pyx_int_neg_100)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_neg_800 = PyInt_FromLong(-800); if (unlikely(!__pyx_int_neg_800)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_neg_3200 = PyInt_FromLong(-3200); if (unlikely(!__pyx_int_neg_3200)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto) < 0) __PYX_ERR(0, 705, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - __pyx_ptype_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto = &__pyx_type_12indexed_gzip_5tests_18ctest_indexed_gzip___pyx_scope_struct__test_readinto; - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initctest_indexed_gzip(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initctest_indexed_gzip(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_ctest_indexed_gzip(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_ctest_indexed_gzip(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { - result = PyDict_SetItemString(moddict, to_name, value); - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_ctest_indexed_gzip(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - __Pyx_TraceDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'ctest_indexed_gzip' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_ctest_indexed_gzip(void)", 0); - if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("ctest_indexed_gzip", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_b); - __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_cython_runtime); - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_indexed_gzip__tests__ctest_indexed_gzip) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "indexed_gzip.tests.ctest_indexed_gzip")) { - if (unlikely(PyDict_SetItemString(modules, "indexed_gzip.tests.ctest_indexed_gzip", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_type_import_code(); - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit_ctest_indexed_gzip(void)", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":9 - * from __future__ import print_function - * - * import os # <<<<<<<<<<<<<< - * import os.path as op - * import itertools as it - */ - __Pyx_TraceLine(9,0,__PYX_ERR(0, 9, __pyx_L1_error)) - __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":10 - * - * import os - * import os.path as op # <<<<<<<<<<<<<< - * import itertools as it - * import functools as ft - */ - __Pyx_TraceLine(10,0,__PYX_ERR(0, 10, __pyx_L1_error)) - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s__89); - __Pyx_GIVEREF(__pyx_n_s__89); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__89); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_os_path, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_op, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":11 - * import os - * import os.path as op - * import itertools as it # <<<<<<<<<<<<<< - * import functools as ft - * import subprocess as sp - */ - __Pyx_TraceLine(11,0,__PYX_ERR(0, 11, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_itertools, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_it, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":12 - * import os.path as op - * import itertools as it - * import functools as ft # <<<<<<<<<<<<<< - * import subprocess as sp - * import multiprocessing as mp - */ - __Pyx_TraceLine(12,0,__PYX_ERR(0, 12, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_functools, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ft, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":13 - * import itertools as it - * import functools as ft - * import subprocess as sp # <<<<<<<<<<<<<< - * import multiprocessing as mp - * import copy as cp - */ - __Pyx_TraceLine(13,0,__PYX_ERR(0, 13, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_subprocess, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_sp, __pyx_t_2) < 0) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":14 - * import functools as ft - * import subprocess as sp - * import multiprocessing as mp # <<<<<<<<<<<<<< - * import copy as cp - * import sys - */ - __Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_multiprocessing, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_mp, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":15 - * import subprocess as sp - * import multiprocessing as mp - * import copy as cp # <<<<<<<<<<<<<< - * import sys - * import time - */ - __Pyx_TraceLine(15,0,__PYX_ERR(0, 15, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_copy, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_cp, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":16 - * import multiprocessing as mp - * import copy as cp - * import sys # <<<<<<<<<<<<<< - * import time - * import gzip - */ - __Pyx_TraceLine(16,0,__PYX_ERR(0, 16, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":17 - * import copy as cp - * import sys - * import time # <<<<<<<<<<<<<< - * import gzip - * import random - */ - __Pyx_TraceLine(17,0,__PYX_ERR(0, 17, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_time, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":18 - * import sys - * import time - * import gzip # <<<<<<<<<<<<<< - * import random - * import shutil - */ - __Pyx_TraceLine(18,0,__PYX_ERR(0, 18, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_gzip, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_gzip, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":19 - * import time - * import gzip - * import random # <<<<<<<<<<<<<< - * import shutil - * import pickle - */ - __Pyx_TraceLine(19,0,__PYX_ERR(0, 19, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_random, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_random, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":20 - * import gzip - * import random - * import shutil # <<<<<<<<<<<<<< - * import pickle - * import hashlib - */ - __Pyx_TraceLine(20,0,__PYX_ERR(0, 20, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_shutil, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_shutil, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":21 - * import random - * import shutil - * import pickle # <<<<<<<<<<<<<< - * import hashlib - * import textwrap - */ - __Pyx_TraceLine(21,0,__PYX_ERR(0, 21, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_pickle, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_pickle, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":22 - * import shutil - * import pickle - * import hashlib # <<<<<<<<<<<<<< - * import textwrap - * import tempfile - */ - __Pyx_TraceLine(22,0,__PYX_ERR(0, 22, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_hashlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":23 - * import pickle - * import hashlib - * import textwrap # <<<<<<<<<<<<<< - * import tempfile - * import contextlib - */ - __Pyx_TraceLine(23,0,__PYX_ERR(0, 23, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_textwrap, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_textwrap, __pyx_t_2) < 0) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":24 - * import hashlib - * import textwrap - * import tempfile # <<<<<<<<<<<<<< - * import contextlib - * - */ - __Pyx_TraceLine(24,0,__PYX_ERR(0, 24, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_tempfile, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempfile, __pyx_t_2) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":25 - * import textwrap - * import tempfile - * import contextlib # <<<<<<<<<<<<<< - * - * import numpy as np - */ - __Pyx_TraceLine(25,0,__PYX_ERR(0, 25, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_contextlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_contextlib, __pyx_t_2) < 0) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":27 - * import contextlib - * - * import numpy as np # <<<<<<<<<<<<<< - * from io import BytesIO - * import pytest - */ - __Pyx_TraceLine(27,0,__PYX_ERR(0, 27, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_2) < 0) __PYX_ERR(0, 27, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":28 - * - * import numpy as np - * from io import BytesIO # <<<<<<<<<<<<<< - * import pytest - * - */ - __Pyx_TraceLine(28,0,__PYX_ERR(0, 28, __pyx_L1_error)) - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_BytesIO); - __Pyx_GIVEREF(__pyx_n_s_BytesIO); - PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_BytesIO); - __pyx_t_1 = __Pyx_Import(__pyx_n_s_io, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_BytesIO, __pyx_t_2) < 0) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":29 - * import numpy as np - * from io import BytesIO - * import pytest # <<<<<<<<<<<<<< - * - * import indexed_gzip as igzip - */ - __Pyx_TraceLine(29,0,__PYX_ERR(0, 29, __pyx_L1_error)) - __pyx_t_1 = __Pyx_Import(__pyx_n_s_pytest, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_pytest, __pyx_t_1) < 0) __PYX_ERR(0, 29, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":31 - * import pytest - * - * import indexed_gzip as igzip # <<<<<<<<<<<<<< - * - * from . import gen_test_data - */ - __Pyx_TraceLine(31,0,__PYX_ERR(0, 31, __pyx_L1_error)) - __pyx_t_1 = __Pyx_Import(__pyx_n_s_indexed_gzip, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_igzip, __pyx_t_1) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":33 - * import indexed_gzip as igzip - * - * from . import gen_test_data # <<<<<<<<<<<<<< - * from . import check_data_valid - * from . import tempdir - */ - __Pyx_TraceLine(33,0,__PYX_ERR(0, 33, __pyx_L1_error)) - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s_gen_test_data); - __Pyx_GIVEREF(__pyx_n_s_gen_test_data); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_gen_test_data); - __pyx_t_2 = __Pyx_Import(__pyx_n_s__5, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_gen_test_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_gen_test_data, __pyx_t_1) < 0) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":34 - * - * from . import gen_test_data - * from . import check_data_valid # <<<<<<<<<<<<<< - * from . import tempdir - * from . import touch - */ - __Pyx_TraceLine(34,0,__PYX_ERR(0, 34, __pyx_L1_error)) - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_check_data_valid); - __Pyx_GIVEREF(__pyx_n_s_check_data_valid); - PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_check_data_valid); - __pyx_t_1 = __Pyx_Import(__pyx_n_s__5, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_data_valid, __pyx_t_2) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":35 - * from . import gen_test_data - * from . import check_data_valid - * from . import tempdir # <<<<<<<<<<<<<< - * from . import touch - * from . import compress - */ - __Pyx_TraceLine(35,0,__PYX_ERR(0, 35, __pyx_L1_error)) - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s_tempdir); - __Pyx_GIVEREF(__pyx_n_s_tempdir); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_tempdir); - __pyx_t_2 = __Pyx_Import(__pyx_n_s__5, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempdir, __pyx_t_1) < 0) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":36 - * from . import check_data_valid - * from . import tempdir - * from . import touch # <<<<<<<<<<<<<< - * from . import compress - * - */ - __Pyx_TraceLine(36,0,__PYX_ERR(0, 36, __pyx_L1_error)) - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_touch); - __Pyx_GIVEREF(__pyx_n_s_touch); - PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_touch); - __pyx_t_1 = __Pyx_Import(__pyx_n_s__5, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_touch); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_touch, __pyx_t_2) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":37 - * from . import tempdir - * from . import touch - * from . import compress # <<<<<<<<<<<<<< - * - * from collections import deque - */ - __Pyx_TraceLine(37,0,__PYX_ERR(0, 37, __pyx_L1_error)) - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s_compress); - __Pyx_GIVEREF(__pyx_n_s_compress); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_compress); - __pyx_t_2 = __Pyx_Import(__pyx_n_s__5, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_compress); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_compress, __pyx_t_1) < 0) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":39 - * from . import compress - * - * from collections import deque # <<<<<<<<<<<<<< - * - * from libc.stdio cimport (SEEK_SET, - */ - __Pyx_TraceLine(39,0,__PYX_ERR(0, 39, __pyx_L1_error)) - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_deque); - __Pyx_GIVEREF(__pyx_n_s_deque); - PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_deque); - __pyx_t_1 = __Pyx_Import(__pyx_n_s_collections, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_deque); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_deque, __pyx_t_2) < 0) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":46 - * - * - * class BytesBuffer(BytesIO): # <<<<<<<<<<<<<< - * """ - * A class for a buffer of bytes. Unlike io.BytesIO(), this class - */ - __Pyx_TraceLine(46,0,__PYX_ERR(0, 46, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_BytesBuffer, __pyx_n_s_BytesBuffer, (PyObject *) NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_kp_s_A_class_for_a_buffer_of_bytes_U); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":52 - * """ - * - * def __init__(self): # <<<<<<<<<<<<<< - * self.__buf = deque() - * self.__size = 0 - */ - __Pyx_TraceLine(52,0,__PYX_ERR(0, 52, __pyx_L1_error)) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_1__init__, 0, __pyx_n_s_BytesBuffer___init, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":57 - * self.__pos = 0 - * - * def __len__(self): # <<<<<<<<<<<<<< - * return self.__size - * - */ - __Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error)) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_3__len__, 0, __pyx_n_s_BytesBuffer___len, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_len, __pyx_t_4) < 0) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":60 - * return self.__size - * - * def write(self, data): # <<<<<<<<<<<<<< - * self.__buf.append(data) - * self.__size += len(data) - */ - __Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error)) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_5write, 0, __pyx_n_s_BytesBuffer_write, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_write, __pyx_t_4) < 0) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":65 - * # print(f"In BytesBuffer write, self.__size: {self.__size}, len(data): {len(data)}") - * - * def read(self, size = None): # <<<<<<<<<<<<<< - * if size is None: - * size = self.__size - */ - __Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L1_error)) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_7read, 0, __pyx_n_s_BytesBuffer_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__94); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_read, __pyx_t_4) < 0) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":85 - * return ret - * - * def peek(self, size: int): # <<<<<<<<<<<<<< - * b = bytearray() - * for i in range(0, min(size, len(self.__buf))): - */ - __Pyx_TraceLine(85,0,__PYX_ERR(0, 85, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_size, __pyx_n_u_int) < 0) __PYX_ERR(0, 85, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_9peek, 0, __pyx_n_s_BytesBuffer_peek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_peek, __pyx_t_5) < 0) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":91 - * return bytes(b)[:size] - * - * def flush(self): # <<<<<<<<<<<<<< - * pass - * - */ - __Pyx_TraceLine(91,0,__PYX_ERR(0, 91, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_11flush, 0, __pyx_n_s_BytesBuffer_flush, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_flush, __pyx_t_5) < 0) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":94 - * pass - * - * def close(self): # <<<<<<<<<<<<<< - * pass - * - */ - __Pyx_TraceLine(94,0,__PYX_ERR(0, 94, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_13close, 0, __pyx_n_s_BytesBuffer_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_close, __pyx_t_5) < 0) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":97 - * pass - * - * def tell(self): # <<<<<<<<<<<<<< - * return self.__pos - * - */ - __Pyx_TraceLine(97,0,__PYX_ERR(0, 97, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_15tell, 0, __pyx_n_s_BytesBuffer_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_tell, __pyx_t_5) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":100 - * return self.__pos - * - * def __bool__(self): # <<<<<<<<<<<<<< - * return True - * - */ - __Pyx_TraceLine(100,0,__PYX_ERR(0, 100, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11BytesBuffer_17__bool__, 0, __pyx_n_s_BytesBuffer___bool, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_bool, __pyx_t_5) < 0) __PYX_ERR(0, 100, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":46 - * - * - * class BytesBuffer(BytesIO): # <<<<<<<<<<<<<< - * """ - * A class for a buffer of bytes. Unlike io.BytesIO(), this class - */ - __Pyx_TraceLine(46,0,__PYX_ERR(0, 46, __pyx_L1_error)) - __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_BytesBuffer, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_BytesBuffer, __pyx_t_5) < 0) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":104 - * - * - * class GzipStream(BytesIO): # <<<<<<<<<<<<<< - * """A stream that gzips a file in chunks. - * """ - */ - __Pyx_TraceLine(104,0,__PYX_ERR(0, 104, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_GzipStream, __pyx_n_s_GzipStream, (PyObject *) NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_kp_s_A_stream_that_gzips_a_file_in_ch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":108 - * """ - * - * def __init__(self, fileobj): # <<<<<<<<<<<<<< - * self.__input = fileobj - * self.__buffer = BytesBuffer() - */ - __Pyx_TraceLine(108,0,__PYX_ERR(0, 108, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_1__init__, 0, __pyx_n_s_GzipStream___init, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_5) < 0) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":114 - * self.__size = 0 - * - * def _fill_buf_bytes(self, num_bytes=None): # <<<<<<<<<<<<<< - * try: - * while num_bytes is None or len(self.__buffer) < num_bytes: - */ - __Pyx_TraceLine(114,0,__PYX_ERR(0, 114, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_3_fill_buf_bytes, 0, __pyx_n_s_GzipStream__fill_buf_bytes, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 114, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__102); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_fill_buf_bytes, __pyx_t_5) < 0) __PYX_ERR(0, 114, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":127 - * raise e - * - * def read(self, num_bytes=None): # <<<<<<<<<<<<<< - * try: - * self._fill_buf_bytes(num_bytes) - */ - __Pyx_TraceLine(127,0,__PYX_ERR(0, 127, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_5read, 0, __pyx_n_s_GzipStream_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_5, __pyx_tuple__104); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_read, __pyx_t_5) < 0) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":139 - * - * - * def close(self): # <<<<<<<<<<<<<< - * self.__input.close() - * - */ - __Pyx_TraceLine(139,0,__PYX_ERR(0, 139, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_7close, 0, __pyx_n_s_GzipStream_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_close, __pyx_t_5) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":142 - * self.__input.close() - * - * def peek(self, num_bytes): # <<<<<<<<<<<<<< - * self._fill_buf_bytes(num_bytes) - * return self.__buffer.peek(num_bytes) - */ - __Pyx_TraceLine(142,0,__PYX_ERR(0, 142, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_9peek, 0, __pyx_n_s_GzipStream_peek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_peek, __pyx_t_5) < 0) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":146 - * return self.__buffer.peek(num_bytes) - * - * def tell(self): # <<<<<<<<<<<<<< - * print(f"In GzipStream, tell() is called. self.__size is {self.__size}") - * return self.__size - */ - __Pyx_TraceLine(146,0,__PYX_ERR(0, 146, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_11tell, 0, __pyx_n_s_GzipStream_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_tell, __pyx_t_5) < 0) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":150 - * return self.__size - * - * def seekable(self): # <<<<<<<<<<<<<< - * return False - * - */ - __Pyx_TraceLine(150,0,__PYX_ERR(0, 150, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_10GzipStream_13seekable, 0, __pyx_n_s_GzipStream_seekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_seekable, __pyx_t_5) < 0) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":104 - * - * - * class GzipStream(BytesIO): # <<<<<<<<<<<<<< - * """A stream that gzips a file in chunks. - * """ - */ - __Pyx_TraceLine(104,0,__PYX_ERR(0, 104, __pyx_L1_error)) - __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_GzipStream, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_GzipStream, __pyx_t_5) < 0) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":153 - * return False - * - * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< - * raise Exception("Error") - * - */ - __Pyx_TraceLine(153,0,__PYX_ERR(0, 153, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_1error_fn, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_error_fn, __pyx_t_1) < 0) __PYX_ERR(0, 153, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":157 - * - * - * def read_element(gzf, element, seek=True): # <<<<<<<<<<<<<< - * - * if seek: - */ - __Pyx_TraceLine(157,0,__PYX_ERR(0, 157, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_3read_element, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_read_element, __pyx_t_1) < 0) __PYX_ERR(0, 157, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":168 - * - * - * def write_text_to_gzip_file(fname, lines): # <<<<<<<<<<<<<< - * with gzip.open(fname, mode='wb') as f: - * for line in lines: - */ - __Pyx_TraceLine(168,0,__PYX_ERR(0, 168, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_5write_text_to_gzip_file, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_write_text_to_gzip_file, __pyx_t_1) < 0) __PYX_ERR(0, 168, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":174 - * - * - * def test_open_close(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< - * - * f = igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) - */ - __Pyx_TraceLine(174,0,__PYX_ERR(0, 174, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_7test_open_close, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_close, __pyx_t_1) < 0) __PYX_ERR(0, 174, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":192 - * f.close() - * - * def test_open_function(testfile, nelems): # <<<<<<<<<<<<<< - * - * f1 = None - */ - __Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_9test_open_function, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_function, __pyx_t_1) < 0) __PYX_ERR(0, 192, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":214 - * - * - * def test_open_close_ctxmanager(testfile, nelems, seed, drop): # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - __Pyx_TraceLine(214,0,__PYX_ERR(0, 214, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_11test_open_close_ctxmanager, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_close_ctxmanager, __pyx_t_1) < 0) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":225 - * - * - * def test_open_mode(): # <<<<<<<<<<<<<< - * - * modes = [('r', True), - */ - __Pyx_TraceLine(225,0,__PYX_ERR(0, 225, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_13test_open_mode, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_open_mode, __pyx_t_1) < 0) __PYX_ERR(0, 225, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":273 - * - * - * def test_atts(testfile, drop): # <<<<<<<<<<<<<< - * - * modes = [None, 'rb', 'r'] - */ - __Pyx_TraceLine(273,0,__PYX_ERR(0, 273, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_15test_atts, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_atts, __pyx_t_1) < 0) __PYX_ERR(0, 273, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":298 - * - * - * def test_init_failure_cases(concat, drop): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(298,0,__PYX_ERR(0, 298, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_17test_init_failure_cases, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_failure_cases, __pyx_t_1) < 0) __PYX_ERR(0, 298, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":338 - * - * - * def test_init_success_cases(concat, drop): # <<<<<<<<<<<<<< - * with tempdir() as td: - * testfile = op.join(td, 'test.gz') - */ - __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_19test_init_success_cases, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_success_cases, __pyx_t_1) < 0) __PYX_ERR(0, 338, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":359 - * - * - * def test_create_from_open_handle(testfile, nelems, seed, drop, file_like_object): # <<<<<<<<<<<<<< - * - * f = open(testfile, 'rb') - */ - __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_21test_create_from_open_handle, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_create_from_open_handle, __pyx_t_1) < 0) __PYX_ERR(0, 359, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":385 - * - * - * def test_accept_filename_or_fileobj(testfile, nelems): # <<<<<<<<<<<<<< - * - * f = None - */ - __Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_23test_accept_filename_or_fileobj, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_accept_filename_or_fileobj, __pyx_t_1) < 0) __PYX_ERR(0, 385, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":418 - * - * - * def test_prioritize_fd_over_f(testfile, nelems): # <<<<<<<<<<<<<< - * """When a fileobj with an associated fileno is passed to IndexedGzipFile, - * the fileobj's file descriptor (fd) should be utilized by zran.c - */ - __Pyx_TraceLine(418,0,__PYX_ERR(0, 418, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_25test_prioritize_fd_over_f, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_prioritize_fd_over_f, __pyx_t_1) < 0) __PYX_ERR(0, 418, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":448 - * - * - * def test_handles_not_dropped(testfile, nelems, seed): # <<<<<<<<<<<<<< - * - * # When drop_handles is False - */ - __Pyx_TraceLine(448,0,__PYX_ERR(0, 448, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_27test_handles_not_dropped, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_handles_not_dropped, __pyx_t_1) < 0) __PYX_ERR(0, 448, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":481 - * - * - * def test_manual_build(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * nelems = 65536 - */ - __Pyx_TraceLine(481,0,__PYX_ERR(0, 481, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_29test_manual_build, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_manual_build, __pyx_t_1) < 0) __PYX_ERR(0, 481, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":525 - * - * - * def test_read_all(testfile, nelems, use_mmap, drop): # <<<<<<<<<<<<<< - * - * if use_mmap: - */ - __Pyx_TraceLine(525,0,__PYX_ERR(0, 525, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_31test_read_all, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_all, __pyx_t_1) < 0) __PYX_ERR(0, 525, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":540 - * - * - * def test_simple_read_with_null_padding(): # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(540,0,__PYX_ERR(0, 540, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_33test_simple_read_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_simple_read_with_null_paddi, __pyx_t_1) < 0) __PYX_ERR(0, 540, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":558 - * - * - * def test_read_with_null_padding(testfile, nelems, use_mmap): # <<<<<<<<<<<<<< - * - * if use_mmap: - */ - __Pyx_TraceLine(558,0,__PYX_ERR(0, 558, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_35test_read_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 558, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_with_null_padding, __pyx_t_1) < 0) __PYX_ERR(0, 558, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":578 - * - * - * def test_read_beyond_end(concat, drop): # <<<<<<<<<<<<<< - * with tempdir() as tdir: - * nelems = 65536 - */ - __Pyx_TraceLine(578,0,__PYX_ERR(0, 578, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_37test_read_beyond_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_beyond_end, __pyx_t_1) < 0) __PYX_ERR(0, 578, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":601 - * - * - * def test_seek(concat): # <<<<<<<<<<<<<< - * with tempdir() as tdir: - * nelems = 262144 # == 2MB - */ - __Pyx_TraceLine(601,0,__PYX_ERR(0, 601, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_39test_seek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 601, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek, __pyx_t_1) < 0) __PYX_ERR(0, 601, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":639 - * - * - * def test_seek_and_read(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< - * - * with igzip._IndexedGzipFile(filename=testfile, drop_handles=drop) as f: - */ - __Pyx_TraceLine(639,0,__PYX_ERR(0, 639, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_41test_seek_and_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 639, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_and_read, __pyx_t_1) < 0) __PYX_ERR(0, 639, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":657 - * - * - * def test_seek_and_tell(testfile, nelems, niters, seed, drop): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - __Pyx_TraceLine(657,0,__PYX_ERR(0, 657, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_43test_seek_and_tell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_and_tell, __pyx_t_1) < 0) __PYX_ERR(0, 657, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":691 - * - * - * def test_pread(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * nelems = 1024 - */ - __Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_45test_pread, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_pread, __pyx_t_1) < 0) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":705 - * - * - * def test_readinto(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * line 1 - */ - __Pyx_TraceLine(705,0,__PYX_ERR(0, 705, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_47test_readinto, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readinto, __pyx_t_1) < 0) __PYX_ERR(0, 705, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":770 - * - * - * def test_readline(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * this is - */ - __Pyx_TraceLine(770,0,__PYX_ERR(0, 770, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_49test_readline, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 770, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readline, __pyx_t_1) < 0) __PYX_ERR(0, 770, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":798 - * - * - * def test_readline_sizelimit(drop): # <<<<<<<<<<<<<< - * - * lines = ['line one', 'line two'] - */ - __Pyx_TraceLine(798,0,__PYX_ERR(0, 798, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_51test_readline_sizelimit, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readline_sizelimit, __pyx_t_1) < 0) __PYX_ERR(0, 798, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":828 - * - * - * def test_readlines(drop): # <<<<<<<<<<<<<< - * lines = textwrap.dedent(""" - * this is - */ - __Pyx_TraceLine(828,0,__PYX_ERR(0, 828, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_53test_readlines, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 828, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readlines, __pyx_t_1) < 0) __PYX_ERR(0, 828, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":854 - * - * - * def test_readlines_sizelimit(drop): # <<<<<<<<<<<<<< - * - * lines = ['line one', 'line two'] - */ - __Pyx_TraceLine(854,0,__PYX_ERR(0, 854, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_55test_readlines_sizelimit, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 854, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readlines_sizelimit, __pyx_t_1) < 0) __PYX_ERR(0, 854, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":883 - * - * - * def test_iter(drop): # <<<<<<<<<<<<<< - * - * lines = textwrap.dedent(""" - */ - __Pyx_TraceLine(883,0,__PYX_ERR(0, 883, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_57test_iter, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 883, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_iter, __pyx_t_1) < 0) __PYX_ERR(0, 883, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":908 - * - * - * def test_get_index_seek_points(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(908,0,__PYX_ERR(0, 908, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_59test_get_index_seek_points, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 908, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_get_index_seek_points, __pyx_t_1) < 0) __PYX_ERR(0, 908, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":934 - * - * - * def test_import_export_index(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(934,0,__PYX_ERR(0, 934, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_61test_import_export_index, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 934, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_import_export_index, __pyx_t_1) < 0) __PYX_ERR(0, 934, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":967 - * - * - * def test_import_export_index_open_file(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_63test_import_export_index_open_file, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_import_export_index_open_fi, __pyx_t_1) < 0) __PYX_ERR(0, 967, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1024 - * - * - * def test_build_index_from_unseekable(): # <<<<<<<<<<<<<< - * with tempdir() as td: - * fname = op.join(td, 'test.gz') - */ - __Pyx_TraceLine(1024,0,__PYX_ERR(0, 1024, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_65test_build_index_from_unseekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1024, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_build_index_from_unseekable, __pyx_t_1) < 0) __PYX_ERR(0, 1024, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1077 - * - * - * def test_wrapper_class(): # <<<<<<<<<<<<<< - * - * with tempdir() as td: - */ - __Pyx_TraceLine(1077,0,__PYX_ERR(0, 1077, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_67test_wrapper_class, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1077, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_wrapper_class, __pyx_t_1) < 0) __PYX_ERR(0, 1077, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1098 - * - * - * def gcd(num): # <<<<<<<<<<<<<< - * if num <= 3: - * return 1 - */ - __Pyx_TraceLine(1098,0,__PYX_ERR(0, 1098, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_69gcd, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1098, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_gcd, __pyx_t_1) < 0) __PYX_ERR(0, 1098, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1109 - * - * - * def test_size_multiple_of_readbuf(): # <<<<<<<<<<<<<< - * - * fname = 'test.gz' - */ - __Pyx_TraceLine(1109,0,__PYX_ERR(0, 1109, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_71test_size_multiple_of_readbuf, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_size_multiple_of_readbuf, __pyx_t_1) < 0) __PYX_ERR(0, 1109, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1158 - * - * - * def test_picklable(): # <<<<<<<<<<<<<< - * - * # default behaviour is for drop_handles=True, - */ - __Pyx_TraceLine(1158,0,__PYX_ERR(0, 1158, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_73test_picklable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_picklable, __pyx_t_1) < 0) __PYX_ERR(0, 1158, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1205 - * - * - * def test_copyable(): # <<<<<<<<<<<<<< - * fname = 'test.gz' - * - */ - __Pyx_TraceLine(1205,0,__PYX_ERR(0, 1205, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_75test_copyable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_copyable, __pyx_t_1) < 0) __PYX_ERR(0, 1205, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1261 - * - * - * def _mpfunc(gzf, size, offset): # <<<<<<<<<<<<<< - * gzf.seek(offset) - * bytes = gzf.read(size) - */ - __Pyx_TraceLine(1261,0,__PYX_ERR(0, 1261, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_77_mpfunc, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_mpfunc, __pyx_t_1) < 0) __PYX_ERR(0, 1261, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1270 - * - * - * def test_multiproc_serialise(): # <<<<<<<<<<<<<< - * fname = 'test.gz' - * with tempdir(): - */ - __Pyx_TraceLine(1270,0,__PYX_ERR(0, 1270, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_79test_multiproc_serialise, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1270, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_multiproc_serialise, __pyx_t_1) < 0) __PYX_ERR(0, 1270, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1298 - * - * - * def test_32bit_overflow(niters, seed): # <<<<<<<<<<<<<< - * with tempdir(): - * - */ - __Pyx_TraceLine(1298,0,__PYX_ERR(0, 1298, __pyx_L1_error)) - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_18ctest_indexed_gzip_81test_32bit_overflow, NULL, __pyx_n_s_indexed_gzip_tests_ctest_indexed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_32bit_overflow, __pyx_t_1) < 0) __PYX_ERR(0, 1298, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_indexed_gzip.pyx":1 - * # # <<<<<<<<<<<<<< - * # Tests for the indexed_gzip module. - * # - */ - __Pyx_TraceLine(1,0,__PYX_ERR(0, 1, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_TraceReturn(Py_None, 0); - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - if (__pyx_m) { - if (__pyx_d) { - __Pyx_AddTraceback("init indexed_gzip.tests.ctest_indexed_gzip", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - Py_CLEAR(__pyx_m); - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init indexed_gzip.tests.ctest_indexed_gzip"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); - if (unlikely(!result)) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -} -#endif - -/* Profile */ -#if CYTHON_PROFILE -static int __Pyx_TraceSetupAndCall(PyCodeObject** code, - PyFrameObject** frame, - PyThreadState* tstate, - const char *funcname, - const char *srcfile, - int firstlineno) { - PyObject *type, *value, *traceback; - int retval; - if (*frame == NULL || !CYTHON_PROFILE_REUSE_FRAME) { - if (*code == NULL) { - *code = __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno); - if (*code == NULL) return 0; - } - *frame = PyFrame_New( - tstate, /*PyThreadState *tstate*/ - *code, /*PyCodeObject *code*/ - __pyx_d, /*PyObject *globals*/ - 0 /*PyObject *locals*/ - ); - if (*frame == NULL) return 0; - if (CYTHON_TRACE && (*frame)->f_trace == NULL) { - Py_INCREF(Py_None); - (*frame)->f_trace = Py_None; - } -#if PY_VERSION_HEX < 0x030400B1 - } else { - (*frame)->f_tstate = tstate; -#endif - } - __Pyx_PyFrame_SetLineNumber(*frame, firstlineno); - retval = 1; - __Pyx_EnterTracing(tstate); - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - #if CYTHON_TRACE - if (tstate->c_tracefunc) - retval = tstate->c_tracefunc(tstate->c_traceobj, *frame, PyTrace_CALL, NULL) == 0; - if (retval && tstate->c_profilefunc) - #endif - retval = tstate->c_profilefunc(tstate->c_profileobj, *frame, PyTrace_CALL, NULL) == 0; - __Pyx_LeaveTracing(tstate); - if (retval) { - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - return __Pyx_IsTracing(tstate, 0, 0) && retval; - } else { - Py_XDECREF(type); - Py_XDECREF(value); - Py_XDECREF(traceback); - return -1; - } -} -static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno) { - PyCodeObject *py_code = 0; -#if PY_MAJOR_VERSION >= 3 - py_code = PyCode_NewEmpty(srcfile, funcname, firstlineno); - if (likely(py_code)) { - py_code->co_flags |= CO_OPTIMIZED | CO_NEWLOCALS; - } -#else - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; - py_funcname = PyString_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - py_srcfile = PyString_FromString(srcfile); - if (unlikely(!py_srcfile)) goto bad; - py_code = PyCode_New( - 0, - 0, - 0, - CO_OPTIMIZED | CO_NEWLOCALS, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - firstlineno, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -bad: - Py_XDECREF(py_srcfile); - Py_XDECREF(py_funcname); -#endif - return py_code; -} -#endif - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { - return NULL; - } - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = PyCFunction_GET_FUNCTION(func); - self = PyCFunction_GET_SELF(func); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallNoArg */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, NULL, 0); - } -#endif -#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG) - if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) -#else - if (likely(PyCFunction_Check(func))) -#endif - { - if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { - return __Pyx_PyObject_CallMethO(func, NULL); - } - } - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); -} -#endif - -/* PyCFunctionFastCall */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { - PyCFunctionObject *func = (PyCFunctionObject*)func_obj; - PyCFunction meth = PyCFunction_GET_FUNCTION(func); - PyObject *self = PyCFunction_GET_SELF(func); - int flags = PyCFunction_GET_FLAGS(func); - assert(PyCFunction_Check(func)); - assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); - assert(nargs >= 0); - assert(nargs == 0 || args != NULL); - /* _PyCFunction_FastCallDict() must not be called with an exception set, - because it may clear it (directly or indirectly) and so the - caller loses its exception */ - assert(!PyErr_Occurred()); - if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { - return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); - } else { - return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); - } -} -#endif - -/* PyObjectCallOneArg */ -#if CYTHON_COMPILING_IN_CPYTHON -static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_New(1); - if (unlikely(!args)) return NULL; - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 0, arg); - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, &arg, 1); - } -#endif - if (likely(PyCFunction_Check(func))) { - if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { - return __Pyx_PyObject_CallMethO(func, arg); -#if CYTHON_FAST_PYCCALL - } else if (__Pyx_PyFastCFunction_Check(func)) { - return __Pyx_PyCFunction_FastCall(func, &arg, 1); -#endif - } - } - return __Pyx__PyObject_CallOneArg(func, arg); -} -#else -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_Pack(1, arg); - if (unlikely(!args)) return NULL; - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -#endif - -/* PyObjectSetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_setattro)) - return tp->tp_setattro(obj, attr_name, value); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_setattr)) - return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); -#endif - return PyObject_SetAttr(obj, attr_name, value); -} -#endif - -/* RaiseArgTupleInvalid */ -static void __Pyx_RaiseArgtupleInvalid( - const char* func_name, - int exact, - Py_ssize_t num_min, - Py_ssize_t num_max, - Py_ssize_t num_found) -{ - Py_ssize_t num_expected; - const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; - } else { - num_expected = num_max; - more_or_less = "at most"; - } - if (exact) { - more_or_less = "exactly"; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", - func_name, more_or_less, num_expected, - (num_expected == 1) ? "" : "s", num_found); -} - -/* RaiseDoubleKeywords */ -static void __Pyx_RaiseDoubleKeywordsError( - const char* func_name, - PyObject* kw_name) -{ - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION >= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; - continue; - } - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = (**name == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - return -1; -} - -/* PyObjectCall2Args */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args, *result = NULL; - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyFunction_FastCall(function, args, 2); - } - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyCFunction_FastCall(function, args, 2); - } - #endif - args = PyTuple_New(2); - if (unlikely(!args)) goto done; - Py_INCREF(arg1); - PyTuple_SET_ITEM(args, 0, arg1); - Py_INCREF(arg2); - PyTuple_SET_ITEM(args, 1, arg2); - Py_INCREF(function); - result = __Pyx_PyObject_Call(function, args, NULL); - Py_DECREF(args); - Py_DECREF(function); -done: - return result; -} - -/* PyObjectGetMethod */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { - PyObject *attr; -#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP - PyTypeObject *tp = Py_TYPE(obj); - PyObject *descr; - descrgetfunc f = NULL; - PyObject **dictptr, *dict; - int meth_found = 0; - assert (*method == NULL); - if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; - } - if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { - return 0; - } - descr = _PyType_Lookup(tp, name); - if (likely(descr != NULL)) { - Py_INCREF(descr); -#if PY_MAJOR_VERSION >= 3 - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type))) - #endif -#else - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr))) - #endif -#endif - { - meth_found = 1; - } else { - f = Py_TYPE(descr)->tp_descr_get; - if (f != NULL && PyDescr_IsData(descr)) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - } - } - dictptr = _PyObject_GetDictPtr(obj); - if (dictptr != NULL && (dict = *dictptr) != NULL) { - Py_INCREF(dict); - attr = __Pyx_PyDict_GetItemStr(dict, name); - if (attr != NULL) { - Py_INCREF(attr); - Py_DECREF(dict); - Py_XDECREF(descr); - goto try_unpack; - } - Py_DECREF(dict); - } - if (meth_found) { - *method = descr; - return 1; - } - if (f != NULL) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - if (descr != NULL) { - *method = descr; - return 0; - } - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'%.50s' object has no attribute '%U'", - tp->tp_name, name); -#else - "'%.50s' object has no attribute '%.400s'", - tp->tp_name, PyString_AS_STRING(name)); -#endif - return 0; -#else - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; -#endif -try_unpack: -#if CYTHON_UNPACK_METHODS - if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { - PyObject *function = PyMethod_GET_FUNCTION(attr); - Py_INCREF(function); - Py_DECREF(attr); - *method = function; - return 1; - } -#endif - *method = attr; - return 0; -} - -/* PyObjectCallMethod1 */ -static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { - PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); - Py_DECREF(method); - return result; -} -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { - PyObject *method = NULL, *result; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_Call2Args(method, obj, arg); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) return NULL; - return __Pyx__PyObject_CallMethod1(method, arg); -} - -/* append */ -static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) { - if (likely(PyList_CheckExact(L))) { - if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1; - } else { - PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x); - if (unlikely(!retval)) - return -1; - Py_DECREF(retval); - } - return 0; -} - -/* GetItemInt */ -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return m->sq_item(o, i); - } - } -#else - if (is_list || PySequence_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* SliceObject */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, - Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, - int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { -#if CYTHON_USE_TYPE_SLOTS - PyMappingMethods* mp; -#if PY_MAJOR_VERSION < 3 - PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; - if (likely(ms && ms->sq_slice)) { - if (!has_cstart) { - if (_py_start && (*_py_start != Py_None)) { - cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); - if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstart = 0; - } - if (!has_cstop) { - if (_py_stop && (*_py_stop != Py_None)) { - cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); - if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstop = PY_SSIZE_T_MAX; - } - if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { - Py_ssize_t l = ms->sq_length(obj); - if (likely(l >= 0)) { - if (cstop < 0) { - cstop += l; - if (cstop < 0) cstop = 0; - } - if (cstart < 0) { - cstart += l; - if (cstart < 0) cstart = 0; - } - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - goto bad; - PyErr_Clear(); - } - } - return ms->sq_slice(obj, cstart, cstop); - } -#endif - mp = Py_TYPE(obj)->tp_as_mapping; - if (likely(mp && mp->mp_subscript)) -#endif - { - PyObject* result; - PyObject *py_slice, *py_start, *py_stop; - if (_py_slice) { - py_slice = *_py_slice; - } else { - PyObject* owned_start = NULL; - PyObject* owned_stop = NULL; - if (_py_start) { - py_start = *_py_start; - } else { - if (has_cstart) { - owned_start = py_start = PyInt_FromSsize_t(cstart); - if (unlikely(!py_start)) goto bad; - } else - py_start = Py_None; - } - if (_py_stop) { - py_stop = *_py_stop; - } else { - if (has_cstop) { - owned_stop = py_stop = PyInt_FromSsize_t(cstop); - if (unlikely(!py_stop)) { - Py_XDECREF(owned_start); - goto bad; - } - } else - py_stop = Py_None; - } - py_slice = PySlice_New(py_start, py_stop, Py_None); - Py_XDECREF(owned_start); - Py_XDECREF(owned_stop); - if (unlikely(!py_slice)) goto bad; - } -#if CYTHON_USE_TYPE_SLOTS - result = mp->mp_subscript(obj, py_slice); -#else - result = PyObject_GetItem(obj, py_slice); -#endif - if (!_py_slice) { - Py_DECREF(py_slice); - } - return result; - } - PyErr_Format(PyExc_TypeError, - "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); -bad: - return NULL; -} - -/* SetItemInt */ -static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { - int r; - if (!j) return -1; - r = PyObject_SetItem(o, j, v); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list, - CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o)); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) { - PyObject* old = PyList_GET_ITEM(o, n); - Py_INCREF(v); - PyList_SET_ITEM(o, n, v); - Py_DECREF(old); - return 1; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_ass_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return -1; - PyErr_Clear(); - } - } - return m->sq_ass_item(o, i, v); - } - } -#else -#if CYTHON_COMPILING_IN_PYPY - if (is_list || (PySequence_Check(o) && !PyDict_Check(o))) -#else - if (is_list || PySequence_Check(o)) -#endif - { - return PySequence_SetItem(o, i, v); - } -#endif - return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v); -} - -/* StringJoin */ -#if !CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) { - return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL); -} -#endif - -/* ObjectGetItem */ -#if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { - PyObject *runerr = NULL; - Py_ssize_t key_value; - PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; - if (unlikely(!(m && m->sq_item))) { - PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); - return NULL; - } - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - PyErr_Clear(); - PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { - PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; - if (likely(m && m->mp_subscript)) { - return m->mp_subscript(obj, key); - } - return __Pyx_PyObject_GetIndex(obj, key); -} -#endif - -/* UnpackUnboundCMethod */ -static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { - PyObject *method; - method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); - if (unlikely(!method)) - return -1; - target->method = method; -#if CYTHON_COMPILING_IN_CPYTHON - #if PY_MAJOR_VERSION >= 3 - if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) - #endif - { - PyMethodDescrObject *descr = (PyMethodDescrObject*) method; - target->func = descr->d_method->ml_meth; - target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); - } -#endif - return 0; -} - -/* CallUnboundCMethod1 */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) { - if (likely(cfunc->func)) { - int flag = cfunc->flag; - if (flag == METH_O) { - return (*(cfunc->func))(self, arg); - } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) { - #if PY_VERSION_HEX >= 0x030700A0 - return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1); - #else - return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); - #endif - } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) { - return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL); - } - } - return __Pyx__CallUnboundCMethod1(cfunc, self, arg); -} -#endif -static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){ - PyObject *args, *result = NULL; - if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; -#if CYTHON_COMPILING_IN_CPYTHON - if (cfunc->func && (cfunc->flag & METH_VARARGS)) { - args = PyTuple_New(1); - if (unlikely(!args)) goto bad; - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 0, arg); - if (cfunc->flag & METH_KEYWORDS) - result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL); - else - result = (*cfunc->func)(self, args); - } else { - args = PyTuple_New(2); - if (unlikely(!args)) goto bad; - Py_INCREF(self); - PyTuple_SET_ITEM(args, 0, self); - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 1, arg); - result = __Pyx_PyObject_Call(cfunc->method, args, NULL); - } -#else - args = PyTuple_Pack(2, self, arg); - if (unlikely(!args)) goto bad; - result = __Pyx_PyObject_Call(cfunc->method, args, NULL); -#endif -bad: - Py_XDECREF(args); - return result; -} - -/* CIntToDigits */ -static const char DIGIT_PAIRS_10[2*10*10+1] = { - "00010203040506070809" - "10111213141516171819" - "20212223242526272829" - "30313233343536373839" - "40414243444546474849" - "50515253545556575859" - "60616263646566676869" - "70717273747576777879" - "80818283848586878889" - "90919293949596979899" -}; -static const char DIGIT_PAIRS_8[2*8*8+1] = { - "0001020304050607" - "1011121314151617" - "2021222324252627" - "3031323334353637" - "4041424344454647" - "5051525354555657" - "6061626364656667" - "7071727374757677" -}; -static const char DIGITS_HEX[2*16+1] = { - "0123456789abcdef" - "0123456789ABCDEF" -}; - -/* BuildPyUnicode */ -static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, char* chars, int clength, - int prepend_sign, char padding_char) { - PyObject *uval; - Py_ssize_t uoffset = ulength - clength; -#if CYTHON_USE_UNICODE_INTERNALS - Py_ssize_t i; -#if CYTHON_PEP393_ENABLED - void *udata; - uval = PyUnicode_New(ulength, 127); - if (unlikely(!uval)) return NULL; - udata = PyUnicode_DATA(uval); -#else - Py_UNICODE *udata; - uval = PyUnicode_FromUnicode(NULL, ulength); - if (unlikely(!uval)) return NULL; - udata = PyUnicode_AS_UNICODE(uval); -#endif - if (uoffset > 0) { - i = 0; - if (prepend_sign) { - __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, 0, '-'); - i++; - } - for (; i < uoffset; i++) { - __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, i, padding_char); - } - } - for (i=0; i < clength; i++) { - __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, uoffset+i, chars[i]); - } -#else - { - PyObject *sign = NULL, *padding = NULL; - uval = NULL; - if (uoffset > 0) { - prepend_sign = !!prepend_sign; - if (uoffset > prepend_sign) { - padding = PyUnicode_FromOrdinal(padding_char); - if (likely(padding) && uoffset > prepend_sign + 1) { - PyObject *tmp; - PyObject *repeat = PyInt_FromSsize_t(uoffset - prepend_sign); - if (unlikely(!repeat)) goto done_or_error; - tmp = PyNumber_Multiply(padding, repeat); - Py_DECREF(repeat); - Py_DECREF(padding); - padding = tmp; - } - if (unlikely(!padding)) goto done_or_error; - } - if (prepend_sign) { - sign = PyUnicode_FromOrdinal('-'); - if (unlikely(!sign)) goto done_or_error; - } - } - uval = PyUnicode_DecodeASCII(chars, clength, NULL); - if (likely(uval) && padding) { - PyObject *tmp = PyNumber_Add(padding, uval); - Py_DECREF(uval); - uval = tmp; - } - if (likely(uval) && sign) { - PyObject *tmp = PyNumber_Add(sign, uval); - Py_DECREF(uval); - uval = tmp; - } -done_or_error: - Py_XDECREF(padding); - Py_XDECREF(sign); - } -#endif - return uval; -} - -/* CIntToPyUnicode */ -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char) { - char digits[sizeof(Py_ssize_t)*3+2]; - char *dpos, *end = digits + sizeof(Py_ssize_t)*3+2; - const char *hex_digits = DIGITS_HEX; - Py_ssize_t length, ulength; - int prepend_sign, last_one_off; - Py_ssize_t remaining; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (format_char == 'X') { - hex_digits += 16; - format_char = 'x'; - } - remaining = value; - last_one_off = 0; - dpos = end; - do { - int digit_pos; - switch (format_char) { - case 'o': - digit_pos = abs((int)(remaining % (8*8))); - remaining = (Py_ssize_t) (remaining / (8*8)); - dpos -= 2; - memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2); - last_one_off = (digit_pos < 8); - break; - case 'd': - digit_pos = abs((int)(remaining % (10*10))); - remaining = (Py_ssize_t) (remaining / (10*10)); - dpos -= 2; - memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2); - last_one_off = (digit_pos < 10); - break; - case 'x': - *(--dpos) = hex_digits[abs((int)(remaining % 16))]; - remaining = (Py_ssize_t) (remaining / 16); - break; - default: - assert(0); - break; - } - } while (unlikely(remaining != 0)); - if (last_one_off) { - assert(*dpos == '0'); - dpos++; - } - length = end - dpos; - ulength = length; - prepend_sign = 0; - if (!is_unsigned && value <= neg_one) { - if (padding_char == ' ' || width <= length + 1) { - *(--dpos) = '-'; - ++length; - } else { - prepend_sign = 1; - } - ++ulength; - } - if (width > ulength) { - ulength = width; - } - if (ulength == 1) { - return PyUnicode_FromOrdinal(*dpos); - } - return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char); -} - -/* JoinPyUnicode */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - CYTHON_UNUSED Py_UCS4 max_char) { -#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyObject *result_uval; - int result_ukind; - Py_ssize_t i, char_pos; - void *result_udata; -#if CYTHON_PEP393_ENABLED - result_uval = PyUnicode_New(result_ulength, max_char); - if (unlikely(!result_uval)) return NULL; - result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; - result_udata = PyUnicode_DATA(result_uval); -#else - result_uval = PyUnicode_FromUnicode(NULL, result_ulength); - if (unlikely(!result_uval)) return NULL; - result_ukind = sizeof(Py_UNICODE); - result_udata = PyUnicode_AS_UNICODE(result_uval); -#endif - char_pos = 0; - for (i=0; i < value_count; i++) { - int ukind; - Py_ssize_t ulength; - void *udata; - PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); - if (unlikely(__Pyx_PyUnicode_READY(uval))) - goto bad; - ulength = __Pyx_PyUnicode_GET_LENGTH(uval); - if (unlikely(!ulength)) - continue; - if (unlikely(char_pos + ulength < 0)) - goto overflow; - ukind = __Pyx_PyUnicode_KIND(uval); - udata = __Pyx_PyUnicode_DATA(uval); - if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { - memcpy((char *)result_udata + char_pos * result_ukind, udata, (size_t) (ulength * result_ukind)); - } else { - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters) - _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); - #else - Py_ssize_t j; - for (j=0; j < ulength; j++) { - Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); - __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); - } - #endif - } - char_pos += ulength; - } - return result_uval; -overflow: - PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); -bad: - Py_DECREF(result_uval); - return NULL; -#else - result_ulength++; - value_count++; - return PyUnicode_Join(__pyx_empty_unicode, value_tuple); -#endif -} - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - #endif - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -#endif - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; icurexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; - if (unlikely(PyTuple_Check(err))) - return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); -} -#endif - -/* GetException */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type, *local_value, *local_tb; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, - CYTHON_UNUSED PyObject *cause) { - __Pyx_PyThreadState_declare - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { -#if CYTHON_COMPILING_IN_PYPY - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#else - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* KeywordStringCheck */ -static int __Pyx_CheckKeywordStrings( - PyObject *kwdict, - const char* function_name, - int kw_allowed) -{ - PyObject* key = 0; - Py_ssize_t pos = 0; -#if CYTHON_COMPILING_IN_PYPY - if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) - goto invalid_keyword; - return 1; -#else - while (PyDict_Next(kwdict, &pos, &key, 0)) { - #if PY_MAJOR_VERSION < 3 - if (unlikely(!PyString_Check(key))) - #endif - if (unlikely(!PyUnicode_Check(key))) - goto invalid_keyword_type; - } - if ((!kw_allowed) && unlikely(key)) - goto invalid_keyword; - return 1; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - return 0; -#endif -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif - return 0; -} - -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* None */ -static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) { - PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname); -} - -/* RaiseTooManyValuesToUnpack */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { - PyErr_Format(PyExc_ValueError, - "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); -} - -/* RaiseNeedMoreValuesToUnpack */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", - index, (index == 1) ? "" : "s"); -} - -/* IterFinish */ -static CYTHON_INLINE int __Pyx_IterFinish(void) { -#if CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* exc_type = tstate->curexc_type; - if (unlikely(exc_type)) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { - PyObject *exc_value, *exc_tb; - exc_value = tstate->curexc_value; - exc_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - Py_DECREF(exc_type); - Py_XDECREF(exc_value); - Py_XDECREF(exc_tb); - return 0; - } else { - return -1; - } - } - return 0; -#else - if (unlikely(PyErr_Occurred())) { - if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { - PyErr_Clear(); - return 0; - } else { - return -1; - } - } - return 0; -#endif -} - -/* UnpackItemEndCheck */ -static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { - if (unlikely(retval)) { - Py_DECREF(retval); - __Pyx_RaiseTooManyValuesError(expected); - return -1; - } - return __Pyx_IterFinish(); -} - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* CalculateMetaclass */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { - Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases); - for (i=0; i < nbases; i++) { - PyTypeObject *tmptype; - PyObject *tmp = PyTuple_GET_ITEM(bases, i); - tmptype = Py_TYPE(tmp); -#if PY_MAJOR_VERSION < 3 - if (tmptype == &PyClass_Type) - continue; -#endif - if (!metaclass) { - metaclass = tmptype; - continue; - } - if (PyType_IsSubtype(metaclass, tmptype)) - continue; - if (PyType_IsSubtype(tmptype, metaclass)) { - metaclass = tmptype; - continue; - } - PyErr_SetString(PyExc_TypeError, - "metaclass conflict: " - "the metaclass of a derived class " - "must be a (non-strict) subclass " - "of the metaclasses of all its bases"); - return NULL; - } - if (!metaclass) { -#if PY_MAJOR_VERSION < 3 - metaclass = &PyClass_Type; -#else - metaclass = &PyType_Type; -#endif - } - Py_INCREF((PyObject*) metaclass); - return (PyObject*) metaclass; -} - -/* Py3ClassCreate */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, - PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { - PyObject *ns; - if (metaclass) { - PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare); - if (prep) { - PyObject *pargs = PyTuple_Pack(2, name, bases); - if (unlikely(!pargs)) { - Py_DECREF(prep); - return NULL; - } - ns = PyObject_Call(prep, pargs, mkw); - Py_DECREF(prep); - Py_DECREF(pargs); - } else { - if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError))) - return NULL; - PyErr_Clear(); - ns = PyDict_New(); - } - } else { - ns = PyDict_New(); - } - if (unlikely(!ns)) - return NULL; - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad; - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad; - if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad; - return ns; -bad: - Py_DECREF(ns); - return NULL; -} -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, - PyObject *dict, PyObject *mkw, - int calculate_metaclass, int allow_py2_metaclass) { - PyObject *result, *margs; - PyObject *owned_metaclass = NULL; - if (allow_py2_metaclass) { - owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass); - if (owned_metaclass) { - metaclass = owned_metaclass; - } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { - PyErr_Clear(); - } else { - return NULL; - } - } - if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { - metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); - Py_XDECREF(owned_metaclass); - if (unlikely(!metaclass)) - return NULL; - owned_metaclass = metaclass; - } - margs = PyTuple_Pack(3, name, bases, dict); - if (unlikely(!margs)) { - result = NULL; - } else { - result = PyObject_Call(metaclass, margs, mkw); - Py_DECREF(margs); - } - Py_XDECREF(owned_metaclass); - return result; -} - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* GetAttr */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { -#if CYTHON_USE_TYPE_SLOTS -#if PY_MAJOR_VERSION >= 3 - if (likely(PyUnicode_Check(n))) -#else - if (likely(PyString_Check(n))) -#endif - return __Pyx_PyObject_GetAttrStr(o, n); -#endif - return PyObject_GetAttr(o, n); -} - -/* HasAttr */ -static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { - PyObject *r; - if (unlikely(!__Pyx_PyBaseString_Check(n))) { - PyErr_SetString(PyExc_TypeError, - "hasattr(): attribute name must be string"); - return -1; - } - r = __Pyx_GetAttr(o, n); - if (unlikely(!r)) { - PyErr_Clear(); - return 0; - } else { - Py_DECREF(r); - return 1; - } -} - -/* PyIntCompare */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { - if (op1 == op2) { - Py_RETURN_TRUE; - } - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - int unequal; - unsigned long uintval; - Py_ssize_t size = Py_SIZE(op1); - const digit* digits = ((PyLongObject*)op1)->ob_digit; - if (intval == 0) { - if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } else if (intval < 0) { - if (size >= 0) - Py_RETURN_FALSE; - intval = -intval; - size = -size; - } else { - if (size <= 0) - Py_RETURN_FALSE; - } - uintval = (unsigned long) intval; -#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 4)) { - unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 3)) { - unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 2)) { - unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 1)) { - unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif - unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); - if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - return ( - PyObject_RichCompare(op1, op2, Py_EQ)); -} - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - x = (long)((unsigned long)a + b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - if (likely(__Pyx_sst_abs(size) <= 1)) { - a = likely(size) ? digits[0] : 0; - if (size == -1) a = -a; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - double result; - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* None */ -static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) { - PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname); -} - -/* FetchCommonType */ -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* fake_module; - PyTypeObject* cached_type = NULL; - fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); - if (!fake_module) return NULL; - Py_INCREF(fake_module); - cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); - if (cached_type) { - if (!PyType_Check((PyObject*)cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", - type->tp_name); - goto bad; - } - if (cached_type->tp_basicsize != type->tp_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - type->tp_name); - goto bad; - } - } else { - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; - } -done: - Py_DECREF(fake_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} - -/* CythonFunctionShared */ -#include -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure) -{ - if (unlikely(op->func_doc == NULL)) { - if (op->func.m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(op->func.m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp = op->func_doc; - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - op->func_doc = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - if (unlikely(op->func_name == NULL)) { -#if PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(op->func.m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - tmp = op->func_name; - Py_INCREF(value); - op->func_name = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - tmp = op->func_qualname; - Py_INCREF(value); - op->func_qualname = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure) -{ - PyObject *self; - self = m->func_closure; - if (self == NULL) - self = Py_None; - Py_INCREF(self); - return self; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - tmp = op->func_dict; - Py_INCREF(value); - op->func_dict = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value) { - value = Py_None; - } else if (value != Py_None && !PyTuple_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - Py_INCREF(value); - tmp = op->defaults_tuple; - op->defaults_tuple = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->defaults_tuple; - if (unlikely(!result)) { - if (op->defaults_getter) { - if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value) { - value = Py_None; - } else if (value != Py_None && !PyDict_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - Py_INCREF(value); - tmp = op->defaults_kwdict; - op->defaults_kwdict = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->defaults_kwdict; - if (unlikely(!result)) { - if (op->defaults_getter) { - if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value || value == Py_None) { - value = NULL; - } else if (!PyDict_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - tmp = op->func_annotations; - op->func_annotations = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->func_annotations; - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0}, - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) -{ -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(m->func.m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - if (unlikely(op == NULL)) - return NULL; - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; - op->func.m_ml = ml; - op->func.m_self = (PyObject *) op; - Py_XINCREF(closure); - op->func_closure = closure; - Py_XINCREF(module); - op->func.m_module = module; - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; - op->func_classobj = NULL; - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); - Py_CLEAR(m->func.m_module); - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); - Py_CLEAR(m->func_classobj); - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - PyObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); - Py_VISIT(m->func.m_module); - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); - Py_VISIT(m->func_classobj); - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) -{ -#if PY_MAJOR_VERSION < 3 - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { - Py_INCREF(func); - return func; - } - if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { - if (type == NULL) - type = (PyObject *)(Py_TYPE(obj)); - return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); - } - if (obj == Py_None) - obj = NULL; -#endif - return __Pyx_PyMethod_New(func, obj, type); -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - Py_ssize_t size; - switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { - size = PyTuple_GET_SIZE(arg); - if (likely(size == 0)) - return (*meth)(self, NULL); - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { - size = PyTuple_GET_SIZE(arg); - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags in " - "__Pyx_CyFunction_Call. METH_OLDARGS is no " - "longer supported!"); - return NULL; - } - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; - argc = PyTuple_GET_SIZE(args); - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, - 0, - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_CyFunction_descr_get, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, -#endif -}; -static int __pyx_CyFunction_init(void) { - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* decode_c_bytes */ -static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes( - const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop, - const char* encoding, const char* errors, - PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) { - if (unlikely((start < 0) | (stop < 0))) { - if (start < 0) { - start += length; - if (start < 0) - start = 0; - } - if (stop < 0) - stop += length; - } - if (stop > length) - stop = length; - if (unlikely(stop <= start)) - return __Pyx_NewRef(__pyx_empty_unicode); - length = stop - start; - cstring += start; - if (decode_func) { - return decode_func(cstring, length, errors); - } else { - return PyUnicode_Decode(cstring, length, encoding, errors); - } -} - -/* IterNext */ -static PyObject *__Pyx_PyIter_Next2Default(PyObject* defval) { - PyObject* exc_type; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - exc_type = __Pyx_PyErr_Occurred(); - if (unlikely(exc_type)) { - if (!defval || unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) - return NULL; - __Pyx_PyErr_Clear(); - Py_INCREF(defval); - return defval; - } - if (defval) { - Py_INCREF(defval); - return defval; - } - __Pyx_PyErr_SetNone(PyExc_StopIteration); - return NULL; -} -static void __Pyx_PyIter_Next_ErrorNoIterator(PyObject *iterator) { - PyErr_Format(PyExc_TypeError, - "%.200s object is not an iterator", Py_TYPE(iterator)->tp_name); -} -static CYTHON_INLINE PyObject *__Pyx_PyIter_Next2(PyObject* iterator, PyObject* defval) { - PyObject* next; - iternextfunc iternext = Py_TYPE(iterator)->tp_iternext; - if (likely(iternext)) { -#if CYTHON_USE_TYPE_SLOTS - next = iternext(iterator); - if (likely(next)) - return next; - #if PY_VERSION_HEX >= 0x02070000 - if (unlikely(iternext == &_PyObject_NextNotImplemented)) - return NULL; - #endif -#else - next = PyIter_Next(iterator); - if (likely(next)) - return next; -#endif - } else if (CYTHON_USE_TYPE_SLOTS || unlikely(!PyIter_Check(iterator))) { - __Pyx_PyIter_Next_ErrorNoIterator(iterator); - return NULL; - } -#if !CYTHON_USE_TYPE_SLOTS - else { - next = PyIter_Next(iterator); - if (likely(next)) - return next; - } -#endif - return __Pyx_PyIter_Next2Default(defval); -} - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddCObj(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op2))) { - const long a = intval; - long x; - long b = PyInt_AS_LONG(op2); - x = (long)((unsigned long)a + b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op2))) { - const long a = intval; - long b, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG lla = intval; - PY_LONG_LONG llb, llx; -#endif - const digit* digits = ((PyLongObject*)op2)->ob_digit; - const Py_ssize_t size = Py_SIZE(op2); - if (likely(__Pyx_sst_abs(size) <= 1)) { - b = likely(size) ? digits[0] : 0; - if (size == -1) b = -b; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - b = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - b = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - b = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - b = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - b = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - llb = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - b = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - llb = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op2)) { - const long a = intval; - double b = PyFloat_AS_DOUBLE(op2); - double result; - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* DivInt[Py_ssize_t] */ -static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) { - Py_ssize_t q = a / b; - Py_ssize_t r = a - q*b; - q -= ((r != 0) & ((r ^ b) < 0)); - return q; -} - -/* PyObject_GenericGetAttrNoDict */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'%.50s' object has no attribute '%U'", - tp->tp_name, attr_name); -#else - "'%.50s' object has no attribute '%.400s'", - tp->tp_name, PyString_AS_STRING(attr_name)); -#endif - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* Import */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *empty_list = 0; - PyObject *module = 0; - PyObject *global_dict = 0; - PyObject *empty_dict = 0; - PyObject *list; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (!py_import) - goto bad; - #endif - if (from_list) - list = from_list; - else { - empty_list = PyList_New(0); - if (!empty_list) - goto bad; - list = empty_list; - } - global_dict = PyModule_GetDict(__pyx_m); - if (!global_dict) - goto bad; - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, 1); - if (!module) { - if (!PyErr_ExceptionMatches(PyExc_ImportError)) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (!py_level) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, level); - #endif - } - } -bad: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - Py_XDECREF(empty_list); - Py_XDECREF(empty_dict); - return module; -} - -/* ImportFrom */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Format(PyExc_ImportError, - #if PY_MAJOR_VERSION < 3 - "cannot import name %.230s", PyString_AS_STRING(name)); - #else - "cannot import name %S", name); - #endif - } - return value; -} - -/* CLineInTraceback */ -#ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} - -/* AddTraceback */ -#include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} - -/* CIntFromPyVerify */ -#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); - } -} - -/* CIntFromPy */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(long) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(long) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) - case -2: - if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } -#endif - if (sizeof(long) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - long val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (long) -1; - } - } else { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* CIntToPy */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(int) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(int) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int), - little, !is_unsigned); - } -} - -/* CIntFromPy */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(int) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(int) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) - case -2: - if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } -#endif - if (sizeof(int) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - int val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (int) -1; - } - } else { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* FastTypeChecks */ -#if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = a->tp_base; - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; - if (!res) { - res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } - return res; -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i '9'); - break; - } - if (rt_from_call[i] != ctversion[i]) { - same = 0; - break; - } - } - if (!same) { - char rtversion[5] = {'\0'}; - char message[200]; - for (i=0; i<4; ++i) { - if (rt_from_call[i] == '.') { - if (found_dot) break; - found_dot = 1; - } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { - break; - } - rtversion[i] = rt_from_call[i]; - } - PyOS_snprintf(message, sizeof(message), - "compiletime version %s of module '%.100s' " - "does not match runtime version %s", - ctversion, __Pyx_MODULE_NAME, rtversion); - return PyErr_WarnEx(NULL, message, 1); - } - return 0; -} - -/* InitStrings */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION < 3 - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - #else - if (t->is_unicode | t->is_str) { - if (t->intern) { - *t->p = PyUnicode_InternFromString(t->s); - } else if (t->encoding) { - *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); - } else { - *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); - } - } else { - *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); - } - #endif - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - ++t; - } - return 0; -} - -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type %.200s). " - "The ability to return an instance of a strict subclass of int " - "is deprecated, and may be removed in a future version of Python.", - Py_TYPE(result)->tp_name)) { - Py_DECREF(result); - return NULL; - } - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type %.200s)", - type_name, type_name, Py_TYPE(result)->tp_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)b)->ob_digit; - const Py_ssize_t size = Py_SIZE(b); - if (likely(__Pyx_sst_abs(size) <= 1)) { - ival = likely(size) ? digits[0] : 0; - if (size == -1) ival = -ival; - return ival; - } else { - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -#endif /* Py_PYTHON_H */ diff --git a/indexed_gzip/tests/ctest_indexed_gzip.cpython-36m-darwin.so b/indexed_gzip/tests/ctest_indexed_gzip.cpython-36m-darwin.so deleted file mode 100755 index 365c16c6fa8edf8b136616048cd55aa4a91b2311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 861064 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 z zBa4}n7I}}%w1J#rMN#M7aw^pdqp}ay7f1t-iMeKckL~RM{&`Ud@SB!1v8w@$Li47p zL-20&hv3brptNYMK#{1ROmOygVbG>1C0xF_PFBZWnJ#F*CkOKus}--4L2KdTQaiKE z2qwW5OvjGN)2hZy7^}O4`?c=LCiV<~t;t+Jp7DsM@iq{Wui>*H`H!F~0sSJG%OUwb z@(5~&yOr_g3ag=GH*kEMt5%Cej4mCi=^vC ziui&J%zRt4N1dGf46Ycpn;_9bUyL)rvx~-YGEZ{`O+N&Pl8qBr@D`=0M&!5;dmwlM znF(!ZW&&OdvF+7_c{+TDbHj@y$=GL}4lnlP`?|sRF`rGNe&UfHz-5tJ0VzA zyu907nday-{V>P~JRAJm>^Y<+=y*JY6y)n`Hlf5}qy(BfEjHL7MXe1pQ{j7(+>hA1ge@X zqoroV>K+mTi5XT&jyb~ZtL^w2k{N(MYSeI_wE1l8W39++8~6GvgV+Yzz1o;|{HM`j zjRHWFPOxNSXHgWa0@U|bJaL>7;4!n0xEjYp9BuJ_ud&Zf}#3|%_S%h(~=*O@U4!$coQ74ZwW^vYjIA(HRCZOMp&Voi$)Rk zH#4&NSTyp}=-`I@P(B!q9@|;OZ|*)T%H2n%_srWvGj($y`k@g0a=7=@&grQmLl%4; z0>9;UN#rNM7wR>1zP;)|Sa5GTJqU!P-NsYLQ$`qV>7Aj`Gl_3i zKqi4-I@l!M+Sy{7*?tEqGPf+JZ!-=P7zeiCS#kPTKx)p-V*$!Y;O6nV9vc(SAWzYf zUPk@F&12d*dV5$CvpIMC9WcF5vN(6xObfa)*HO;RyONH{mNS8qmUSJJ0JOhT?Qc_Z zhRXY=+Ad~7ar;8|fk~4L>>A?td`pXt*LMe$+RUZ{`4Rc0M+-tXrFi#GG+sZ@q0K@i zh}S2|2PT_%WuYp`@p^bXqLHuRq<~uRJZnkf`>NJ#Y!NE2;{MZ2+nKrJ`4>@Ir;Keo#q=4Q{}ibBD{6FBTVsK56sY*VhlN^V z@)ez-<|MJy+-&8IP!GdtYD;=ZK{pj+!nv%Jq9_=yn#`e7`n>0VfTHSs0px)$lCGno zKzio|_cPSzpQhVu#c7KFT5BQvE z?dY?L=LikYYMRk42B|g)I~eW=Z|Y`#MOv}L;naE`wL1ANt15hLO2zPLQ?n!rm&D#<7u5* z0l?uo09SJWN*>ShEO@_nJy-3G9pw%$oGo(4egq2sg=7~?ScpVun+D9McK*df=TaO_{Aa13%PxCntV*Z=-HJ9o0Ra?g`vZ@S=P4 zx)Hio9r8^Vv6e_+jgkKucq!5znv9@yUMm0v5pcS+hfPq@pxYioYBn*)(@zPhoeG`j zxoaE8{y$u;yb4@+Pc}kkJDz6UjnJ~=E}yYbOAq-f<~ZcBhHxGqYz>?6YDRZu9&h2t zIAlv1kG?%MheRMBmE#aCGO~%z<-zXF*AQ&SA)lbiAQ<}QK>q>7B`57qrxE}9f~DQ1 z%s~N%NU)bM$V=2zmO&DHAe44aOaDuR6!6JM_XDM=m^N(Y5l~h)=b*EMX(_kB6|gMzNbQ?Ci$>dK*X z$6W%?D!$36wdBOb_w+Ll{7<&{HQ;+0@Gc<$UN7Z=|MjXO;J05k@RI`I>jp;wuRpkL z?})`D+NJb18Z!w}M>+KFM5C6CNN?M?e5nFM2D+i>3zQN0r;KeKHKNq*!8xUX*h8nn z3{Azx{lef9sy1+0SOcLkd4^fa*k)&%^VX^leH3(<6h&|-(O$Bq_6KeXqRQIrsJ{|) z!rdsd$ZnJgf=-m_(d69~QlA5D7E(X6`_>f0ntvwN{8NaiZ`|c>l{s=$IfH(gg)Lnq z4q-g?lKd>>oROZbr`#rl|1ht47e=zjE!vj9(AH|{$8}{ zjUaERv@KwLm~5F#rsRyHDB(ZJ6wH=re>%e~WldEqVI_hen1IU0UKD2fJrPgI1tcFc zC!Uf4FFZnNQCWza6Hh6YeHc4OQCT{EY|P1Axc)S>$OriB%?3pwK&xUnNw$1p0F4$v zeH=jdV9m$t)B$vi0d$K4XqOP6%ZmUakX{*pPACGX{-Y3}>{S4CG@n6RCjjs}8Yb^r zN6)|8%zM`$Jx_Jd!}NTjgf{{b#wz!{`E8EHDM^|>BEBhGbokgOP%oY@uB);fY?Dx#*{Xd{rjj_e(rOvMy z9mMxCx4IqDo=`d>1PkS$$NUp10ZAgn9$?Vfnk)(KqkF$nx6q1BN1Sx zHyv-ZegxxYJ-a{*$VOFlY#*biy`@1^SMF&qN%yjiz3iwL==d$V9MJK0Bry{A3!6JL z4d=D?C1^8k<9H8rl)sUM9t0+cU;)tfkG!IEl4ZbR3^$r@t)?g$bK0 z;Ye#aT*)k7SU9>C@}9F1dgjkJFv`hu#;cvHvP!+1+tISKgE_F9uCeK8uzV{AxW@(_ z`|`*EV|jj!G9N)Dw(ZngLM&D?%+UhR8sW2DncbcYiny@NY-ZUlUa##mc!jsK0F)numjL9b*3Giaq)SysLD@#5AQxUox8neT-Ht;e!-iz` z=Jv9YWhQbOlOkWL+>}?3%We!xSj{mH29V7Xqb!uBS7YDw%%WK_bDTMl3?#(f>!+K% zGj$-vO31&MKWGj36Ij=HJb*`akH=9wib(=a8U`ngQnLY*oW`iySf$@%;_?-=&HL%t z{B)+Rfq>qTW$UqA_peat>WU986cKi`DZ}`Iv`bir#Zw!gmNU^Fg$TEaHg4}>aJqQv zYj~)1qV<&;1gX#b%5oOXEkIi{M0PYEU&jWX(y}Rgnc`e{trAC13kOOWV0e3l{11yDt_=a0Z-^Qhj zslxR0lrBd>@1kSe%nGNb`^)X1^-H)r8yg4`rHAG3q*#hk7oUf=Q}k2e^M*sfX4r9a zaY6=+CCbMDrWJn-1LEyqRXZE+<*NE}_Q1W$NP{~NyTv~UUj%e3`8lw~5*Suu8pHGt za&)*!jt*Z?wX^ZW(+?^2+;8Pw0J5W{WPgvRw+DveY)J09 z&do_wf>sw8T`{=o%9%j*0}*W*Lxgwc(VCU-`e(EZnfsGjAmF2hD=OX2`L{h$-{vbJ z_tixK3?mxyRS7{rl{Z`~wJxB_jO8 zAAka49tJV~J<|KDV_%#P#2_V}9tOf$$yt0xZXn~$NYHx&0%SbRvavEl<@Dxc%bTj@ zMEU5_#gSSjSuG;+WXn&gWee4k3m~cBJLW|g+mmYJ>7Iy`e3gns z<^bCzSEUn3Ut-&%cU!>OZ9~gd_bbbkc>08b>PF?N`}*dvpRT$(qpiDYs4hR@jQI~I zoO1HNtTGhF4JzZymiHOS&ak0C+!&Q*4I`M1(X7}|du560Gk z5(oQBpl^adhg+YpW1NQG*?5`{Pdt+Dwk3H5Lz24_FyB$pU2pH?;aHj1J;<; zR#WN&YB~;o8*fJLW6n_jf|~ie=b);`dB~d<$s{s8LgHyIPFaHcCW($yi*nqDSoG&o z7Gk(h&&eLCW#50kQ%jivdDh4Ay&_%WmLcWORcsdbxnTT&NknWrN| znM0>D?;Zb^@|T#Fb|;r~ISZL$i<7~wTw$P;ihodA(V?aPU8)>%Gq3XAR*=w_;oV~w9|a7K|O(QoyZDurnF}UApgEdP5=k{vm-}&B? zS4(t?(x#UhOh31co55JN&1RKanYtkW8*XPpUCX5yt9WA}s+#ODwE6K`-+@Z-QG*&E zL~>G0C{E0A+BDje@v3ihId*2{9Wmw-Xk~gQ)@~jH~lJe3cKea@aZ4l6qUbRvqg; zi7lj~=wN{p*S^{rV|+iM^8ol5D*q&YXOZ-_OKK@oR@`YZ1I$B-()ME6eTG@vn*jX z*?fTJZSB1{K=YPLjRa`^^+n?wOo3|vsJ}6vMPrVYa)WN(HD5a=B?NcAAj`(q1TvR9 zKd$GY*2mMm5F5ehZ7LuOM{ix1)XwOcg!tI2#5_qkhrBr=%d81U;jezvw%*d;k8jGy z(Qz5ONwIYqi|z9PkDJMtPDLZaOob?5ztK8vDF$v;{_xdWwx%QeCKyZHq46Zt$GrA49N}^~@>^o^!5& zNbsDA+8;gc5W}z&0OQ1$Od&z=95$5{JZGGO=a`eN?xQ^mLo$&utLn^Jy}uitaf{uDthClDc0# zQ*~>Dxbb*#+LvwPyl#f7oEDXSoUEohBwH(l@(deFOeFg}ucC>*#jQDK4`s@?w!3Rh zUK*~o4XibJdQ3lnw19Dvt*g?26qnBYTAQYPD>kOD^Lp;hrm5=KL~3KLq_8GGXpf_H zZ9!L|5z5BiIm4Qg$MaFN;8Y|3TL(u=`0;aZ57)f0WU_T#)o_`a&J%mkvCx_AK~QYk zMlAWP>b1d`k7`nzsan8~S(@%;5WTkj`7Q)M<&O-8i-psQLL^<)9jiFLDW0yU zG;k*!Xbi}2$Eo@yZKrzY3moSsP5Wa~hoNOKL7f$$^OPL$@U)?nhFa|LIv-OwTB zLi$$Nt~>S?d-inY7a^o**LhY|s4u~xZa1s7?j{7?jv>_ho{y1fJ-r1$1)26BlhZnV zUGof3M;cJhq2OrijgD^qG)HY3F700SOycG@NRbn8M+Vfpairc9|K?h{nTvm;ORwn~ zYCtajjYTC0;@@-wIw|sq?m#+@pl{qgDMIO?kHo(*>?F=I07{V5L<6E-S%=(QdZr6} zb4!B&7LpD>mM04t0vWgTMqkPC4Exd|D-c+~>*{HRz(U3Qr7^^!_r)y9Y=v1I$ z!I4zWg}nKg)hXD~{cXs_38ToG4|(&=1#Sc4CeX`Fh~7nqGeO9k>9UZt9u4N&_DZ(a z^K0l^6Cs>zy@gj3`o8Wa55)hyB>HkEU^cg%p1r3sz_XYG12R0242}$~syWiRv$0vH zg;8tRVn4nqAd&4!#bFy7mQN9SMf=kvPEwy)An0l`~Lz0CR6(XcSE78*0LVpzbIl>@YLg^Mo zXB@K??HAECR?U3|P_lzy zAXz6SNxwCb@P|qK2~859!HRJ?Iw!r9W(f7{px(k>_Hi$(*~@Nv0q94DJD}(DF4GJ# z(0AZ5VEZe9-E_xNj>xOuXzC>{p({ern=s67@#vateNF@X zB_(u&N7W2+a1Ok9(GL4h*^xZ)R6qWL)BhN2e>NV@c`|!CCXNHg*Je+WN!jeVnIuVW zw=t6(&tn6;Sd&RMlo_FN@(#VL^wcs!{y6r52sum`VThGEz)AYbyR@WzinJH(6* zU(QTku1_KL2AW1*V_pCpu6spTKK=g?%S-Djg&EVxqbKg9cizdynSQV5H<)>k5N?)W z4M#AP+%ItS37TpbAbn(w(cM^VIr3)HxOZSyY+!~p*?iKEW7ST!_M*bjd@0Lde!1u- zcv;3bQv1)acj3-ZACqi-Nnj`{jW=j0Lxe1mV*V(WbpJ$R9yHHVW(cH18@GYQeg-b5 z+^vD3n$5&_(50xJHOh*$940=|hJ8(}dj7@mOY`F@%>#uh9<;LI0qm1yq-^XmQMy=T z#UZ@0Lv}SkxzouH?u8fYViC{3s5-g~ID!89>nQA6lf?@4Q-X*^7%lPINr$= zjH;+_gF^oR!+C7$TvrBTq6L(7tScON@%qtn(3Q2+mD$!SMOm~|)0DmeLm=cL)@UHa z>yaKPJ8c@R~G%cNd ze60y4!1PjEux%kEs|kZO!jT)G@pL8K8b0B<7K*Y+8u@ESV2!pGzTTXFJ=S2nv(GiS9|x$ zpM3Z4<^y-oOG<4=Ma$KVa@EDHI%+~so@@1@G|$ou^lXiAGP~^ry|mcN)0kY|e^N-+ z`r&79tV4`jq09mswtje;V8vgxtzA&rS*|k5-_n{d-^-QP`h&aYbqi(S7PqOUj>f8n zM{Mn}?S2%oi&%)|_l|e+M7Q>M$Zs#Gk=vdVr^(MIgFct3d<-Yo^ISH<wXu%O=$s9rQCN z-H9L4wP>9i{LTx0X9d6a*>5)Xsm3kX!t0E_=k3LiU~X_n@lQ&0=wPaiw+mCUw>jDBxD6uS9?Yy1HsPszNuN z#Wfd07Io_zNU|6v>1xlW?S-7m( z)#kcOiN*`NoDV6ZxnyJSVVcKQw&J7wn5Fk!jXUQRm9AyjR-Ahab~NTf@Y%2Q50nEz!Eob;QhVhnhniS?hcFN07H@d^2{R zuT1J#TPK3#TpQnbUkGbzV@HF!WZQKgGc};5giQrQut6kycqd?W>_8R_#ITa0uWMp6 zhhk%9oOhJ5AbK7H5jxNC!)?2obT_0N3rO2lp6?wzLD+=Y2Q}G%79kAZcyQ*pb@GHJ z^xbP1kP>ujl_r7-7`}KNK)Nx$w}4T_fDMn1g~YWNIZQ;IxuUmzbP2O_M6JoVD~{QK z{jh*`hUC1V`eUKkxwDYBGV82kh24J4voh!jSs9tnd zhS9Ddmot+>%3SDl9s<#5<2+ZqfZrIk^<1-?_MNx;kwZ_<2w#DT&8 z1f*BQP2thqgi=typ86)a66Hx2teEN|`|y*LH+?dR{%^En^OfcZR0mO}BjW1VhIA#K zn(Ou@uS0t!1h`JWR>$^7UyP@A;lMWv_m&UQxb`Ktw)gzL4g*tDa485?@6H}hEBGJ z*{rMBPw=PP_+WkpnM2W9pusOlDE2i#2*}rfu>*+pDQ7}JcSd_7PY(xjR`7+&dGRhe>Urj)4NU135Uj!Po z7BK~O;|-0zjB>4e+#chS+;mZ0`I-&SjwJdA^C!N6#!xj7wALp3s!JXy5ME2vrcib+ zY%Y64k?>j`vjB5&M1E<(5l`tBkuZBmUDdI1sPFOgSIY^5^=Q2H^Nc3#ny2ico#};z z96}42>rMkhAq(Mi`G=%w`uJ2-^mZR%#?fcYquV?HWw# zj`wx6iA*MBy~Vo--%lxAx0~iU3zFTP$$b#lS%>ku-A)2Z79VXIpD?vUonF~$(;akG za}l8u1;v7Kq;33$TpN%cxTEur;bhC#Ksf%5#Sk%CN#IliNSiR%MA!h!q06&eoF>XS zbOf@o1I0p|{o(CgXE-b7e4Ir>oEW}NA`XY6rIj5fqO`PD1UY7NT9*W0x2FrmOi;(q z4Ux|@H0e;lPOXhqiI-p5`R788&S1AX_Q=6{IbE83wjy&k=+OjqjJ@Y4s5MM8D4w8p zH~nAt&%2w=pS)8O)Iuhxw>gX9@4{#NIrCdCVej0Cr&kA@$aVu?gAOX@%?kE0+;Z@L z#NRc(!6ev&`XatKK?%EjgiP#PL;dj<fI@Xvw-8f`;@D5wxw%!tz5Ggx@Ol6oBgn`**otl+w3(#vrf)R09{|Myk!RphQn_7E%8u@?@MsENquS?$SZlo7?t z3FPzTlnZ6eBJZUWP1b0tD#neI&&EL}Z^po{h4OhG1VfUzD;3CR!)AeeHr>%X;BTPw ze=VPT8by`L=PPgu$WgM5+B8za(GO(vwFd|UyP-XvzLxKSh-O{`{;Nok0XP)VhK)cx zA3@0wWq)|ro?s{|FP;r0hOS2J8csZ~5|PCLw$^q@h8q*l>q$IU@@Hx&pS6H6A$tB>@_FTZL=g*^koLex-=2IvOq3xl{IAOA z8GU6EU>b2#0$1qd4smR66AM8E+{Ci6zq1e~j;l$Ue77p2_6B$gAH$ zEy|T|g`0VD9#3;M(PS#0)erMf`VY!^clXiTth&woIa^=_zG!6ziqL|$1{ z9v?V>HQuGyp4E?8$qTSoxHGgq7hsUw2h+z0IoY(RQSFCe`~#lA3Huq15?PUBwR=8WR7q zno6+2mO%s?3Qo*eyv1I=+wZ${pqN?Ci0i4PK(7Y}=YfM{%eiVtJCN8V52BsWDewjj zmJRFH`3|h%IPb;0Tt}1YTyJKNVZ(9$J2Qd^o`ryQaQ*>uV zMfsJ~k0^JhNL@90D7F$uj`x+W`MwF84OG&bw7Gt%gS2+Idev9F@Yc3EkQZR~Isx@k zX9$P;Yx8*?BoDQjNK3ZdpiBos&)(T|&c8{~>cbw+d`cf@@eymw3Dkfmjp(qtVvAvV z8KN)Q*l!vi1+?gA@A;#wHz;$q_$aHGCwi2%>PDegm(c7rf=;c*XK1-ULlx5UWkS1= z!iMAxXn7qIG?iWTBU-+a%~|jHZS>}7`Cj_zPbW3mvI7e`U-3<;_;afwvET;P6d?u2 z*>?hRo)iXCnhvf?ZyhZ^lMHEjAGH+Bi-E?PZ0VzR4zYF;7tu~g%dZOM)`3yhtTE$g zsSugUG5S#lYSn>Nf(~rac7pc}&(5ad4KpOl)jX_=w5 zO?^&(!-oPx>z5=H8(IrQ+=G;}!8b$e*GGmUU&f|YXlU&Z_KOz*z+|L>adme($fh2> z@cl8`{endLeYo^IOVei%w;9DLbe=%TRl?Q2PjqC@F3Z>aNkgg%l$B=<#YE zslfbRM~-G_c3D9Q3oT)g5>|${B(!uz$Bs%EVF@nB#!9$@NhQp&rV_p+MVAaQaF1g)+0Gf@DJ{BWi0=g35HDGx;OYeEE$p-Y#1JV4xLE)w$Y% zJxSe+RDU_VYLYEUp}yKNPa}GRdQ(Ynk}Z4a%Z7aMe&#)_849eY)%vzFNG3z?__ z!dM0q{Q)t>Q+Hqw1TVkX%XRMMeS5iBFEG)0n}B2%HOWPSYW(ZUP#!-~3si6E zb9F@*>)kUb`551V-q|ul^1xfk<}+E4W-;K#(pq$MNuMY3{ zkBG;rV~?@*9#1b~F3P*>dAynA@a{B`smisQxDAi@%Z^lZmd`U_Pr%LXs8z8d3&F{d+@xS>y5#` z9r-ckYVx^r1$@X3ool`+?1Zv`4NX$4@c@2Ml5gHr{2OfFpDOVqYl|*(Ba?0mI%+S` zu=y>plP3EEl*|sAvqS_a#3#3g1pI493<-R4_tQg9QmXY}KDquTflqGBmm-k+DPcaj zTacq2pWNT+2fHTZ1eNXVlRF&c&IS-oKz%Dck2s6EgnFU4jHhgsxlaN6Zk%J^ zw!=l}v-5*Nt*6LL5)wvE-JC=#8uadth0QcrzgC2cSHcP+8jLXT5{$TF;0yr6z&#jB zuOGf7j)CXGz%cR9dETw3ItIQ``LgwMaiqQvoX;}`#(%Aws?A){*?w&3VdD848WYbl z)!{RA8~Rbe#5e8{VdB5RO@Tcz$s<6{qA~R-o~k7Qp1m0VpSmr1xJVBh@=&h_EI2=V z8`Bsu>o_~na<$Yi9W}!>m^??2M{#M2c|ig7rsO#p%arw^gpqQX&d#v@>DmE1-e1bg zMxkXHk4omLI|SVPKjY&n*_saKPo9s1HP6fv)=rd&H$IG1;Vg zGP;_7*c;-l>%~yj?BRw>xBYPy_Ft3$Y;QOBwfW-Wd@SQoT2xnFi-o0bYplE1=wV|X z&e6lVGURTzzGU7r=~<^E^+sz#-h@`&V*faDwX@haO0>m(4_n;F_K>RutEjiurA*5) zsz`zKY?1bz%~p|xoeO-2|NLd^g}Sy$`1GpZny&5E$0McMUuiyK6%AA$PrWChUR|*R zDkHaZ+oCYm@gf?QuKf>t&+FR1TdT#o_Abg5(Y5<$LtT4B5)48T+^=4&y!({H@ zIZp6&1Rh($?cG11$M%F7B_^%f`f^o1sHu1f_m#C>yo6h*)PMkk zeY;Q8|Fp-40z1g3BrJ0Y_b-mdIxZAM^6;FL3 z(ef>W7Dda7IdIk$IEq`DZ25;;{%Elf5j#?irMKeDH$p2|u~zbCI*&XKQ#yU>{j17qXfQ6LwXC;!B1J+bH1>!72k$e=|fyWKXpj zqWF?7{&G(EMGk8PMx{r>FCP|vdEXMCg=g0(lw{|z_XGUSNO6WJ{Dq&5I_|L%_}Nj% zF*pIlQ_TW48`}jkGb;U;z2~X)-_}U6Bugt-gi7nr3nf{07celdhG)AS{41(Aah}kTZIunI-Ml8N&lo~t7E6wi^t2PGkbQ3XT;UX zNfY(>u(h;rXVml|)gwE{)8|tUb)cOrURt+SO?EGyepy<#vJjg-mXFy}dSsEN0m0QMT=DdaFjStBXY%GK zISa*w5-Li`PnhjRmmSf6%_07LwoXDRm)?g_3gTAvv-&T=Jeap!P3FyL+S|(NcUHYz z{Vb@ze_foii{q4(>Yqscfcxc+0{6Ls>RNKuy+2&wYN3fQ9!tR!P2(6U#_i?G-)ZH$ zGu7q6Q9O4C&ULx+^2i7nmwNuNdJd0(vrt!W4X_Hf z+{|!;==5?`QeAPXP?UOA<*F|9oi-Kks=zDZ0D`DWjK zjL6MaN$fOQ5Z|n{rtyt~=Rv`|-ctLgI!XI}7ad(+;RXzRbvA2ln##OWxAzGmeo z?qvfv-cT43pW{eyYvQ34X?IP$;ClwG$S@4Cm=bPL==Frmo6e}3MET=I3S_Gq zG$oahC|cQzUY5@DtMu4-X7Ad@-D}|10Yl;g7cY9EXMM+^*;8xU;zJrw?MDtsZ}rhevm6i)G`<>`wi@i>KkQrA`*rOkT1a z{;SgC}1BCf;H#PjlIc(@wy*4w*0aUF=o z2U{=o1RUg_U{C?>mVg_2>#{FBK4jcLqr3#L>yM9UlXb@|QBvD8qnM> zXNLmd?^XGZ;ehxBKRL86jtWMY2vyuTH@5!BW81sa&izzdP(B)&2@oo3$ z45ns^(8wMiSUFpd@jc&$-#Aw(KkD*J64reh=eiwun5u^@c{oiE8;U+R1pv1a?3ru3 zO>M75+ipR45SiOq5YD1!7D6Pw<8yS6xX&P60`!^HOn^?}bFyWj>U#>+C^(`yD>$*q zkx$a3xd()Zg_>AhDIGH!MT%lQSF0mJ2q= z@sp;3Svxce@3v>ODK)rc%Nl9Q8)q65-)~HZv44U_f`<$wj_eNWS+A73pJpBkpJO5_>BwN1$ZT<`P_?;e~ zu*WqtILgK7P1?prPp2|hU6ny^?V^uYyN^ePAHVUwS%rL|)vdKFnKT@my5W%RNIOm( zv$BFVnErm&*!rB{(qUVFkiC8_dxun*Wa|8?d(h71StlsTiJTQhl%*mYu}P~B*{f2 zOg}07HE_{V>I^+LCQf3>1&#f!3lgg__MlMI_;4rCoSb zy3nb~)<-qkKP$sK44fVCPTeCAGEdiLe#IuOy4=lCgPLmp+O<(bvJ(bK#gfOnSa zR7~lvQF8Ji-5WJz@&vm#Dw!FyH3f$a%}(I5iTY7v;=KknA>7s&G;C;Q^r%weZ_g+^ zB(s31Mbg4_h$#J$)5n6?qyDSBCR?AN*U6dnz-LFqC0XoYeDE-+DG&?s^k+=P{@0q1 zTfY-Yeg|@rt&8;dIgfD0d0UDu6&)_QzUB=%6h5~SX~Be%Z2d||K7l%d^A{s(GM^>) zPmW9$#&f7NE&^qLIi5qC{G+nyzyHVa9DeC2BsW}(VVOl4i-PD9T z2AE{NA2PXIJcqknWkux=aOIJ`<>NWbtuu-~X-%5R$8)%8m-gd1$eTmskiQ+`BgTVx z4%=8A70+vQ8Y?*a+BK&xXVE@f;TPa@Dwa4mY?ezC5(s5z2`$y;4mkc4dm~fz#=D7?gcQTnq8~7Z+q2 zH&G+m*y&_qjj`vc{Mh-KJ(MY1d5qHKjbcu~PQRE=!$CuPX{kN}48~JOs6chayv50TOIwcej(b_&zqugLAAS^ovE(bN_gL)$vd^TDTI1X8lqZy5tu?waYu{b zE>c>_Y8YiA9d!n*k&jSt2cvImslyD3MW>)n`orAikaR6N6Geb$L#^+7n})g#%fW6y*0c=|~4+HqWsn_h~~ zdlK**1yKRdub}`6sA=+cJLD_i#+e3)+FR)1M-+mgna^zN=FKs*pm{wthU!CXnE+0W zcPUMxM6Yf|&}A{tYsRDLd8P#nz|kNV^ZZ%GJXbi4S$g2eVde^p&5?04a3=k&%H#+x z_Ms>{oA~D`{6MIj+M60ruVqG{$`_34>GXSgcf{HRG5rRv%N+K)m|Wq(+UYi^m%4I= zr@ZD2vc3dr{#eK?o_e2*irlm)NPTw`rFIuhRL8DB53C;{!%22P=gA*7CMJQ3`hjTX z_W>?02C-|;1R#Xzz|6NbPkgvS&ChSwH1607`hP4r`K9H#nhFI!*=bR-bI*8sJ65|x zvS)Ymd-0HLoVdLAH10x;t*~Xa+K>$4Cqhtlo{_qTX2#9w#vz!k)f`CXM%y_( zndu1J{0F==x|ifjKuCM3E>qPWpl|AyqYM9Lz3OmnhQM*vv9Z?E>opZt$3CH_@l;}8 z>-G&B>E*Jcc*$0rggCczHf9~c8doMnBbEs0yB;(FS-g%PIB|y&FocVYppYtFU z&|7+{w3pnLn12qh?AS9aKP#8xAe{6pbdx!QCSA-xH23TVL*DlHFzWO7+B4cZg8*nbeCywI}z8uD17cuap} zy?RSRY{@^YFNZNUaNy6}{-AS#oXxkH zY<*TuT})Gy`?aT)(<07+04~O3BvuRYN}q?7vUUBmNDc(-40o zsR81rPT(<9d5M06_@`0Zyb9_I$VH5nK1|{}o7mBcm2~+?zJ^^U;1u#GMJ0fLh=Y)B zcSR+!VE*d)^}nxFsD}=kf^PEZdLH`z}K zL>W3CLWENvLkKi4;U?e)A%k|4gC-6%%_~xM(2Rfg5HXttvuU!ae>k-jPa)GKE0V3E zahphn(^V%hm?ngTKrlW*qnxc01bOjyowSU0#UIr`A>PrDE13vZISc)MZw)}XHE}5O zB-ZRC84gOe%nWIZCDpW$w!y-El7-pC5y$gm^T)07Ly4z5>|sNEwLa_c)8A0XnkYc;*V;lfQ|S2QfY%=k`6N%H#s|6P#ax`j486=#TwVBx@)6M>N%B z20qsl9~>!uHs@kyo&5arHJRGC$*OMFH$jL9-Mu!7;C?LC8}6kvM6lb$*z1F#J)YJw zx(M}roaUDQcjQ0%*Yg}f$WoE;UqA>!r}o<^2Uh*&kn2=xYW};pVjeVGa*06d;GqsN zL6G8SSBk)!!ags(!fDPSpsD>`s!0;icd2O(i5-puMpKJ_7^FH9=PKRK$PVT`M1agHb(&c+%v+uKd_9SjW@XGC(9L@1UK;F-TW&NI6cX!h#UtdW%B9158_I~Z^Hm?C zBanfHi>Wb;3Tyig;;4rXQ{@3=r)H|DkW#2Mo_fxu7~;t1h&-i>L&;~f1e&B%5LD+I%tagmSXa}!_XPq>NJs2qGc>UMs~H1?ABAd$ZjQ}!;u|?P__Fw z<t zzRibShN2L7cLtw7$$$R9pt?fKST7rVe!+ciqVzLI3+NHkybmgEINU(*1t)`2Bh+~6 zsFYbw0Rm26H5~Lc?&Q(vfS(^pI5B==} zE^33-5cfSJv*n`us<%C$n&G3!2MzISGk@xh8qvNio?4mtwn1sD8lbFBY}H*nJqQ(* zm)pAOWlsw5azt0XbUj4vb=mP4Fw^fXhS}a9JwQm)T6Nch^?mQoP}0P8kazv|`-6+Q zKT@hfD)#%OUiXC_KgI?Qa3`;i^8Bt9Dit%LA*$0`+jnQT?a6a; z<}6qo%lphH^xH8x^Lc)4z)I1buZ^)SWk-!?(Cen`wjD?Gb^VX(Xoj%zVoZZ3@G3U;a}d&mP?!h&c)%`K4n3hpv|& zRJ_Pk9KjGzX{R$cu&45ZbJK7e!HwNZt-Y+{UbeFr#hpQc@!t7yB~E;a66#U2!^ISm zcuHS##8U_H7p(o~cv+@0l)u)|?hzI@aGCE|7RqTzVL;)0dlN zAQZ$Q*3%b|oSd;(75<9~lQVwPqi8hWs-e+XZkxr_-hfw&cfk*gH6hs@4b(T~_YoRK zv3D@6CNu1SnhbHf%VDA1VS+La$+;;ZG)@HMo}96wMS?51%DKHEaPbg!Wflu@PYQ0e zNl;L?mykR#(-tKmDQL5p|EJ_E*=+<~b=;k+q`tXrW`0_us``gZ%TcjpmY?b^Qgk)s zIW|z-uCTR(cxX%!5n;`+QcgxC#-M^di3Vmb>@ z0+Czps;7>ndeo}-wm_WN)@zg10q#rGD(PoVBuSt8+%@Nx9Qo!B&1rGyJ)0tjBl^?{ z-v#pLAT*=xro_4M@fj;G43iK)HA<(DBkUytSO;hB;>zpCU*&Yh@DL1KKGBQ6n z@zkdgJxR3^WznUC^Fc8A|Kd`cI`Gfi@>}Us*mpyHs{YUPDQ;85A}Mw1H)%52#PNso zV^nu?f5DUZO6j7yuEK_+ItZZZ$A2h)p*r;zMI6-`xxH&OI5j1zPB~yN`P$T}Cd;~( zD$iD(codc9)u}VcqS>maIw@hEt$LAhW%log*5@4@d|o;K`JyBB*{M^z1fMO$kfxDr z)oF+6^N1$zqP0cL!NU1T&2`~wBeHlaKy^t6;8vziw*y})Awxd+Gc~J1YF4i9vYUc( zKTFM7(GYYI`XD^Og#5x<#*TIlr7(C^PQt}gKkP;+L}hK}?gr*JQ@_#|QI-FeaORXQ zES8B!;^KHIFTC`zmmV6u>cm$S`tq{Om)R~eMIBPQX4-pR>3RxNVX4w}wQ@z2uEmE? zJTnLAR|k6kQme!X)oervnbNgJvC>sA8u9c>5vA+b-=uUkAP1y$ovvS$uF3ow)s!0@ zqd^<=a$m!?kOL(eKsd6EiIFSNoyLm4LuXRDB>241Oa743g~Ej`fxA#ppuAVuj}aN4 zZ2An}pg>K$q0+U%SAo!*m;hoaT?jcTUEUgj(q*Bt4pebdx{l(>rhjLbNu9tude=KP zZe88W>-M4;Qha&TUVaBa>0L*(wWoLWCVM<(zGIpu+VA`_HLGQ#l@0B&Y-o=kl0CEm z1CN{Z2L*c9AoMN?tzxVP%1)UhDVk_n0NbfZ59lekR`qY@HQ92zCWueyyy;rat3%MC zuC)?e;cG7?dL~3TPG485Yz0=ZOQmnM+^0&lL6&TJNRN{>`hWYk__mFoDZia3Qn)nEG55T{RlQdXY|^e?}DbD=q} zP#r(Den#69dBjVbdNij^4a|HJ7Tkq`5n&W0n}f5rrf(C1n++%KOkcFp$D^g2H~Ndn zTv5j-WcgE)McFRDNlijM*_$lrIx?Jz*Df*1H)FM)fF9ZPl=~GR~tUo3lOnGPn#GpB}0bP!I+llY3hTkNbFN% z6$GfrH%Iw^w9uy}Ai5)Z+A|susg#>jw$$#0!(Or7tI}Vctj#|{qdCIxx7k#qtawY# z3ik8C1zOvvu$3u=~iL z)7qM(wSC^hNTz+Q?G4PQhGs3UQZK2g5VfYYz2j2y6N=^g#HAV^dv%|i6|6Qp3L(fA zaCSgL#L$(qhq)vBAU)gz=6dFAY_v3{Y~qm-jsnq9`w5`L2&IeqP8T}zi-p92%3nx* zRb*MJLyuEXi5&a&H6$_xM75KU@Vz%bF?M8vfC8+6Y}M?8s93|X#CwX*;=w>KgAA({ zS+h(aRR>C#W!UEn3C!?MCty2ZUQcl+nw|L#GA6vh*^edm*@7)cs|sYm-1{ zxc)5G+AxFdwu10p_4T1r&}0VN%DRGiqsR;v$XvYDG~1hU_OO&Q4qiwxvqL0KF>6Bo zs_ZBhPdLSF8V(Tg)Ylr}>cqY)>ZSKyYPQQ}BSD}Pv!3>zSIj=PjR~`c1;9s)Vn66( zL_a%VUmHV!KVfC&#jmVvR6lbv!}PPw+tbg2MR8?BKa(z(oVmxkPA{wBHl8JF+4(io$;L3@1X@Zwr2_$|T{R3|T^}Cy&_gdCw$;N1Qo`QNU%+R32o2I6$t${B+ZzSuOcDmxJE&2PWXk4}qw+zdgtYZW^MN2!Z0aF-~ zDbUmgBcQmCH8Z$9EiJH)6`S>J4qBko?u>-BsQz;z!opjbNHK>ycNGshvJh7io34weRBi5eaM zGFl^suM(ppD$fmc56X+D-mKJYy3*3@^&+XdPRz6Z^GZYBLvpwOqq=LNTu$18@ zKuxaevcm@v&dyK6Abwxh5_G#^bl2U1?8TC_iSg>0m7-j#awo;UK-| zr~Zws1G&+*Zm&U>oSpEN5E*Mbklp-R7QfC;I0_{j<eAd1__K#VG&bv;bmDRMP*m}}_N)(N_Y{;@DsCl174 zg@{{LMWBYdmjX4^af&u$w;+GWDIgFv^l)dc0z)O6u})vRdw@94aYS$dP$+{;4XrIy zLz|@6;ieH$SG}*_`)ixA7&E|~%?1%Q6+a|X@e*6_6_VpQI|!yko6<#&n+XB=b=o8h)y1~z1tUn%|t^Pr)##NL4dE5itQ zD~f#s%55)p^puhhD4|2 z-ySf{@1gcIKSx#RJ0qIk4W{|^SkGyG8}R$5D$6pIl2D$MXpK(jHzsB;gd`d(W-+wV z{B9MQy!LsqMeb*>|2EDdXKsq_cH*X}MXvGffbS10(*8#N@kefNJD!5r40(uJo^skB zOD}1Ed*Xi-PiaezmqGTTshXEw_Hv0{&;(z7OPZjwCC%6w6#0ER3r})ivDx;Yzo?=n zC017)vRE%?ZKE7rwiChjdxdRSd%r)o3I6@g`d+*VK3KUT`u^BGj9bw6C;tA&QvZy_ z!CCidztTo|-SaZ0?0BjouIim|Z)Y(6R~Ev&?up(h4skoPITf`0=By0>jDfRf;g&KA z6bB?FJGRBfw9luelbS8!SGYN4OD3uKZLG>ds9^xjK`#;{PPsS5VUzGIXe{+sr>XAVMxtQr&&9Jl*~_`5uK?WZ3y$h zNLzR(P8$Rvm<}<{DoYGjx`g%y+W5>1?fJE&7YXfmC}Kj}iOcuf0Vi*Ba#-8_XA$z& zwy|1um?i_1hf^y;NCCE@9}EO%kixiDRLW@h|K1SwoAsjVDD*I=1KjlUpXdM&NX;@G zK<4Y&Rz9~X*Nw<|RUpsArV6}TtO^uhBA%WbQ3YD03bfAuZ>s=L$Y$JFF@rJXfbrvZ zA}73g^GyYi@dt0Hq0=<$?y{*<0TjnOFaSYsL#KtCau>`CIQlqYCt?8Fcac;80-~Z) zamnZ^4tMd?Ej+P*YkRDzdw3yW#2$D!#Z%|d1TVYUOPzb!)LxF(3vO92zicYNQM?vg zJZ{5PCqHS0I!5|Bl9Mxbm$twzBu+nj=#fc<`s$|$2&DToQ?V0Q_Yaw^kEscXDM}Z! zWlbT_kt^6ITh&4OKoPU;Miyf>#{z?_hJe{3lTB`|7U(Raak$`yCd*wlsfK!y?$g+A zb4x>QO_-urvNX(XI1=kGzj+@er!jsx-4 zh^Ke8Pl2p=F9ot5`5Wv_tWEx$tjC*kzPD#bll35_WKrnGYM52-#wwmVQH&fcsGY1g z`&&4d<`$1;qYD%q@9h^?0;vr|@*A(SX|^WG9>D$tp7dy0++G`ckf365Hf@FFoQY*H z!z`-!nSlWn(tBrXO{n1pU+Q_w@8EuxPf+8>nj^AZCJ%JPb39oj zrN0$XaL&Xg2Dh2+&HUb^v_toDuG`LfQASETDvEqCL5!5vynaQpV65lA5RCPs0=M|? zt-6zuu%R2azT)3~RC4B&^CO-zlJO$cH;CwLf_gbMWXe`XRTGsi$+*4xpI1XV?yCHSYRCr^iAcr| ztp>+!B|3n2^IRivN1;0za;wgfT+VwtT}T!Y_^meMQW5qF<&Z67eDG~!a|5z(HycRK zmN7i|ta}YiZ_ZX-*w2bi_ikQjyx~TCHOCv}S-@m6^cQRtm2`rjppx4qii}PAWnGsr zV{{Y3OUxL2u#vD3zrD#)&YID!vwBl?4Z4`qWZwQJzxtMcLg*eF%!;fP?Z8U5Q4&3# z+8s1&DTpZ&z2-xh#~%?>l~JyA8jEpdrdXQ^xzcID>9Zr+%qh}lWlUrW|AgPdeTCOa zftu|E`pe6)eYlk;RvQF5%!=`zCyn4CR2-}rSE8lGQy=%#XmmM7q$(@MtM;C^Vmz>= zz870D?ozIZ72~FzjE%5jJcie_|KzvfUeGUK#deYg!WP<8tD1>_ju|!zgSBf@ZB@9A zleuO8mN-P-}K>iU`~?((LS;@*Vm)0^Bqw`(hI zLrmt6FT63EI<(Mxc5|SODD5|VnU@^y(1IZ(r4tLGPMw;>3)ZSygbn(=S9Swa*;bKvjHzpz0%YC&)>ZLBxCzu{6Q7>TP?$-8hb4tW|AvxnMsO5QO=VGI z^0ZLSrq5G4LKOs=!PvwvO-dO1$JobEQadu#iG?T`(yn%KCz+=6vk=t|D~RgdfN z=*@r9#4EBy11_yE6tA35_)pF%lnK6*Gb@F>94Nt#6;=lp@h`j!l27~V{JSjq${Obm z=v;H>`iczUc5dV8-9DCdwF`;;K|CXQ-KS-f0biF*LdzgOiTYB*DZ!N9Hnu#T0m#hH zj+o?4ez}k*naUNi!fRvSPwLAB(7PL=Lf-86M8KOqc20}lalOsf++bqPuD@cZ*I__O zvXp!QL}~;D<_Y}7Q)lyl2>mI*YZ(~%Q*5$YDZ|WxENpafJWhuX546boFoX-*VL{NvZ8aI)nc;$WlnsIo z>6ANXQ;v4CmG8+Ziv^e+Cz(a>e4QgqwoYZg-+vD(vl(y(xq=yxOTrj8e?b8=8q(8Q z(()WF^rz1uDcO3pDl@Ow*6Z~+SyDPV)0i`m#`2~4uP~?6)bh+}h)%ZN3LG`rB6M3U zvi~D=m*b1_yBp=%uRM`8Cc4TD-B_^}*uzqly+RRpyiEx>*XKRPPUp{dXXIt7NSM+p)7}0XirWi6iiq3cND3!z z<#c7@R@>r8*z^J!fM&>oVZ+sk&_l+{HE9W*s0Z=gX)4IB{p{byWljHo zC_c%S{eUBaz{phgml4?R9JZ0L%F%%6^o*VpsG$Cu7`V0IocS`tQ-EUsbCEo2ddH8^ zH9yQ@fH92g*>+2p++shfl#+FtdN4^P+zL)DHBbdj?Be?KtL^=3L*1a#8|&eHZn>r9d9 zw~Lt!?t65lAW-I=L^GlYVnETLT$If8DC()rjvYm8-uM~=hSkg&Fp4qkFnK_)<>m~) zN+T*8&>L~Zte2fQfXEurK$&GG;N;}NE>PygAW-ID0%cAlQ05o{WlkIw?`2IADRVH9 zGEW#)j<3r)fZICf3wq>O_5(fTRyO`iyw(u!Z*z_EzW6=P_ilXz{*-i$?Xa0r?XuwU zJIW%FI7vS&oYHSU28up-$O+_hvvoJIs^!m{6f^TpT<_PzSrru;PXr$DLp*&Im9!mQ zON1K(@_Jq&2C3}$TAHt!nW>r)O9<5!S(yTtf2L)te8d_{T(zlSENSyW4rR!asW#*3 zZLLV`sW&Bg`VyFF;#~FdU7|9rq&@^17;BfQG}WB!1`$Z>1~Y%NW*la+537_g)7@G% z%#7K=FmtqigqhF&4Q8Htkeq6{#bM^VP0B(!5NZpdEWpeyRMIxq8z zqeg8uPoyv{xh8WE_+4>24E$zUuCcV~Z`Bs~%{DQn&Tn=-jYANcrQYRtS9PO^WV>v- z4F_T8VcqaoR*x@sE&89@c*GXGZh$IM&9T7eLeI>fWu15`|84IG?9G=`h5tT(*bO-i zq=eUEH*1t^Jcn$o@v-r|O;RJ1xLrRQ&kG;d7SF8>@Vocb{S?qxyyk{=T`QI&K7i8K z)M<#n5W^6=iZY2(4~XvXV1x#jJdGZbS>jKkF7I5y8;grZ7XY`K#1xL-O%cYC#Nm+`T-7CL7mY^G-CAV?h5#207q6mi_Qu z538+!@7#u~{MBz(8zJAh{C~3*lXhRa+`R>Scfc3$od=$q_fUT}vHrx4#q|K-#B@L1 z1JhZ2f`30_fbX6E_72}dc$;fg{&It_a(TnG8?nKLKnc;;H^`0H@NI3x{;nU5*ccev zn@DxZnI}w7tjOApRrQUS+Pm+wKl~;qOny$(g6BjanWt zF51>Yoe$2BDJ-=!V1OHP>XkGr3wU@5z$YWip`85-XZ z!yL@Kmu&f$8hm87vDx)v*RPc@WDbM;Jx{c%RR7^$@)doAsmFhsE;jd2-b(Un-@_mK zV4hhIQVVtj9$}TZBj1?`BhMEcHQLZ@m-_{iT@Az@{7hZZuSz`Bok!%`qk| z|1xe_^;Tqza+ENF3c!hAXhd7;944zYiUJVa-`UJ2T!>PcYqpr3_eTF9Hhs)?Xgju zwTi^?n>>L~H#-LB&HWwVZ*LD_APD@C-t2iJUSYTS4%PE9_vC(IZPSp)T`=PO=m(6uNY4~tT#y%?@rAIJ5goxY}Iw8>UvgB7xE-GdjB3tn3+RJ z3&+&ROvAG#J@D7%kK1iHnmnR6|9Qnm7Md`M`AQv| zPrD-2de>5owUkI&)j28($MyrZ@54zZ!aMQwII04oe}GL#P?arePm}m`_lZqIFjpsDAx}KDI&OQs z$m@fUPOGUmT@DvQb&U5hd(R)^z0%%`cfv1KYGfyT8UgY|EU$X^ya=getx)9y1Q!eG zVUh4_lT1o^1A5S^4SLXz`o8}Q(8IPspPboMwh0N0gI`kj5+kit$x!!-40Sxc9_7K* zxmq@wz(_o`r6;`^GGlzgt6z&({%@CGA}ZHH4%U zPyfr&)0(;VUX;Ztl+u%BGuaeYjwNgIDt`J@z67p6+IRxEtD1e=*?usM5YwK8&$%u z%Uf3+zmBvf#jl@s$&JtbTAF4O59mkZGmdiJMYq`eq3uJ1@BicN&Eu_}zWD#7Q>N>L zq7NcN9~nZp$aU$c%Z-~dM25&zne)*l6w!Ipaa=-?`TCeb$Pg*rqR3dvl&Q?U-)@q5 ztbWhe+VA%{?{n_Shu`=6`2KP4dGGz+@4eSvd#$zCT6^uirx}A(PPWgQAZ&6BVd6zD zoV3Oh9|NWvr14W?bL$q=9-PZZ{>EUCae^zLf^GSTKC97bcdE~an2ObYe;cOCy-PR# zBXk&zmTUY`bLu4qW3+!NtmriG$2Wq8o{WyIz6Z&gXSaw)~zp(j43|>q`LJiGx~|b>iS~ z*<+c?BlIJ3J4fWUrJxrHJR*W)|AUp!(V2oEd7B;-8|tLDx1+I(=#!(dJ@A$hb=!EV zKST9JWVIjVQVs75C!fqWo>*zsS1!>pYE9XHI>?O(D(Nk7#I#YamAU45lDIkgZdwVQ zGO335)WBsl!13pL9BOS<5%!sLvq`ZF9y5^#Q{D|VR#ivr z{-` zns%gKC*A8!^RMsYb<~$>M^UD6C_HmH1&GAQbwXla!VHKkGfTZ~QsX8DT43os15L7Y zF#}ChZj6DdTWeIsKqtHe1Kr2#X{XXEuJvxK7%qz%JkY9gG2@VGusiA0jN$6QJOoy1 z#^w4VWc(a5KIB#Kx!zCTPlUGLLh94hKx5Z`Kx1=3ZmMB1@0xu3IrC@G$iHc)^ICE# zIyJ$TGlTa&RS9-po4Q_F<8#aJ;Ui^EeI?6mAl|_oZ@UIQ{}X$l>_+*>rmmuQ6{{ zCiCXa0UC7ES>9AxC#2qxIhm=Ps~-_pAEFQai|?SMgwzYbkC2*RyvW~F=!lrM1LaaP9xpYR>%Px`Y{Wli^BzD>)13>Oj&$N} zz){4&N$;+=tm$KNO}8-zow)Xn+i5zITr(ciNL&huq-H#&$MboNrkhU67`>dDLh?Br zHVm$W8&c18$M+a5$nJqk!$A+tbzpT3inIb8gA zphZQtqp4Y7$qu&wM8ntI9>L01A7g^p+E9@@5+_Vmmv4f(i}Juteor!@sy;Z@q;`Su z4W6D6**_~FYzer4dxGfn_v&MrBxKmfbEqbGLLARFSu6Mqwo^$xgDW-&WPzyeHgL)yFCbdY~lw%Nd5$jP?{ql#LEnE~Z>X+ez3fv7&aG zNjmrrB9IF}Z&(mark(K^UJEf?iu6BJ@*c6 z#^v@LRi`y5ZcZ3)L)Dq|0yB+vyDq4G$0!&m8X#z`|A)x1X^Bpa%;QHIE9mB^^=?bMU>F2v8B*LP1> zN+af9Yg2>Uh36f?Fi&g72)jL0UJFPv_=$S`2X7T_T!*%J5O7-KH}P+bZqF^~CEYH} z$anibOq-;4okDPPYX0R)S>rc5YIn-BhtF@?%&6NT`^LlAO~cHoB0+1IycDK)vnKoh z7H_h*Qr6_QA%n%}Ggu}AsiN&~m_^D?dP640KR#J0`*_K_#+}U92+?yHfN96#NwG6V zxgzB;A*;u>#Ca|Wz9LZyxN)?Bo$!0S{*9Hg`mb{JyTSO~46^a?Uz13uIPh101PP28 zk3I4(!|q?n6O|c+op7)QuVHrODVDp=a>QBtZDSj{-Q2nzlF7zqrbhmZ4;VXj!x zTLGH{bCD>8)av}h=L>`{ZsNOZkS_iQJVjU;{y5)F)(Fmy7VI5eE%>i4KZo~kmbhQAr=YR>1y7u| zGIqbF&hoYbG+k0;bft(Cg?$7ew0%83!bqBY9w~QV8_vG$Ljsc|88tp z?y;g( z_6?l}~Aa#VR`jc#%JdXwXpmDn?H)Zsf=`R%L!7@Jtn3LrXeHW+`mC zjwX9#9;wlrkR}x%luX~u3v%kgcr*XE8?}p$1H=0aX8N*SbS17G%#7=%YBF_uTRXV} zD7{@>?c-G!ly;J{U3b7OBO+$wrvOWOSDLoi{$RZpEzeWh(Q-XOQ&%tw7Wow32SkLT z26rr_bo1a#;CVvoxu?~J@~yU}v{El16#ayr`7GQUEl!Z+wQ_jjydJS!5_miUT^j>MV- zRV33R;1mFOS7X@qwFkhDYEoV z2cmo*f@1|>ld%xLu6``+N~YiaBVLOkNlRwnuO2P6Xoq2b035pVp?M*@pw(-8c|_b} zon6|=KG<$sA!z}_37*HV~MT8zzY95uE57{lz36f}k299rB%imjJSw{+xq zCF}gP$ML3s91mt4brJ(7I{dS_>pNx&OOJo&LbUFxS{I`2%Y!aNd;B_x5h0vHK@Qc?PzqjqV*bWr}|+iHN6r|^tt!s80tT@RcTOP z5ce2L9`l13k-iBi0l^f|ORlf2|4v^sANYfDYtkX{L+v@PSE(7FL2SV=Onmu8evjX9 znXX1q|2=9*dOtydLBPMJSEea?LP+DvG)dGWombg0UHSy2A}v59Wa9WVmm3k&(HyD| z(KK7hfY@~ZA68t+I7s=TqGqBhM@2Z$%5~mi+z%=_I5k|Pm2iAE8qeugk83qf(bllP z#Wh9%PJXm7!Yy}nW#{&;%WG;Ly@NS&s3cpypGG3vcZ~mS*1gkiEE_!T>s&!?I<)lirC|XJuEt z6Ly}-W2YVEBcZZEng(WyHkz7 zx!Pf%KOQP0qHK9LNy%*6=lSvHhOe*6zh1*e4dgu$zB}K&6Jo#l!;n|+w|K&kXC_zr zQwQKbJh}jpFaf|v=MkOQShH5P@-DSv1a^bfT-j3jLgCj+=fqU`zgG#IoTtoCa4$s+ zg$Rs>2!#(g2#wg|1ZLYa{OK7(q3g_VRgccjvfw^?dr!?}ow&{_~S^Vj!8m)&W?0j3cqr1aeTw(FIcJBY|Ju z2y>d|;M5Xk7sE=|2rIDN^AT3|Riil~w(ZWRPDH$WI~z2yC94B1Lq{p-h}7`p6@_|k z!K}M0-+(H+g-_e4z>t=$2C>}XAOAww$#6C+J~##VBLGC|Z#hBW#wm7Ai%Qv8RnsUN z`bQTXlNw5>@^6f}2}dtf%BIAG&I?iRr>U)|aktrfAh9{D6&Vn*-oIcOtLgo2d{d(L zi&^vVPk8Mmhi*HJF{aAJVl$rmi>vM?@>XrF3qI3=^Oc;o{LGO{BE~_A!KF+2QyEb#3@&1c3zuJm!%fAe+<2f~B{}8gCO(COB zB>i7%g{9s)Gz#`oZw;4H4VrEl;>zqh805OLZLYH2T|F|N`FnGtTXcD#FR)@`SPEwmM*m_o@|T)$ zH;h|*>zUD&G2Y%#GLKlUW{mPUti-^0ABIFXSEvG#cK2D3)s2 zNOfLIovDUR^f-z~zj2i0kew(30cbk-f4Qr6OW??(-R_d<=5YPb&~6@xQfM!+sVAhe z)o`X;M$XmC7{?6SpZn8ji7xZlFDhFZ`-(J{5XJh+N~ zsTrqBYH*R%8KLwT8kZiytUvN1NLoWA&zMgm(dymj{NK=zP3ECeVM5lsjdum24Wmld zx^At<=6zG-tt7>%gFs62k;JH7soo13dGBy=3s~U^dWIOM8ANmzr zoYx44pr}`?+3XD0NNXt}V0G9l2y`se+O{C`Q_1WwMLR| zx0*b;vE6E1oBU6AtJP$JRd1F&M&TdqR>L6%O1|3=?jzin1klDSfBKG_{@j9UP_O zdaku}{fGgFUvDXDwOPql z&o64VRj$?cYPFoDot~L@8BGp^L3Qdm>d!T}AId$k$k5UPHp9gQb3cX)4w)+4K)?7G z441ohPLRNU9yP2JYUcAS#8i(O#wN)0(|Y6xY^kqxWoM7Zm0Xv2`ckDPi@2Sq{VC(r z7gEpa!T)9S%2lb%i>MQs3;8_Na461`)O47I9S-z`aIvv;Aqp3pGD1T)t2&!F@Ee|7 zB*t-SFw_2c{ovj8j?&r?x88koi85w#Qy#_5X&`SON5Jbes|fg{H-NP= zn~D-wN!7DBtOM}55%ESu$7>gp7fu%O){dbylaK`}vvSN04NkO|MSD`|==!c=t%BS_ zeW?ap*;ofKc=_G!)~fnH+%;x>Of{UP4$WW7I`n#Dems2*k&WjC9=_S0mTzohj%rke9L01t2g zv*T#9Ya=w>dl4(COB}$Ji%{4Q^9e?bv<&8lEfwx-Xv4i0UE_>3pH{2tr}N$~fzf z!^->Wt6^o3wQ7-#6Mt1^hmZdF+!VNO;pD443x zg*=5E@0_Kn8D(nbP?|~2*iesJQcg9j-+{*#Ob(pwCoFBwYMEnBE^}8#8!}QemfNF! zyi$*A^C$uR&IKl*(W<7Kz)+O!FaG7OtCQ&NXkjhADS-DJHD^_$j-z)=%AtfGo2%ft zSOwi&1yiVi$Ra8@+@_2F#S^n8Y7?1%0jStNEfP^QrGmbmn9?n#9TF zV8~WY2`cz1HKUWdUcFqhwd2)bxo7ssZGrhK{|%wcXyLdeJUI@T^s_Q6AJ>m)VVF21 z0muL~bf?DQexT<9pR0EbWl}S`s-25nJ6qdmR<3LH<|vy+t!ty`S~RF3%{T=;>Be`b z@ibxMyCfr-@fqVgq?Wv#%#gb`HDfQexE3v@X6&oS6$BY*NlNP!yFSij{IJZq850;j zE(dq_wO3~ok5E0R(@c`JtEhqo7bQ8C7cvAfLxOz}^r;z>__Ur~&O+-s-#vnbuXpfibaVn4g%L3cD{&`6biICX_YMqMMNiYyyMcJdYhfM|} z+JIg57z4J_3f`uI-5~rt?@3__^_z)=4$*hEBG`88wsi?yHfb5D4RD{EuT=(@^!hEZxNXt$cO%X zp~|{FE9&-3R^cpFxUFk;s&(VSsM+kJe7)vUp>jT@ptPWxP$wE++ckc;HGXtKiF> ze|KAv3sqz-+D|of?GQ;#lbxgO|41~MpaTq9DhTxiRpGsWOu~Q(gHWF$WgP4GF$X_a zO0mu%mE>QG)yl;%RA{QoSkC$MoxCn+ISibVb0@e1zVo~NM+4%5FdrnqEa+hoe2Jfd zLv%g|EmI>^SN=Hey6U>N?WOwGmEA_Frmk!uKdC891xyb9_d{AWYuH%aeFYi*m*?fH z-V{KCjW{dCpJ%ylruvkQ1vMyi{%4T!l4D)4`z_qMLiCeC!A)MU2Z7BF^jVB9p^ zz-Z&ZI4lmvnF3=w;iRtecbF7tr_jr(rs&VTEOdG#UWdxUAq=~KKO4VzMXW4*toL7h|BPyZ0WTQTtd*MJ~ej_E)@eZtED!oV9% zUv7bD4XQyziTJFA0M#?|6NuO}gqZlOfyr-Y4oqHFHA(;K5k501h4LAOYu$wwhE0`7 zdYgB^{Lj|5BV4ZoWJ3UL)vgHnArJt!BQw5s9;QC#u^+kNqbMYN+%wUA1TCpbkjmbJ1_m z<(ZOJjKlAuZ{Doi0G-(e_d_b5t=U$F{NU@=t;up2CcV}ec)hY`ZHp4j4OK}}I;a#aSgxNi49Zz? zUF@?Z&fQv*S>_MM8HEOKQJC>S*`Aq?Oru`kLSVQYy}-N^nuurle2nDV8nlNH!C><@ zwc1{kiJ;1&#RUUvAAtqR!&B0d>BEFR^CTUor)*-WGX#4riV&7&tTB5&BHw^H6J^&_ z`)v8bPfH?<#eGAVF-YbSLreT(F0G$XHKSFpqFiGKen2P4=NTz3lrkDJS85B_)yJ?35=l$3xIqfjAZg=6W3&rzh_R4&j^x9dwiF$D3w8G;qZ57%{&f;2h zx?)^^rj6he0=yggZpF;eEk8`gTHby1EbpNNXIGguTIqj4y^>1l+b9ui3Pm>@MGd&^ zHLaT%$0;Jxt!)!ln#wHB{DA1lEb5W@!>IstHS+(S&QO^jX#@}E5kkEer?3R0oG`4t zpprnhsio>htmzL6(UiWP;|dUXa`Gm6WrlAnk^ZERk4W#42{>Q*b+RA<6Y)J>@4)-p z!uP3BZ!|w7(_^VjLW~{xKUs;W&O9G>$VmD?HGqo?xK4|~74)@4j>yHS-cjI26zj~D z;2=Y0VrkX{0hq`W^Z@db-YyJUNUp0i&V}Uqqsv+ixf;x0`@h^%46*khQfit`cxrfh zD^#G1IG!K`DwSE38<8J`d~X!WW{7u`lp99^1m~ZET$W{ax{#{F!}35cZhXn51{~8S zpkLH#CsPJx`i~LAM<+@{6GqaLSurQ=U zj}zY{=91)_m^<6%ibt#+Ia`H9ca#>I;E`LP^ zBPb5P=*Y;^v>HvOIg&r3;~n)F@>k<@Q_rp%L2O{p%zIrvtgcI(k9;`zl=bSX*Lc3m z%vGNhx^6Wgr3%HK!*%v9A|U-z;aI4yb>8p6jxJp=DN;ulGgcOLO` z^jKH9sVv{RvP;lf@rd86TIwdZ1`(+luV{+R;0@P8w| zJs7ZA-T8^%4Q-4Dr_=zEMvMeU|z6m8bNg|o7mi-Ge^cP@=#?eZ{P<7N#< zlS?A@*%wCtL3_TXKW9n^E0Urx5^YzI6X_($^zNjPk1{?Qg-fr>GFUCph65!y8q`(_ z!UZH0ZgsnX!fyTycU=5reV)^_&tI8U^cm4r*7@{}@U;oZ^c_6aRM_G?8~;gA@6Vu9 z>N5cXc(_0j9r@n)Lt9Gh;7k)^9V{Gh#CVBP^G2k%QBFnsGKe~vUWiO3v6dxXbBRVH zoCYN@@5Y^kCnEEb1lF_4DjKUCx+RvU&DSVg3%-L9hTHb%E)Z@V%YH~rPH{YazH*Ia zTVlzeIJV-)X4$RiioekS-iu#%wV1Zbl$CEHfOh6>ZiKu>+>jvVY`LdR0CgH#$gB^a z2(x|xe*Jr>-?2G5HlI25;%=jpP#gxGF_YodN3H3~8E>lACJ;OpHy1qHjham~ULHYk z|M`UwY!3vkt-FMyKWM_=#9(nUbPTXG+{-H~6eC!O+2+0A43kLhM;cTPt?96WY+^$L z($G4CX$`c_s%JVUNf>o4XN)dzfXI1gOb| z#VI-X!6-T0xM2ID|KyyNsu1D@eOJqz%v4?h@#>bz#m`Xfk$j%=Y0t z2JlHy?vzdwS(H0@oL*?eodqlFaamyIxWa|HD*t5xL987^tK zheuS9W~vXVB(lxdUPJJI7)5SvNHV8FKZ29WKLSw9$7&Hs0L8kX^!G4a%WRtehv8ZS zljoY9_CqRp*@1ojdBE2DCOTwV&C^rfw3=zjh+k}_Bhd1Uu4&1;NpiTkp5pHImWr}V zFVTSiN4~p?vaUooXoQk!p%2NlmRLp%tz{Eslwc<7rO2(_Es(!_Dgw-08n!Jvuj}4s z#3x-B7IvcRgGh8Kv=C9XiIMRh$R83LT4Fnw_z9ZELQ(>`b=Ogm+-gG(a_boNqMe4N zVA@T3r!W!ZSu9f1)5o~^;TcRd<_G_vzRU*NiP$hAL{-%oY!pM);Vim3RQ)=>e*;V#Ot|4osZ+xZpd7Up}YpaQ> z3+T7k5y2@RO1Lt*F-ao>e^0#mVAJN@?}UJhpZq&8LXB=jrX*oRjn18v& z;aHOkYSrX_7)+2Ews@-6CDn0%He^RHt(rgNBH2M?qggVdK972*P3+LD*%X+%S>vJ8 z?$jTTxNZ7t_)UEAAF)KA&(IG$Oc-HXiB6eefr-aqUJRNw;v#_t(x{S9JvrrMYf z&JBf)`F#=&HYgoL&=qA{X$;agyQ%)8p-MchL^ko*OEfCMdcURff;DaF;;DY5a$|zk zpA`w#l@~!w+EU}+53td^`-~9OQ)s!}n|Ig)4NU3RXwPQpP{M%e2 zJbUBqoi-+$PH8Cja9mSYv@{Z2N>a>=08OTEw_yrT;CjBcF;GUY>}iUxSXWxBPVcn% zidRn~RoC{Y)&xGQ64vJ z70vJ9-Ml)%L@;Vo_DAOppifs*>5ZtB#Hp6hU9lt%vczvlbQsV74w#*l@dG)CsB;ie!5Q)zS0qlwFw=M? zy&G_z(=VGN&7lQ{xi1)C5yW93kZ`r+_w+_Ti2w(=Z6^)iIB zx&;Fub zksP-b)2|jIv|nK?B|iHgeZ;eR?#Hu)qn-!wEbh&V(moQU1L$hA;2p){jLy}X^p=wW zGG753fDmj7ZkenU@4?cz2%mi%>ULW9Ktk}%XF@`nte&%UezLmN(#4b2P0Ec;Ru$8u z$?CB4nXInkbwU5%07&QI)=7B&q8jx-=c}LmG5zmN#CGl*4Z72e%-hyTERg@8edMg~ zslwQ+rWTDD?_bB8&_(J=acQ__t62M1m%N+7y;S3xP+n-GI*m()evno(2gI7$M`2e} z8FV5$$NQb!n?mi>LJPt4(IVSPziP991eugqa{DVcOKwDk3$BC;&o^dNoKQ(-l)ju^ zlVDI+l{ky4{-dh8QB^4tt~g614C-Sfe42!vsb!rZ{oI@uPGH{tP%G8GN44=uiMta2 zuTDy(?n=aqBML7u)5PMf++MJfWyBI71-i98Yz|H0d4<5HZ;@hVtCQF1$xR2rD4zX+ z2OHnz@hXYs9g4646K4s*%g|Z}ju{UjoCu-r$KRX$z0BWC{*qg!)o#&wVWXCI>S@b7 zb#PR{VPP|?i78=urZ!bQ>JRqtoB&_w66SV_dFlY$9T$GVbddBW^VV!W)Qs7k@>4?a z2rt+gqgRyyKXDYSLmUVE6$M6afCwoVpIQD_V5s4EK`|}4WshR|xP0l$ zhTflgqPk`igTlH9Su6}SlmbmbMIB1ehmX<;?J=8}uHg$q4Ie}+_P+r1Io{@B2^VU( zLMuJl_Q9Ey9kpf)7j^g+1#O@YQw)is=Cny_7_0t?ZZlL+QHKY1z=Qf5L+lQey6SAY z&RC@nv2SKOZTAUOX{x{4RS&y8M+Rg!nyT6Z6IC4e3_nEZa7$J50aOPngxjdPnIVReKa z>}@@0RF#}>Zatuaby<%SD(S%*)`Q$CQ)Hz)5MSp?KSWB3X^Eh;!v+iH-Kh{x(I$)0 zaEgT!v3fLOG@1-Pz9dytb&B zQxzp)ftK0w?#~MUF&)pXqBN(7)A6b%EE8pl91`Jo){7|8#$Vi>=JYzF*E%*Xv7ZBE zuMm)=H;z~2@2q?k?WrYwi*f1$gw+tCqt=d9VSzF$5U17~p5qk-s~xo-(tziF0Y^3Z z@1GG;>v4P|igETzX0c2b%sYnY1imd{NOtD~mRJSQf%;bC)4C_SPBn&^Svqiqh#Plw z$-@IR&+bjJn(QzaI;aF2f^(sRKxd|9*=3X^9@D;GtW9}O54RC5CIEyc6PYlOOmDa= zl?n2K>ptCC%1mUa#M=vkbSFUok(@%6MDFNg6W2DxnP>mqp+G4r)bOu%Eeicn1XjV>FtG};cYzLE9q@*qO^7r zsJi$m5f2XDT-eu4a>H9JU+$6lq%Z_*N@~<>!bW>xyQbFS?x7Az?7||}6VGmKy zklk}n)3~q^-s^#tz<^9wMyMxsAuDe&OJ4BONk{K9SKK17!s7F+cvLx3={zeAU3g~0 zWh)27DnA-cOSTNGwWK=pn#eKpzIhA#Vlh=`jF9J4O&qW-s@Nt7Tb@th*_8J2_P<{L z?S5NJx_z-DEmIQ%R-fN3CEPhuji16=YE~`j#()+>j@02QLpQhX*S6JYx}jBeSb{b0 z(ez;GX2w30iJT3wGN`2-U!l1Wn?o}RON5#dhZdjHM6KQ{IP=HL-%`Z4rJOLpU<{c( z2nQSvr|dyP_yx3spU?R^BRO`WE=%syP2WwcHzvBn*Mvlh3&`-eQ={r5|M9g8KDnOiPCG(M^P9l12q^~ zEb{9J_som%+(9YCb(vV}wWEYpVI+XCUlPahsTO9EfPx8M6BDLomD0s6B#)fz5*Nfn zaAy5G*UdkoZoWib*v;Ef7YX69jIf(Zlk#31SH2VG z)0ax}XUls$p}}jSR$YMAT85yRCBQpvnuR(pEmkJCuYTnNK;KaxPgecGmQU9&6}Nh$v_AyrZ)f;CKbM>5ZZLp1ey z3Czs6oJgD`i^3d~fBb5~wvRHL^aPF_q|an4H=4+g1+{-;rP_b5j4=4>gnb!B)2Nm{ ztXzu{`fi%=-uZieG0E&@uc_!bP>J-bj>(<{ z;U@ZXD*h51zAQkRikX_eBBI4>$qPAb9}G5b4z`St!;~mZi)FIz;)0|H9+AHgB#n|! ze^-zs)2&QNLd9YukW+LvupB8t+6yj9smY#(uKsV!M=?mIch!rmn~bu@Gj)QeWQEz|KQ3yo#_PVhS)v{LKj-2X0ROA*GbpHv0b z(nn%iHQg}4W`x7pJQkd&9b`G`=KI>23QXO)Alm}fB7*R~h4Lc>M=GEeh`cW>Gm;lM zD)By$&Xb$n478;8rWKC*7d%f=t0tdWL_J5@{s+ds5e^8JZDl@gaBb6bMdD^+A(Gy$ z<{CF0a?gjrViO&*lgnL=4rzA5Xa0_yJ!b5AIjxu#T4Hgj#AqbWknNwX?EU~h<^q5n zyd?^P&2~PDcal}wa@o=9&Nyi` zwM2Ln=+3p()tSEN&2HV!`fMj5ul8i_xTahOQF5GFyWmP5>}2kH_cS^Boyb~qjINl` zx@*>SDzb*Qz+J+;;!Zs;IG@{{gKUR$8!{D+vG4IRo(guHJgh2n`Sby%jyy2=Y>hu4)&>V}Z4OFT;# z!>tas$-%r`EmGR#Ab%3Q&OGhDJA`Egz8lR44Yx4aI>*>8-EB!LXpQy6l+y^Rpv?Dq zZ+dyLvd*Z&I}mH*_U?WDn@^)}@~XWnZ3Rmx__$-L0WtK-gzhDNq+katSrNxY^TB^kp!I_n>`yN$bCOLXR20Mqb${n36P z>I>}a-26$^MjXfU)@CqLp$dwTb-GB`+e#=T{=cu<)if$+qeFnspPuP2*o|p)4(<7` z(zfO*HMlXKg)T1O_%1?FX{7!=GzDKOE+kv|ymg}Tp?d^TlfJwGg++ZKKE_r)67L=v zL4W;$h0wPF`aGP%mjP2ekXnH{ioxlXJr^Sy0dN`>_sU*~5$)FEb!d}Yk3Sep;de1x z0KdaB&X6AMm&v!I-Ka&cCSo#G=D(6DUM^tHo0`@!V1LFyo8^xAq@A zjk_On_6G12opALoz10Y16Q}-H7%@GpD=IeoR`%h?4B2m3lnO5u_FHu^^nByUX??)6 z(Jj|QwsJeGBsK)@mPFaU8Uj&5&Z6nODG(;Tv9{uss5&AVkY-i+0ns^9qjn9`1w+8$ zbB_5|hl1dgHK4$1z>T6yj-n+-HUz!(>M)zDIcQD|;Ok`TROKOe3&JLSOK+L)8y*Ua zF-lx`c+{KSdKC6%@-D^rYcj9|#z0th^pgUeXHuoY*O_ERQ~5ZL?`b4b4WXq)%&7j; zgQOjrf*)U9C$b%voH<>+EcNBlu;uE|fV^^;SRI0KZ45J!RVT?6979|aGNRnD(viir|K!h5#*8bq=7h2!tFEApm@5d@8 z9j&o0RhE~AEgkM4Hg}wNjyqK5q#RtE7r}K`=i>f1r3&e3!@)El?)H};eiKYK5#2sx zu(`4LhMp5jcIln^>52Ql?EFW0%p`{DN60=9ApK4T$izLO5%?JvfUkSoXF1xBM&Owa z8iCL)LmZLx7&r#kzSq)q`JCQrPqW1KsluU{xD!Kh2i4P`J&XDS?FHYNpl<)7wOl#( z4%O2HfZfqJ!d;n>8k6+0zD-a+92zzKDC&XXGqm%%&@`>8lfh={ASbN3_vG$JuG&A3 z_WiX%haqPwb@DP50b0-UkYay=g9T5W4=xSu~c; zM=$LzcCrk&S-t0sF{PB=(!65}V{ z0U(=kBFS+3DGF5oEi@gI-aUpTJFqwBwhXRy-8?PoW{KH3=!Y2fm+u&{Pvo%ndOP;H zV0GUHwXAi)IF0I2w(`&0^wVTSFXaN0h^dp_%LZhk69{!w^!a{;Lpg8m)1nMcn^0`oUD(fx!_cp z>Dj*Q17rhbnoscZLmkaEZSW_@z8x1>yAgFwqAqh1y#=WtAvtv+v{JUp8rH_G3K(@6Ri97u8Jo#yP!LT;IPi3?}!2CP$G>R^bHYwo8* zLp)WD6mg_)*4O5qYbR(!_uSg*4?_{#gl@&XMJ7NesBuVa9h}`kO9`QD`=vq|=bw$& zPZKul9A7T-s!FFCMImXe`gbuUmt?cmX{5np4yJwvlVhXfJ4MRD*Eg$K zW258*W24sm7#nR(6oo(5H6HfyyNHb*LsHPer|jz{9h@1HBL!^qws|NL?^H*99fLeNrJYbVh2GbSaf$mCx^2k1B7!i63JX(FUyY7Wu|1TWZlP#wt$;y!6TR6k(V1 zPi$+sw}|*E5{nO{vd}-#x0qvkgrZ@vX@ON!#5k+FH7w6M%+C<3`6kjlm~Ub&P>v?{ zL&QSQ;4modo3OTGz6s-~UKz(xF2>`YLn0)OF^9oo06V%yp+LWbDin2S7B%7Yz;51-AdyfPD$7E$zM%L z?Lmy2MT)1SEUhHHL2A-XN&lPfTt%9Wb|zXmet3r+HJ}sJZD58MaX^XEk^ajuE+Y%jBK@~JZZ+oLvJhrPv!$z{NO43m{Sv^Mx0iF+c&w?Y^uT{I z{hRB=LWoP=;@tX%bD*BlqyuN?J8(QOB|VoBc0h^J9oVI~0|VJGRMLJe=)lJtx(*E8 z+kmg_rK6T2XSC~&EsV$9)^zP5L#;yj8aFR0UT~gT|Yo}k#ci?J_RTkqcBkX_@r904{!UY`|+wbpm;2CB*k>o!b(asAEwf}oW zjhmC{_l&CD2qMH?M?W zA&V`)CNpZf#Xh1p7_^D?fF=ynOnQsgfk`=E?ef_Qzs!fz&eE7V6@*z!%Tt=AoRHp9 zDF_yMs#1wf3ye}-BT-^8W>oi1T5lV53CI19o0;jp6QA|rv{07&&L5EM zoqE>|dv!oal=@9y_8;^Iznv3_T5VHp?kC;XGSc&{DpcDz5mxqbYT=s>2yi_G{k-zyTI z;Lu>Z7T80qeQ1fNT%y4e4=BNwhIR{WM6719hW-ddUH$2$tYZZ5gU4JHvoF&H>fYfEwd~`c;D| zphgw}^%4BkbU*m9ML>1Q0dHDA4)NjvUN~+uU(V0L1jhpJ>Vv5*q7NwfX|ANon^=)+Zvtg_+nPZQ9xu_rX1pk9 z;9l3j!TR97cmsWNB?}t3kusRf@bD&dRlDMfCj)lHCDZSsKZkm!GebN(^*TFZq~gGx zthl!BoXLvy89pZ~p0cslp?0+Mm?chdi5o0&m=ef}eW@Xo6*Xkh@!{&nJnR*} zIq%@Wd|aI8FEktvg0|!nAD%G!_PdId)&mU?**zFG>?Ea+h=mIv4CBCVmd=ZXEi7Fu z7B*FGjIJKLDkAn5D;fHYcHcKuHE@B)m%;Q1^vE9qxc?FgRK` zpf18{N~T}1MiVs=Q10O3JWyjw0(DIhP~Mdhrf%C8pgaN9JpxKHz<~M>{KN<=uusD` zU6oXnZErx0lu=tz_Qjq8YM3>ecxH5nslk@c19hOKi!pV8a$}fU?nOYg6i^ksrgeo$ z8UK{bhusg$t}tl7t0u}j0Lfb3ze}R zR6@tXzP?$6H7DFk;wv&u-DMBb27@Qx(!iUig%Rjcgrs;~g&zkO^I>k6-fy|{8Y;)_ z0hxG5=&+A$bQeLDQj*qMvq&Fi`hRRkfVXU(-uJHufUI&c_mB~OpH#_RGaRqkA=?V?&6DlEM)}_|M-Tm>~st1Yf@d0 z%-It{zXf4Q!)P+d&}aYr4NS;E2-V>!~SZ4CC49BEqa);+3=c6uSVT*4HK8APw{;G03mAfi~sS*m+WX2;zzL*0KzW*_AcIHi} z>=#BZ)VxfQ)Z$z{4`Va=&0_V0O88EaJQL?f<*e0u{f`U?tskHCD<98V56E^v?)?4E z+OBy2YJIpj(&z7d7?i24qxmH2u;Nr(>qwn`h$_bC64CsfOqrnXkhTxja7ZSQy9=LO~*}TO4C+0WL{6JNk z(s;p^^GP*2=Y|DsZv>V}&rvJbcD}5Gxb1x6Rqgu7dghaEOb`&FqP7R*9|z|j`$dne zzn~^Fe++F!1k6;-d;e_k(B(t7-FO_W0LMe*;|V(C5`I`v%iOUm-zU8fWH4nrj^(X+ z(?{E~8moeM{d=duzBYs9JmzjkKsUluer!?jHP!BGJ?NoHqoPuASIP8VF0rX4c2EM*Je%bqJ1k}NRk;r6E+XPOe}kra zW?Lx;ZfA0;N6lnMcdJo$KmyerK;)gj9sP1=CGJiVg%h8o2qE-IYRLYd`Xr4;{(tx+ zxp9QchHO>FJ6%t?^^D+Hk~&?Z@;eQNj=E87^hdZWHAvvl;wLI!(>g2ps)BSqwVj}MLlIBdBtWTot)GGs(AAP+*E($KEsgACx`!A$LYpRB-3EFHMHPzAr^V!&% zE$;#+3$HombUX5&;|pUWfnlxAaNwC=K3Y~{nv<#MznTbfxRWYY2zL3i!^v{D)J);6 zpw)S>y!qtXniHvY5CYVnalj9DZ#N2Lv z4_-oW+XXDYw4k7PZf&i|v(}<3E^0ETFx@3~7pdD$z<`~AuaQMR-8R72I`Dq8@V)L| zVH;p0`vo|rWD%U4*&*cQ8QNQpEfa0-^0t8-^4oTTHlmJjPqQr>Y0J;4ti0!?65TtN z@p7{0SS`wDD|?a=b`LmiV=g3fy`lVwGt)Izs(qs}!fk*@(@*1}#FytQ*CG~9=0mnI zoWhT2+uN4!{Og*VgHr?r*7gBw!jIR*1pz%~UpHB;*)$9SatADZVuO(Qa9g!x`~UEZ zDW(ea`|YVeI2M1k!k*oADyn}eIka~S?FD-p*50#Nnl7SZy`1=ZD+y@Ha;Hkc>YRLW+-)btkC05^Wyj^m|xim3N${dYZI(9AlVo^I+HJD_cixrgLqU6?Lbsvj4v*RabT- z7}1?eUk7Vi;}Hzgfx+0=-TqiFzv@@w=Z2}g2_~6R?+-;H{Pm63FM0#>j?xTE>YM24grrX7qrlGWc?NmXT;O)Wst?=)kyuP+g ztqM+YW1{n{8Ixu)!Nv&&pu@1^e7f~oaQy<5Fot3IwN!p4ogl2bxM-ITgJ+DC+OKcJ z>cX8iWr&>cm~gJpVZtLZQdCpkk{=TuH$mtA;VWCJrHve98%M(9c@PD8{>Q$~kxI1G z`w(w)bDnoN^#ns0ProChz%XUbB`05LyTb0q`|6M43pzIXe;Ou0-1IC`$^H^|2k7{= z5+1lx+gvG%cTndkxFC5uQo-#EvQrhfv!lt83bLR$QbE>JbzPk-C;xY%&*}K+gTVsY z=y7mOP3G*89Dg~4*U9t;Hbmw3nE1${Q=&~&J(U%y9OtE{YkexbJ#mK)n%18u$DJdl zV_s(3d%HFhTN79MyX`55gsq(oU2l#z9AGwQq#N7hpYzkSyGl`- z9u6l5_bjy~rM6I=Dbh7rkUV`WDI;MwpMw%hMABSAW%+J;)(v+_WOv|Z+jrP80<QR+LpQaw$#v5vheiG&FssO&NjvIh`&c*ioS!b(feJAdbn{xZ{6D+dB=D_? z5XeHvIUnOQcCk@UFD7&nXugY&z8;D1Fl`)d#!D|zO_ZB z#LjQU19cR>IWDC>9utIgwM~J&*J36)mVXkrUHK(m<+ycC}ynZuSl(sFPT$~nlo*j5Un){j;Q>2^FrzCT|o~6 z9Y#buJF3g~;|KPuL6S5|B(S%hLrbVa?^^)N7r_9F)o9<#P*Zur;F81BF>VKX*EtMb zEyc*lsY>cas8GNDvtcNvu;(z;xSc-<{E3VN*W*;faD^rJFM#Xk;AH|&!ng1rj2POP z!)cWr;(SZox$M5pG`59ypBY$ zfr0}z!8LaTZ{lZa)gHh~pJpyPJBhv%cYpS3Hmn@l8p;aK&bkJ1Wp=H{gZ8c5=mtni zzfI6H)>8LpN0s9oO~@I9ed)IUXBKh*z-;!gu-S&|6=!$ACl%f7xy$B}bHl~l-=MlQ z*NFNHrd3-Z8LO@Xe{4I8eP@S>GT4F%GQJ5?2)?B%IJdnJ99oTA0lAYwkDaDmlR^8M ztEIe>A18zGf%(V$Xhay+H-h?%;@UA4A~P?tubarsGTugF0Ql<#a?&H7NwV_}*^EZ) z{np|sB=*HWAd7n903(XKU3KPV_Qu)>=}hicFqWO|l0UIWsIh&#`8^~Z8EWVJ;7F*b z)sQBxr%g;zGoSy~$eYFgf!}qP!cn=YmAdVs47I7@?2$#MqL-lW_Ryo<+?0VNIRNK0 zqt98;5bmNWNQqMJqE={#c_nBaQjxB=pLM0P`(cE?p(0r|Lo57j9O{Et++cSbT?zc+A&3#(CME2 zF&0aoflpMXkE;iKCB5tPl*3mrk|fMH<`gkOW!IDS(}aKi4gQ<*Pcx<__@}>gBIBQS za-@d*bJy}>K6R4?dj;dRqsBLQ#FT;&W6%WaUGQ5S$2B4~{v}Cf7qns+%}k~z7`bC5 z5%;EXN^ii(ka)-vx<8CWoh5#Ob^U#)#yLlRB#Hc)ioC$|#5`=~uL8noBJIx1nzt<| zxX<JS@d$AEePZBVk^@&Z0>zG@7-$VfIf!>Ni07!!W;~fCQBn3e zp$o}$F9-3{8frmYSp@NBB_ZCV2;y%~j37>g5TD>69t0>%Fypz$z1p<<$$jjn$i~PF z!FcU6OphGTzI49X5lYHXG( z!FuUQ;n;j)={z+xSh|>+#4~YfI^u+AY))@Ow3${G{0(A2w>F(}LP$Hyfmculn>(<6 zGDw~k>s6FZT3=v2W6dT;L8V4A4_G=6mS^c=ur60_jL4tsAAz-CBfz?Z*O2asG;b8{ ze{wNmqixrPKtBjhwzg-2ma~+`EcHLc(S_HWY0vEPgJ{FYBD?N82DDMhPQsQ8otBH zNDVv3Yp7NYS5N~&=T7|AG&HWUWwWWa7Vz+|E9ADN+6RrCVPJQG%dc!NQZznxr2zR3*N#~6ETP8PSEZrNmFk;1@`&nDOZRs7 zB`6B1FnFbUPSs4XNpAk$gf%&T13Ga2&hXxZZNe|@-UO{e;`h^OQKM$>ogaxHVPf)+ zHIr87K9ew|h`+kZkSGUt6ny^KRoy3%#s#$BbJ0P$}r$m=6Sapwu)p1`$ zZ3lqbU_idozOK@lRI0mI!&QrKWNg)yS05#=NNj+0o{Y@*+d{umIDqC^Ls zJtdgN7t_8&n{d~vtuw7r&vX*-%UZ9k2BQnq=HZWn^QL`oeDf?R_~vJRQd7`@m_7W~ z0Gz*kVSx-ic-LLNaJ~C_g!}pu_w|(c*9*RE*=$;i9gOP+%k^JZwk5sf;-syC$KU;@ z6=J$Qu@D zwPSj6_Fy*g?mDh^cOgTwNN<@_RZlS@q^c%_zvJyUo9HV-2?L_mzzp(_2M1kVaRE`= z?$oSVrfw%{q3Xtgs=9Iy#>T}WoYh%KZvUb3WzW5+G|T(dgm^RB(~ePjHWL=!XMQoI zWF^djZYCH>jd0)D`8CnrL;tuhKwz}8HD4vTH#}Ru=W$f3kc-d!DoThP8q_iF134C& z$#$NsABXsv5@z{AGWRxWafOC3!8KiMcXn0mnMj%A}rZ1Q1gX` z_+y!|Kg|%#u$Hy4(!ZZEw_4ucRUmSpn(jRx-CEUnuW)OGv|G28lzor1y=p!UTO^40 zC4dJ{^4+wK6i-d>4(T+m8zy>?KuY5+L?D^`loD!M0dB()^-Y(6SdVc!^a#+}75nxFsy|$F? znGMfHQleLOQ0P)%(#26W!Im<#wxTE<2Rr%$u5$m|&5RK0wYb7@IoU(jGQwQUMF%yR zU(v)2$XR=8Y~Afu7V@+KtN{k_kCtOOW4!r*grpn!#(AWSTNe4RZfZ!H5J%EW(7z#R zIY-PzjT*9Af-KeL!t6yuwHxF;3DIVSIaN*oMXZ)Bo5WUe0E5O+#tb+~*j$yko zr>g+hCFXUgeCjZ8VIEf__oR1xf^KIkPt|KJA%3c~E;6B0$b~%)Z;Cr@A=L3yV{PkHx$nF`gh1 z{2T8jLXs0Yf9N2JQmEnGRxQJ7DQ%3RF(V|*vGdzSba9BmBZ0I5mzCOX1lB=I8wcc%Qya&gS2+9;PwvUw48vH&=sg&U)Z3rN9g)a zt?I+{5l(&!`J%Ku&*L$wB`M($QfFbmODrn#xtr^=iNj2ptGxJ7I%lzxy2=oiNhx0} zqfO*_mPuSM1EcFfYY|b*3+;8WW?7h6g<3;!8t5f4mFSAvJ^)m(O0hq}1adQJNiSKY z$Q`R?^z{;>t#2H8+1`%qW$l9H43*tCr6r2xA46XecdjH1mMI8Nk$gA`hvTj%q$xz3 zIr3$9ww4I6CUfe`P?eazwjLU~an0PwKtohwXckMh$|JF!W_e-z3hi4Pt~)H#iGduV z&t?kZfYuv$7pOpT%aQy?RQ~VoLMQial7psp^WYMN_97y+5E3JXyAecM3|?2{K6Ier zqZqjKDWZZxsG6>G$437MM$K8XNJ{4mHZPMVQ6M^O&jpL_g9NhEuu!_6JT%c)xWPjw_p6`TQ&vp4qQW zxDv(+@FF%tI!w~rU(nspcmAax=4rt@O4(O#uIk#~X4O?rJVa15sZ}>{MzwNulT7 zU}+ap1Qxf`aaAYZ2S1=^bDE>Ogy|Y`#30ZB(XzT8O3tZP(IlXg`$1N4h81hS!rH04 z|KO5XShD~N?bTLVZ7IO*(nVW1wi z;-Qxwn6>8kf6#M^kFKEO($P6Udp$YV68lg@&NW>k#nF_^o$dyyP%udmsiq0=J84Br zktjz58%$cw@eaoi!}Q&^w>sveNzpy)KT8a`s}*fBck29SsEB#dNuw2I&;J1+URx_Z z1em#ZUaPZjTZU#^U4N9HZEH6bF=i82^O?;VVfokLcF73;*$u?YvxF{_DR6A@?Kk}= z}3;Q5td;vju;>G6Vvrx zsBsi8CB5GX%nMG!knp?4ayJpVUrKIlGTe@8hMo+nz9McQnVxGsZTqZ67 zYY($w?lpVQDzo>>r5hv1x*oZbIA3+7deodXIQ6u4DMR=DL42+wO#QW1uHcGOvk2@g z2mj^`aXCIqhJV+45xhCx?=G+(!UXoO$h|aP=`Svx!;5g#{gdszv*Wy0R2O_<+*dY_ z$PjwdPQCGVlfcYvQa16aP0Idfa(nL~sJvH(uAlQ>&aeHp@y+UrwoekOFmz6^yM1kY zPfD3p?h5GKQE}`-8O8@g*KsO}ysG#QhpywS1g%uzB^e1RU;;AnZet`^Uf+jJNDKT= z|HMNe7BaIbHcyF!{$!J#G;p>+8TKPfIao|mvVw_d0$lgDjbNh|%PJDRE%CWN<@`%J zMEHT>uk7P$jqS^vCS&O_ZfrR_^e#&uz}U`YY=5rqTBGw?Zd0y#>6hEsZhW9wQUJXZ zKnG)a9h*l&4bVF6>9F>^0T8@v%Xl`of|;cEnTBl%|MF$xDDpn$mD|Pg!8<0RU|xjN z^sS>_>*mL@12sb#4_9|!s#zsf2Q>iA1rRfT2(O{JKb8+cve^`v(b5O@`wc2J)JqFKjxex@GRL z6}`NYJN!rudF8n7{Fr&jGE2s73G=qvN~ozkNkvTGRoa<|NbvFvB&cF4ga-K>imZB* z8A-^^5zl#6Q86qb5dH)6jX<5N;&m%pK2Ch5QT*K>%WJA0y~`ScMtW-byaUuS0fJxQ zl&2Mk?Au%`p_$WB%6X{o@tF+)9uk*pDn7(j4{^OfH*!9fmHxVKh4ea9)oDhH(`z#Q zGxU-tF0Wes1UxSwKR8_9IOPMOQh6EiG!dbtZ`RCQQTYSj*<|`bQDa5rqqs#e7qsM% zZF_kSde!y4Wcp}JKa-m``biLFi|36lDixbIrlt&KFz%bbAX|3e^|bGHl!F$}Na*4M zQB7Q2c`9TCO1urtArN2ct(%7HDj&t?kLUKZ1?IWkldsKySH zICm0Hw%lYF>?PA@lIA9=z_4$Z#U|5bF7IRVlIdnHG1C%1BsHMF_-DMScm@gIc+3lP z$ms1To=kV)Zm)TNo0k_VG03I zJWiS|b>MCR?4e?4l1*FEge?X^&ZVTMEpUOI>se?T=Xk|?+iBEV)D2$NbH=uEO9F(f zGYE=}vCfzvUXF|l<$CCo8<*$OYTjMh zK|@sJu59Y3Y-a;m*V=x(wd@-j3>h;grV=01C9^uaw>Nhl#%$=1$tFIv*}3v-4!?5# zh%+%mkv>^Ax@7ao^E<>)6dUAT{2c)ETt=fbnQ2k#GGI~U#}-jAqfQbESGVIATB6fLh=fSe2nlA>+hAycL zEUFhfOm$}?EJw0~=$0}V`USZlPbiscgyr2 zeoueR1UJ&ACh?`x?S3~^6Hmz@Esy!JwHUOs#NEvYi#lV9N^PtO7Zi?+83M)nvbo=M zsEh^}Zl`?IoS01an(A~25oSBwXjPWD$X~dEC2pvyk|k~*9t!rmWse*E0^N|Jr@8#s zx^7K_A&$j#)-EwCvd7`bDQs%Uj5m866WBBpgjnP20)%*yNTAL?i5>R9fFMO{@*|l)-q^D{#*Pj zvhBI5`l%{}TU>O|ctQa`3`iigf#xZ|tzeYpVPeS;;?%jIfU(%0m@&4{G3@;Z!`_Wr z-~WOmUOAaHwfOfN0aYI}5WEX4dM`Y$*+oB$9X>#*X6H(3=8gNoK#h zLl3gwHS59bceRv(uBV<2OwE2bBe36{OP0#^JHtR3C4NT}fc9&2X0zWlO^&C}aE7~^ zYBh*JUmt|fojeU%H4b8b@W7)j%G!VcvOcQZnsUuL+=D^D6=S2GKj=@of9fvuQ}4R?+{ zYe(VcXLup)3(sKT#&w&iC$YX^2Pd`oJBzTcpQm|qR=c%y;)OMl$$%+b~ zCAkxcr{k(&R=d9J-p5lf+Aw>pA%vCHZkE00t#;4bd+F-S0?!nzzV_-*akJX}@pD#R z3&k&FE`x)AEHmD055R8^5Thwe&( z&}Cb@DUUwd0zb6ZRT*Zrnp%rOP+-MFtV||elvc@rdQ;0+2gExFNg1n9h)8& z!X%#dG->9j<-Qd`CcR9P6U6{5hr4P9?(AyGe$&`lU}`){h8`X{;d+dYVU0uSza0J{ zFVEM#7d|tpEk6rEDVnlXU~0GZC8?JiIqsf^ZF{e91nKviZfXBp{tNA(NKhhlbm?<3 zaJN%VB3Nz1ZKQ3urfxE9)@ObWoL(|Z=zht#)aUMW)^#zQbOb=Kc~`!o)qrK3D>C{| zX_c!L=>NO51o_z7bSQ8Yi>Ke<79|$~{vGHz?-}@vLIl;kEHqJwAnDlMzh;J3=b!xZ zFkjl4Y1)dX|B4r6AqY4*<4g_d>3m`S|IGaRV$?jJs%I_Qy!tun2#XOja5TX@Ck|(2 zOFZ@oqw&ojj*tG~^%kqZ-K+&NiXVDQnzBpz)K-hz20jt74~PuP(RVPHIi&L-^}(S_^g?LZvZ~Y4Nlqf&VuDuyVTsxlJhBerE0&>TDmM zPwu4TV`nweB{~xH%D<{J-Ml#8O@Fcy9?}R-)6;C1-9Mg}aC~F+b+EqPrlW+Ner~Q@FPlZ zTKei*sY;8Zg|?bzZ(!6^JfxhpZ=Fxf+9zrU0VP4=soyh+hHu2g;?Z=)gEX zmQqr{>;%sAL!>2J&k}&HVDQP-bM-idM{nY+h@UZyZ14Wx@-xH45J<_^i|I#5xxdcR z@(^ptoIde4bJtIU+f>A^0zq5E(nONnbe9=5)tpTOWb=XkDMF-cLUwnend!q5~c`?$o$T`&v@@6Wt zKtp3`h{f+gR&%r>*LIP(+@HF-mFP33#doC&dT}0pAnt_c9xrOQNOw55Jw{p}(1TX? zQY%~2O7Nc4`}(|xg5*@hhm(u#U1#0H3m+1WZ#gOAH1;y~)dIfIf&apkXY!(~Y#=Kt zZ9QbTZlO6bLpuV*KLUE0#o3Y5yfNS{(gI0gdqSv27R=gPh-*0@ntG{qMyitS3C#>8 z#b$0UxF-c$h1p$imPCkz#fKkA*RqjfIYE~+k4LHCPnUUN-ixkpdhl_!K_IGN*RxeH~ zo@X*5JOXai@f1n3HW73#XTYi^$-eHdlm$lQU+0)M6|B1p|Bp86*Oxor&0Np^> z&4cJ1bY0kgHvQiRQ3VDjxS{LnRJ<;1et-i|c}t<+!mB>`I?|PFt%Ew-dqUllq%36z z$PuE;!{ATrP`-4?o^_zXANh*$g?+=4%eH52Xqax@`24dLJRZ(69WI*AtIsr4{<^0MtBy&OWd^!kVGU}HMIj8_2f z`Ln27*?Z|()M}*`oJH-sjk&_J1|9M)Yvhgexi)s>+q95Af)1wXT>o6fTP4>GIjGnrG z(uTg9f;6p_h-wuN)+foX?4^) zp!WeA`c6DuH%}vb5AoDXeGbX)b6Sbe%ylj3ji06MSzoCa6ZQ0MVa^hk7f+|j;x}7w zWBa*AMK!NKz`?HX3riZA^>rDy$Y;EZj8tm8Vb%&YI+L{&7Lon8*O<+WRycGC)^?}%B?pXS70k_rGa?*8IYvNl-gH0F|-xD~H=j!n0Vm>8XZvqx2NH0EPB;pg4 z9RrP-DSt1!z zGRC;Fvy7b~GfH3-eF>|dg~1LDP1$1OFxH$^!raKEs%(ghKN1nK3mNN%=Z2U`%YER= zo~S-oc_6gS)NpiLDDoB@q4ltcH-Nt4F#WrG4ay(^XZ49uRZ4qZA4#l z?&T>MuQQY6?iJJ5addOQiw%iNtrnHKtf-XC9l5Vm>K~NK?c|UEi-9wMnBl;`K@*aV zy=oo}1H94Hkn5{{-y@{T#+JAb94)#T#EmMQHjB>8(JTC%Y_qJqa! zQ2LV%?6Z3)b#-1h4NEmq3dX8KIn3y+m)#Wl$$T<(?ilp)DOK_YS^O><Wm|#6ALtz zM*v1haH>>GQ@`Ws8C;AIV6K0;J(r)tzw0Hnvs`PF=mws}ycvCYH_Gf?=mjVt@DuIj zE}}Un#v_q!4>FV?$Nkrrvp6}62?#(o>lFtt7~^EW3K{8L1c=0CRORi@!U?Vg551Eu z)$NuHe1}xIG>4Ky%cvJ^*4rGw-fn95UnarpZ^Z(Dd`OX5Te}$)eKECaHk`iw^~8~^w%06V`oE? z+oL~qH_r6Os=C@9+w&ImEuMadG3R$jUeKF0*xh(?Fu(&r1Y>V>{S{D4Y|`1M*DbJ= z6!TMm%XVw+i5Ci5dzHiX`PQD+o3(bEndO6J z&#@gCjM&_h2)2gIN6FdpgUO9>_#aRiqWS4`!THuV%BnM^wz(-$qCfW2E zFKFKa68nk)IA(M=rm~1^`>H{=;{#N*s5Bz>b3_Gj9QX=X(A$EXvwm>%Pu4+X_0J>M ztgl0y2rQP9CWoJo*5{>s4ifTR^8dz`Xt1Q+iryU@^{y+ua~~XEx$@4!4w~IqyveVo zZm*F(`A;JT3LPHoJoqT~U-5&m^Fqb(2`*Z`!tg8B3JuqD?A#p;*B%b(V$L%5=aq#} zIE9j#_|MV_g9GCASOvUVx)B}_-v#v{Iv~EAvl(pAlLF@BGSQTa>aCToMQcClG46mk z!8F6;X$RF|w*gco>Lb4)b4 zVPsnUKrR?<92~0gU!ypkv@xYKOHku4T=>hX_PzA1{mkz8YqakYIsVV(5P&1T*yHnY zs3DHRzQ$D>XITmFp--J5H|V+OdpCv=k>coSX_^d;Bfhoe+?QlQj7zkA9?67 zULPE#&Y!SOuTbU)>tffMHk}wl95ClEe%}D;Y2j@zyP+Lo2Rn;gHqTuQ_I91bQwI97 z>m(kggw`H97i3WlQ;(6N&KKI^O%be(?E-?uQ(ICgTuuB*`eAMCulQoHcqLiuOw6WD zI05ckG}(ON>fU942biI=$iRWN3!&qc6I`sv!I>ZB!llLk3UIex8`Rm6xOxtL zp%+TTH1;@n(ftBDybx#r!si$jmCkcG$yUsy!pndrR6CwFFa-x#@<_NYun3Vbb)K9` zYGW4yl6dNjy$wFUXC233>-|(yRTYbKJJ0f!z30!fEVTF1^DGOLT5z6a2;u3ZHofj0 zy#T5GG@tX<*CIqrpG{W^3?}1v)!hLwU59Hx%=-VzFlPq<~wlTZF#oteK!c^TG zmEn1`g1}VXs>kNU7h*fhmmwF- zHG!MAVMjV&&1D{A$%gXrS%dv^#CSk3%x7e%X_*P?LjnT zeh!II^p$?X1`_hoWZU`z*hNEZAU|4{6HgPYt6WAtt_ZC=Y$`Zd2715oF%Jm zV`X}nOfcpV^m1r+#I}HpI2QoZjJ&a52;&xjeN#*r4VjwF__3kiu24gF{#C6FwN9N6 zBQgW82DHTRH}R~MkIX4lZjJY zo*#$Nc-0z8o@=G|r*yLIfTEs6h5aG>YLtmntviWbOMA7_dUX+?2zwPzFJNlv&QVc! zHY)Cpu6p>(E#<@aC%_nV4}vk^MTU4Mm?xbfA1G;vmu!P1I$4PLchp42q2DI~OKl)6 zp1x0|^NjO%(os5QoQfawllLt)KQcM5*ZA)pe+*9Y9fG?_#LZH>3E-hBl^vx6QHB|e zI?+q>o>;jaKPW}W7tH~CnP{$j-d>+YZD*tA)jJ=cX>FZYxp+U{tikA7gfA?|AmuQ= z3l`MImd_FQn@OUH4@(?gP_3HAL2va%XUr9MZ)V2!zI^e z4=NBNTW+sj;3nLY2fMRoU#5=IE!N5Hb}tYk()9*sxUJ@BNfDZpHQkAiSe4o|kut0$ zxUt5U-?=l1yK5j@WbDQN=b3_ecy~90LW`ELdH1UMbuHk415e2Zr{9*HAIs0sJu-S^ z6GvCM8RAH`O-p3|+k{ zH@gnG6lY1ms?QwW(>w0Q0(fp|lV00)rMM02my@_tA zMW1n(>9X6ZJC0;Fw7TDU2Wo97LAQt`y0qL z)o~0l9Eaz%iA8*kr@uExQ}dYxB{AIIZS@oxdO=U~nax(UP=>|{=)-20%YUC$Flnau z((4A{7Q?e*Uz_lNM%cKfZ5@QqEamCc9b78FFC%Z#4NSh%qeod=L&h@SxQu=dtsx>iJ>7sPAkGXS4Fsqt( zD^PkB<1MZ*8=MO*-as z+pjkX)~bAM?8T={J+|CU)4Vlb3n(S*cl}aDxB( zo<`1g3K$LRDPY8c6rW7Q^fGUou-d=bP%DtsN{lOZ!pi|rJ92F3cA=+E+SDfgiZ2Bu zwU6A{10h`S^&-B;)7$Bzb3=!}LQ&u`_iy9}RrExiT#6aP zl3xl>sP)XVJ9Z5XjFI9J#Evh)%d6;D0Vya306+_{#r*f{ahHgv$Jw|Gc+p{&Py{&e zC;;4sl!*Z6c+oZva4l?b{G}p&@>%!Nw818Fv5- zO~sq3r2*&A~jKwo3uUJK#B>Fq5XC5>8G@oB6Mf5MZp}0`ii7PxBc_W*7n{7hTePwO@D2_ z&2(c^lxe2vdKlH4vV&w3hprhiD!aHP8+%si!ou4Of)a6d1Hdr~IC zeV2c$Kn{cZyAdJJTZnlApd+44Jt=g3b-Y98S6n~T&zEczAq4hvRy79!;~o3C6vu4X zC&Od_77SlK#DbfxeBu?QOG56XfjV&|UHEZ{(h|1tPl^<<1+Sn7g$ldt1p9`r$q!cx zo7~kVI59qKvbDI$^MOKXlV_8~nsf~QT&uwixR&Z?! zx(sG^AR)m}B;+D0L_!|gfrN}E2<+Is7W-U(@zCswfLF!fLORIDJW&k$Czq zB>NY+R%PAG<&c`TWEU#?53MJ9a*VB%RMKy1e<}Lt5GSOV^vn5={?qwqTg!!Nm9a+% zlv+Zz=ie<8nIuWDUg*M{6)3@{PYZ_mw&4bnxI-n_P3VF!U)X4ELjE>L?A;|A@)Fz4 zP;KHBzQ)rVncOHiIChuSQ$&1uiG3qwBH{x9Al8L;k_L%Ae|{vf4K)fJ&hrx6HLmIF zW$idTAqqyB#6F%B;#x+O8Z1i+an&f&OJ0fbDmwvbJx=y+ZFxJP{k;p2l9%3vGW#K6 zRmR*$3y@Vg?yT*7OfbsEo_fjm z0?&G^6Fh4Z`ARyTRast(B*Jw%Y!3+Tug+DL*9IAhtz+89hnSnKE0Nc?6wB)?i{y1g zfi{R@c^%eXeq=|mMqJmSHZ%#^?!3}@NO5eL@l+Zjgd@Ibu-CDr4IU1}weGYj+;cU7 zy(cJQ0(*FYz#d$*RCNpY^lilb_h0p7bgn~{{z?ePVWx}P(}hypI*~rl5F|Fhl(t0X zKTM77#O-5Nn^MJfa zyl$z9nPc4# zj2Nj8*EN6{5Y$>c<+&6acCs}FN@~+Q^HJgcXvR4gW@B5M29`MCC%R`?@)rsq{nuBz zg#D*_&#z5CSH==ye>YiHY1_jg&O^btY##EfLcT`2R!vrtUb3P%42K2uut>Uwf=#Zb zmeLuu$#4eJ_ofQ2LCXgze;#>eC`w1{`FqGgAXA0dJqX(?fp6I<+?qjjGkkUwU?>$F z$hH{1@_Mu-bT`V!Qv=1nSx?`EJ@q)1Eex_S9AP+(UOY&1SN&`qdV-`DlIDBh!4(;LxAx0k)&qSmiEei-sB7Qq?mG z3$XhVdUst5SzhWz%Uy#{E;7dlJpoRD$O^K%3UWggve&vg*{MZKxvz) zf5Ge_&e;WGIixV@{to;b3uVWSyE`~R%)1fDa5KSYEr0MCgosT@2k z2hMc1OxL}IIshw9fnGMsaN;n3Cv?}s6;9aY^e{L<``Drw46c@CMz^k(ja5rLwM>JE zya#}P0TNY4z6dnwe-=oUVhB}?+YmCNr(_JuCfdIT97cC9N(s*R))DDL+&q5X& z?AmUfK1%o=QpWKDX*BQur3`wJ$+B=A(?B_RGJZcpr#uTW{h7Tf|AflO+;ofovte2F zz5iwof`}bG)0z*sRP2s_Db;+l57CM{lNg~N(da%@>kXg6cZ{Rk_$Tck|A~|e*4ad+ z4^g|T2pWc4^?_D<;#jLLZ+;A%w$Gr);_}Yr?hBpiU)7uHma6u^gTMv!$hqoHEa>dX z)}}i9<9AVKAJZx>lXzS|>TDG&2Jg0uU1yWNcDWm}C$jU$mh(EcxKKb`*`~^Q_FN$? zK{P(I6-srxjUjQZHC8s1Rx;;@asx&DStPNl!u0NfXzbxeSEtn(^W*iw}UU@DZtL$uzv9Cb8Q`H$CSiIOANr- ze7pn~>@+)Sau@(%jMR!KWHvQo9+J+}}l02`AiHt_`qc)51~S3Xnv@{+A|c@ZA=jU*;U zf%K~EsLLBSFd>4^!hT(nnIF)p2irXcHZexxG}=KPr*AbUp1B?fH&@j%A26H|SHf_L zj}L42!khi(FYZ7XBZC#9sp3OZaCCSb&68yPrrOWR5G3#`cWn5LJA(CtfRs8_#dU^1 zHIXMurq6gR?Uw^&~}<^)IO-`0@?YUK*)~)3FwvwbaJuR?qf_%dOSelJe89ha zA%lB*s`25_jo;Lu3rI?~J*3K{j3nD0)nhLMWCy~gU;bDc)Y$^-0V@KDlHM`@(cdEf zES3_IGW-vc>4|f6fxTsIdnJ>0HEI(_vWgk79jym%TcZ

#L@qwcor3~k_mInBqWbuwv%nG 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ⅈ^9>4eMCse;kDxn4zJaRhu79esV+aS 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 KQa1ZZ|MUMuiDo_k diff --git a/indexed_gzip/tests/ctest_indexed_gzip.cpython-37m-darwin.so b/indexed_gzip/tests/ctest_indexed_gzip.cpython-37m-darwin.so deleted file mode 100755 index 7ed5596185c0008c0dd9d2f50f344ddc4c00a01e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1167464 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%0D46cW@SjcA{ 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�TAOex5**X`mi#P>Y9t5UG;DT58w3R;Q+y1nS$HTS>jdB z92I^63gkIZ*>fJ5*$tZGdS3WL?bz3o;dw@498}!pm zEVwBaoQPR&&?&$Zb`DRI4XLC7e`p9`! z#XQ++;aX|tl^g#VyH@@7JoM1R<~%Ix#X}zygkaCsE{c@xGsj3^uTcWbBIv_ym}d%? z-S{Ii%gfEBJ1uXGl$Pf|u!L%=qQPu#cR}Lzi=-y4Wd`x&PARLtbUX}KHndu@Ew_ZS z*$5{Dv%Jb;*w!OxsJ8M6~1XOM2ko+p7 zgg>CSrW7TOM*dWKl+169OMWa#4&eu;5I&Qxxzs~Q4X5!Md>ujoMT_SH&FWMVdVAPd z»WE9(@htZ!74gz61_z|jK$G8n^>WEqS4^rR%yxf6J57iuVGO{t46PvOe&||DC zZLsaOOTl(@O$S>o{{`tCPT%U8lORXIxpf-t#TzB8viY0W5#Hl#mBs*XA%qyv;WjK~A zmPc@0`!bdB zkAdUbzjF}^KW8QQ2$=pC9R~(dM^@8AF z=lgWyx+XsuMpq^}vwdeN+%=NstK8N>$x zQp<6Ci>p*ToTgJYKTs8C_`|5K85Q{~=%*ql7$Dq@0b>h(1;=jd?LkM`gW&Ub>aj#s zn?wq#ns)1?ZrZNhmA5*D`b_&a@k**Sl9Lb*kC%ihR?R#{bhbY>>feJiY0A;r6Jyi~ zqqCh^PD5wA=tp$6FO>xiA9un3apG0f7&XdaKDR(*7hB1g$fA+Fu;c`Lc}mjn-6Y42 zvYuJdy9x?4H=boQ5k4nQydpU9mcM)#l`M>IqVcPf#^YX<&ZuaPIbSc^;!gA*+iebi zVz&+~xc*kXc(ed&2mHGXQ$mLOyK%l~oe21q+5^AaM{V&FLl!Prn?7wr@0?YiSV}6S zKmTacpO`Up&<(3?gfR@bB4(Op;SKny2Cq>q+N-0Np3tXffotfogkH)>VdzR$rbphq zR5m@$ybsNhZsJ?O6mAH>D7f9}a5nb=AEd2cU_JEZ6`U(*Y|>gpm%FSE5`x<_eZVLV zox_=MD*8NL#Z9t$<-Wl#MssMDDjQx&&8fW{`ZXDKEBNdKVTx#riox*TNFKaO^W@-Y z6@WF_uZ@Xkm$mlM9uQWiDIHXGeOy(iR8yOY_elGCGkW#dRDjq2M|c_2@Uh# z8Krn4kvQjnL62>x)otubMvJClGg(5HcM+sF<0ly!v z5L~_xlqS{{b~!e~RDCB~)ZWKsEq~azcJ+c9avL#w`;5DiZo&%kO2O;Dw(tu}d}lIK zHfP3>z3POnYPaGwSdWDvF&(7VYK~19rQedtbu5nWi=Se%F_yv} zFcMu#kHxF77fNj{66;Lf^?P`42F_{dWGU>`kJnn^P$dd`ZIfQiCTg@m2NUp?Y%UJ~ zSggBJXsEkfd1zs!p}JhTu6TPHso6_kM#Ge~d%;9>K=c3tp0|Gog-Z=#`82b1n?-HX z7DJwUp}w-VnE8Blvsc!is`p@~5AAl&#ITO0ga3dm zsu63if6Ul={j@YoufGL$e!mz0`VFqS-m~-ii^DC<{#S9VaTn)~p2#^HgOwqLWpm8| zz+v15I;vBnbeoM*`ET7A<$<-B#~%eu++W!rW9fUBQObBN+SnfBf5F|Ftq85P%ruml zO-W4ww}wPD&^F0JY$~2mY`s_Fd}(VQ1J4n@uM$IavZ!@=k~NVtLun2_|HqHH6+MK;|q?p|vuzkG+@)u`=^ld)dw*JUEX=z)@3IVt6pVq40?w z!#)~^9p8&bjx!*%CUxtQ6>NE$*p1mJLk$Jv(_E!b>Nj}xAF)t=ozLNUM8YsTPd?P< z+5lQfX)K1Sp%jz4Vu*>V(*Q1J)+Ga6WHngXee0}L*&QenkEHbpujbT9+H6XVKEbun|up7UAkE9Y)KOLcXy0$YB(8!?@MIOBu>}t|lv`ovuG1 zh|0|6z?;oUn`9XOZZA)`my_*9&e70K@YuU<822Td-3_B44X+osIt>7vVkQ4aKZg6Y zvzh9yNsvC(kD-2pRjzf4ct2T7-z93s%#xYTwC&BAwL&i2K5V($DfN;O2}xtq9LDZL z{&^WBuVu5ym7iVyU&;%3Krf5RPgePHl&29z#ytIKJohv@`RfJWGI5)U@1T8uL-ybz zp4!t={$bJL?PP_9Uc%S7emD=?>ftP;vu=3!I@y*d23*I z99Z{zkNOd{6XtZP9k{gNTL^lq11ZAkee;5spTx>qtLMeMt@c<Phr%a!hhL?j}e0FNjY* z(zc;BCQrW;DJbd&M=N%m%RK5gN?u_T7~aa60X1>J5p z>|@w7*v<0exO|0Ia=2yeG{KP$fa*idJI(r&QYqutUJ*_jG|4kqSCQ2BSK^A=02|<#KFp2 znlTwPzq=n^WCA<#P)-h^J~Sge=>7$g4$=1A&AhqoyJH_RL1Nlgf=jGqJY!nJTAI*Mq;hUZiU2{h|khIo`EFvb5WJbJ|!t!9{nvs#onlG*_*IA33)4 zz2UhEI$RoD3kyXl(b<@>(9u?)9navLKb_`p;Iyx@!;M3?`0fAz=N;3&BSJ>|?23M1 zF~_+Zx{Vt1^^M)g=R+TMm;d2v2&3T2xe<3=1`~)_suZQAK>^kh1|(wv@@L~DH8nii z`eZVIs_$RqY@N!)>Xe!v7k^}PZPQdzJxMLgMq;RtXd@EfXFW?Y5(!ZLniMY=39#S| zCTp3Zw0=+ys#heyS9*4WyIk>AwZ$kBU~RTW@vgr@8wbthWxU~CzmY8DQ6#|4ub|-l zOyS`6SCe+mev5W`$-wF4=fZaK^JOPLB@iWC^c!s6>=^Gf`!?}3=3)5iPjMx0w5#MP zSBXTWD$#H7+236yx4TNtQzZ{4l|0+7l80O+lBudhzroGEl51Qg1yxc^Dp8SWVBINF zH@iwCc2$XfgM)n~c~{9*s$_(n9s9rC%)xO^q}EaclL*g%^8{OgY+FR+FH)1mie>w_ zO{Mo=)+jhWB2DNcK~fgyULT_H2M%yVRCw*{;!~r$iLZ7tY2m{vdVXUA{|{O6o6A?? zje-9Qw#Inir@X`t!`k9n%~d1JYFJ)G$`Dpzn_sU@w24f`CtAhm_lm2iapZSL<&*~Q1iiY8Qvj7ESjjb)p9z4`E;9atJ`dL z-|lGhZHLsiOI)Kr(RpOOtnT643Ipm)La2Re&(gt}?Ng+X7va+G*)_NZ2xcd9Y_BU^ z-;Rc|UA*9}7o+JMZ{*$h8nb#^9pw8&{4txqY#ynnqa66TZvI*&isWe4N^Ub#b3>b& z!JvYhrMvR!e+#l;ck|(I>h&>9DOdady&~{&%wd7Beeym^#wd4k4a` z={2Z)f$5k(*q7uK;^q^0cI@U-E!B&eCNt4iy}JiR%@w~))_`Kq@k*EI!c$7VES=(Z zIiZ#HbytAP=Ef^?W%&YvjOq{OVOKqzO|_kdQ+(i4^(QC3cJ(7`i_XukSO3N72m~?? z{=P^3;K<=li~s(D$CkgZ-Ob{ECp~NNzxtiLZI$?1vGV6mEG`Yn+)sE(1G_@InX6TO ziVrvC=-igoA(!=T0$CT&zi%y(mKqs9va&3Ne|B zZ-aKz+TepTbr^7K$<6?}zP}c1iYu9AFrG-2+Plxa$ZK%y9JhJtLQMWke2G6_x3YUV zuyh<>!Z~oaQf~)m?Dhb$B5~qPIOWujYU2!%HDhFcWw3S0SXg^6eT)K72>SCXIr={*AnyJjJ!b`&lEi{O)neah#RU>2EunXIk)8OmsM=iUJ z8b7oH9%r%0<8;v4CGT*LdO8y1TogEq1Ua3D=CfA_Mm#I-Uju2t-5R&lR+k+M$~~EW zPh`Rhoj7{6ui0(V=r5%(#p)zCHk_IU_NYzkBAox ze4e8i?L7$wdEVaJ27^4K)KoCYXEml!0eoF`*z=kAacrbtBfDJ}VyL|t)6H;Hhd}VYfeq>QE0q+`lth_ zYi}|*ccrls-6ify`zfWl>Ma@g33**06)qEql{7yhsZjl|hcsE_uB3Bucs9VDJHUFCt@xQ3 z-eIb!u*evmjy4Y#-4r`&Hl$n$x!5IQClV6*1ymSyB*O?9Yn{U=8Oi5o=*baBIF)Bu z$E()8s%v%=hElyGK8~r^4TzIo-v5*Jav!dob-kR=&VJNOop7`!y^NX{9*scg&d=Py zLdJ3Nt6kuMXxzde~5IZ zxAa&v((*^^K0}J9S1C=R+h7P(rjAYF8+W^?g$oRfp0DgG47hW4cc1|ibeS_O)jWv$ zVkNFCRBX(Tcx_%MCI;I9arN|_s3&Skq_dS(S+%Pbj**JsGNjJst61=JMrL~%+?n5h zh>&{z2M(zg;LTJ7uPy(AdWLN(OweBBaI>5BVdtc6)BnaX9pp$ebTf^0&&Ad1R@Gzn z(+-p?!EOS|bB>Bni$VF%qIRHc11KdO4jlG{hy%%uuN7m1oBYc0G`N8*+lT{ls+ zvj!0}X)3f696g2seOhq%0JX;vAjaSS9XxVlin~7yjwC8pkx;{cA-Q6{ z%^Mq*VPx*e$cV_i4CWSPazdyhq>C1-E*Qj*30V0sqY@1w-Da$ah#EW1EQ1*aH_u?u z5K{#3i>MSP?>lu9(KoPu64KK1SW8`(MKIFhWy~232ep-+dw3*h7^xb5j1&X|0A~?B zg_`FRDLT6|^r7IU;-1|WKh-;%{|rQ%AYH^m^Vyw)l^8CHPd4}t*GQ!VskM<7q%@`b zd7K2ztOvBUCRK+`2HzyV+as2P#fHiFb`wxAFZdYVL>o@NW@&@?uF1A1&7PDq9nPtl z3_yM?t^q4#nW8M*9;3HXl_+ZwT;Zrb>P)Pbn1~*LA{35-52Yp6Ze2}WZBNr;RvwbS zy544UE75|{L;g3>LtJC{HLt;ujG@~P{Z*pV8H~O&DVk;`3SDA~D?CfgM8Cn(vm7&- z&A005r6MH zttBy&kyHsy{#Yf_jAyW-w?%XR=;vmzwE1lQXsQXn-%tYj?4+7-_{Ij+i`IVCJssC{ zBXcL#4DB>mXzmzHFOJs-NN|m~`26N=0SzBytYRjxGEn>h6PQ4qZJEGu(jZ^fv424S zf(81A=7}b8ie$_Wo>shSFa9mu}_y?eki2u6cY1o8K+Zf6CTKiA+R#^qm7vdG9nko=R_&xX9*a~v0GKo*P z%Sz;(N0sGN86QgUd$2-OW(a2JzFZl+5$`UqBgLM`WQAH^>(R|bzg6m#XyD~Q*VGYHXH z?t1b9RSJimlOK#cDC3`MaK{$J>&ZfMKNA*{2H20g8M9#ScQK(}2SHX(r}Ow+u;bEy z)|iQGw(!5EDbDkrc@$+%*w={pT+U>3GO!z7Bru?Zl`a>lTlJ0%B>LC(i_m7F>)(_= z;ZH_BN08GIwY@H}00hVQ)Aw2k(S|pwdCL@0qqvFcF2p7$+mloi_b7SZ{;aF1V=3cg zbLLUw7L%>zo0LByBt(y$xbq8#L&33pd+RLZb%Am1UH_m7@iG)-`op~YLqW@yI z0x7_;#Lo`zsflQ29Np?}C(GT-L#REZ1VIz&)t_m>_UlBUHfEm_fD?^bzRs*FreA4f z{#4m+WXfDpq;fSkJkBK|8Xyjo*$H0(gLB(I8$u#Ja*Xkj!^4Z{SOO05;SuAU{b57^7^f^y#}S}+2%og|MZ|KUp9XZ zJ>>FQ`YtrYl;G8~*OCvD0mTN}l^blBiAverjE3+&HsiASDl$YJIw(Vjh@FCZAW4%m)J_B{eO5w)wu+40~s9~{QICYsbKqh8$7g*}SeYFP+ zN6>L8P+qm2m!eYyKBumSsLQB~pg8QCyk&FZ)w~33U^VO~^KP0Q)M)0_;(Slx=LR^U z!=y87aKVmB(di|uMC03Y+-0I?_Xu^tc|uW~ma;;ysd^b1%FZ_o41?vpP`@hie5qMn zeu&z!yL7(y*F)7{Av;0WLLnN>X1yLOTIzCo{BBkkl2P<_dQ3X9oaNszT8TmcCGSm# zeU{{KE`QwqK&q1;?$EB2p6acyvRr>3e0f>ie8b@IlkOVLhyt&rR=~$Pa$sw|WXe#| zl>c?RdQs!Rf8L6_Yi@1MFq9$`PXxA&p3OBW$&7(pLIb`d?E^O35$9qHz#5fkx%ca{ILpe%%g=Yo|0t(x3o=6!|`%5wT7~JI1?f$ z3$~tSwF6%|bwNS3oM zga%>IBO%DogGrYg8MsyswpNVSyIY+dQn25M9%8M*ktx2BlEv}il`+v4M+>T^_AV6> zImBFNhz6{fS(*4FJB?$4y<6NmCj-`|IINR;7L)X3DS+Em$G{hfh?Cd$Q zp2BlMi;@fNZX%W-_VO}6m(_B(1*L-VkcM08b_aUD)Lli7C3dr)*wL+?*&=FWrK{hd z+X-%^`#zt-ImkOKOLg0bsGPy9ixC})QD*n8m1=9;jchlps;_>u#(kc`eyck8&FH?Ed`_@TRKM=N*GS$-CV#z>o4Xl^cUi4fPi`fc zlFH+{SjS{@+ojsTbf@Cmsn&g6tv1E-mnnHTwFcXPafigwGM71f!QN&$OWO+uk>Z6D zNR*HYUOLVpabrG(ry|sY@4!Nd5X)EU+sd?4SNK>GD7=FNp2L6g8$1R`uI=-FiQ7I+ zk0k?mI4RXLjh)c8euLq@?cMnlu4xKI&!VBl4PcFRRs)#dG9JKFYk4eGou(fRV1Eh+ z)py&-)%OcefX4<~MO}!vSAJJDaiqET_v~j)R1LH`lL7Ff`x=l*w{x}&PL1Pm7-M}s zzqJAmw7abZ_DC~dY!QR@Ia^>{dKU0w3g9jR?T))VQE5jK#{9J9Z`bUl)~r+l7+Ib> z+?R!a7mkip&pdz2_g3-?s~H&`VbD~a)^T;cN~+`Z$z|b*^deXVxZPmgO)u&T z&XGt*afZ5d{ui4A4LgKuODIk_TS{mrpR2fAkJdGO+E;KSmE?S^x?*p$-m0uAId)%w zi(oiGSVraWKnqZJ#gu36$qE|H+RIyDe)D}`-kgW|dg#MLiyr<=uY;ASl6smB0B;vy+c|sO^w`J(6W+yZussDlj4orm~lfx!(wzC{yW-0G2N}avs4k;lI_qenS?eZsjjl(aB!H- z?L#BH9BePUyO&+;WuRU-3gKe#+FppV*lhY(If@lMEc<$<4g4Vvq~UagKa=*R7IgI0 zW7pe@qJu_KHw6r^&ZCkwJ5!JBBmS<2+77N|V4d9l02?zzDsI$~^us)bx9hd=X5$Pq zFEy;kw!Jl_$wqWa9ARfVO>_b|hsbC!+*&l7d&#&@95&*$?bpR%qyxWWpDRw^UJP5? z1rJ}GzH}qj)-3amFkFF$^3o&<2lY3;%MvQJ<=Hqx&Ja+I-S3*sT|@ohO=?6dv}lQ2 zS<#bn+1wjAfkHp6r=%^rsDlw-iWRl$FE#6Iy%ARMTs?grvno{7!k|Yx6&?|SWQoc* z@-aN0KRVi`VkNb5mFZvE{7X{VrkgHz21~(;vxqs$=GKtrTUqfwu^<>@S=lqWul);> zY~XX*+^6<_wF@r7f#m2__1!rf^+`J%VXu?FQ8xFGN~A6ooUw6)*n=*@QD9Sfy~g|h zZm2`F$fWgfyAMcrvxJ$;cL?W|9)p}H_4lly-G;o;W&@d&cjUO&Aj!?c+0 zl@1LXevD*1z6@9o!y)Ue+vRD*obDS9aGBSo`3a{1*Ln3LBNxh6X!gjDRn8Vf-L z`84D;_2<|+yyWOpBcS)ej_dS86ihlD-e&c<^<;iQ!_}?VC0I(@Yq-iT9830yjOB^9 z;#W-Y6yW273!fE7=7Lv`GRZT=OP*^XI(bw|AdO|jg`JisB|M<#OM zqI-GAUe^H^4`}I|<=vF`=1#58`nF zZ5u;c67bvBn(})>!4dYoxsmF%F2rSIc-b3@Wj* z+LUUjXdM(WEI8iGR!&}uY<6)q4Nv$QmP1+{YkVDRIp}{c+B96@R!zg-2V>M5a=1Au zvqpnOjMIE$Q43^)r3=V4cJbK=ty6L8hBO`|rpoMCu2ZFjI=D}=L#~OOF;--U!HuWI zwp?R5x>1L$si{3{nlR&FDusk~VK}0^9H8azOnd?USGHyGEinc^L3pXV8=O6*B_kf~ zDI~m%)k#ZN$z54^eU3k+bLhex;v`yzk;rl=?C0NytI&EX-po@<=~t%CN}s44U+YqZ zNqYK(C$~aq`G-oNT7?e*VFXLdKS^!3gfI%r=0B%!__pfW!g9$Xq=qiBX{NW99r-{~ z>#@${q4ToFk<_}kd-o73`D~KI!&KS&%FsP2aG2gVY}uF}hYPjwR|8z;6BRy|Zf)nCgJAD8zab}$UdMsI;_aY_Q zkY{Y_=%F5RThNCw@$c z3Kjv%H`mJT<4NbQ5pDhF4>9tp`h7hWj%^r`+sEU61H_q5Zl@X=dQwu*+z%_+ZI7Ha z&ZGKp4QdN6{0H9)HE9on{68sLJ$<@5VfO+QD{e4wtMVN;+>9Qj1-5H=3)gUU-0;&+ zBn@ZU_RG%ZLA{l#eN6>+{x-Z8*itv`11}9 z5;h1EYD%kYqo;%`ShrrHTdizMWyZg3n2{%C^EJZut9+4Xmc>lCv%uZ?Qv)rwDl;T0 zaIh7aO92#})-Ki47xD;~(HcmqYc?-GB8^e_kv&x0LSbR3vLbj%!tPI+wsAOSEpNvC zf`6Y0HJ%Qn!9q~wY(@Jg)L7S!8g~@M&6F8Nwj%uor(^h#b|OM;SzC-3Sci)IS z9(6|zu;>sU#&e>f75mCof-rXoDdGLh9vFg&v6fxpX&638aqrz&J^c`xXdNAU8dgs~ zmIVJb{1lGBvs{;|r{BN_3;3>{ez(h`^l&zL(07da|J(oqgtWN&5#)?34;$0<{hd#( zr$p|h`$)Q*k#+i8fEuoVfwp>jCsG+D@i(na!lRTrv!C+Htm1FHc4naYZ`0>3-e{Bh z;=8e*SM~HsG})n2(~fk)PPF88N$71G2|}BR511Q*j5mv~A}vC1=NP?kInN%$p?17k z=7$%e!u4_CC(?zBR#*mCvB<8j)Qq^)&T**;lrkex_%WxFrR0Q=)AAtIsDgQX1Litc zK`@3w2~ZI#TOJpd@3gG#!;a&KKP@v;%K8(82eoOH37n&fdqU9!e=&c^oFo!>7}VDxfW^dRD9UVD8eo8Lm#zU}$bw)+qJ?!Tec zzBj;vm1!ia(>{A7A;S;J7VJBz3-L)B3mmMNcKI7#qV|9gG%rC8gPuwy$lpkTydPn- zG->r4Jhiu*wA=EndV2p7nja&3;5%1}gE$A_ZNOA`^n6mEwp7P?&wi8CgWe(a-c;%h zP;ZFMjShV|%FU#jChsEu9AZz(M4j*V0xShBEBKdJ^>PU>;nWULb)U~Qg3Ek%I6i zC;i|8oTe>Wyh*I@8{z`1XZ}ckeNW%R1mo^!sx2%T9byYCBfhO|yjnjoYtAz(X7-q) z3CBy#Tte2QPg6p3waNc#WyHIMwc2Abb4Xw0vX5Fj&TTUti6y3(Ihwyfb?G^TDb!A= z`m}tdvL4y|NxV&%wXBfYozIv^hwG=f;!|U?`_CGaU7gAYVd)e=9XTyS`uz=LO>7aL48NtZe?@TPl~S)%4;^x7YHlPIhBAnlrsDgeboSkqU%Hyvb+Q z4cXk5fTH=Oz22?}d0RQeo4ucltaH~;#-#k5{1%|&X%Vl|uOr>&X34D7>I_kG4?#O@ zr>Wn?iiKzqNV#B>lfAI^F~K+#gl#L8Jpl*shYd`yU#?P zs@$5OxU*3wiIY78rA%zwA}1TA8Z}HmTQ6*tb`;e7X@icDen8Ye>+QjURL&+PsD>zw z7(L1d03erJZ|*y#-kiis$G!Pe+?(2B_rLbg_*kblYK%J7)M2Mwi`Jt7YN=h1j85wc z9MbHkOrwqFosRHMKq;;*_PiZCC~l#ftgfFe=YRut=q7e2-t*1Nn0^}IS1B;3(I%bf zf6kzOHYJ+NtMLmnlS6@xWq;nbJoI#AHOo2tA?0;6s<)p_gSIjH2BJY!QfrmW88lYE zb%pUG=s+iAP<_Tc9_k8XN6i^D-eqcR)Gz-iH%`CIO*5tGce2u*k1L!g=yxe#mvneb z;AbM9##Kr5Z6^V3ZXw4RBC3ug-K-(?HneEG@nG8JCCB5{l+C@TN-E2D=0%55mETS* ziVmR49JLnp5uAENDmb+^vK6m^S5y0V)SI(530Y?EGEVWR(W3hTw(~oVN9{#x4bMi( zYJH1SRQofD9oaWUFgwPe9b6*}F^sl^!D#neN2DG_r~V%N+U$q=E%j2Xqe0B_I68IR zB!*N{u3@#7c?Tnswmy~2wn8uyGUPLj`xcXWzYcDT>NN({w%%;+Ja%sAN>V-ZR}_~Q z*gkuTy;o)y&CpZX=CFhsQ3^vVq9rNhwGqjAdf0l77g(}%0!lc0OKp{rxiE-d2aP#zSzI_VM{ z4(X#tVinuk6scbob|i;98#JO=4Snh0o6P2FN}E{4Nmkm0;dm=GI9|v+K7*MHIF5S1 zA-uUQ$4<$h_Ve-RiP7|R9J*P!EM`91M0l?%a^9L7r>t)R}ybM4!ByBp_a#5|_T0`}=JP6f) zDG1g6jJDslQD5BQtB`IM;Q+d0cugV{-mNPf^*kcPwPm>0Nvswz+`x{b_9xfUo^^!c zC#+U{$F$JT?V%p|AryAAIUPO2QUh&3Z=I!*q-F`;C8UHiK_}T2)6M|IAc33l;D#6; zRDNFew3pTPqmIhV)E0gD>I79^e(Y)tgkp)`xA!ELxW(Sv#u7iK)Ko0-bt^|=U;x}G zoW^Gjl;cwgm&soT94R|;c!}Wp@52(G$+3=^Wk-nQ9Wai(V*mM zL||l`P9rpbKMW+il_F7$@|ge;j^|H0;wyKp~l|Zm!%MX z2;27qD^OZe`tFj_xqEp{?8ngtcTO9)$*|eL=U38dDnVjI0{P!qdn6qbH|B6*>9$Xz zIx*KS+Q{ZwuddNt`^nO)PFK42%O`F@K4%V_2v6KfLofY0b=$!ZvLp;~4;Aq3#|!9) z3WNP}Hb)%8P~<6fE=4Us_!5~M?8awic++#hX_XW!`s!twHur?1aKJCZ205@`x=EvGUQ8k}f(S3$CNzW9XeAXM^l=_ARg>7e zYy~BX0pU^9fJAi`z-6yTzB0o|cCWU|(rLe4#xg%)U1|YYOy5U8*aR3wShr3j# zaQ7!D1ch6^=C#F%n(sik_~9<>W+l-X`0ME0cTV|TS9hNkx5eOI|7GpKSL;7_0hOh9 z6Vv%?dr%P_FVVdVkM!2mOk(}aze5tGt`J~vHbzxwo(n7y2goh#Cy1otpy@zGm6@L( z5-(}Em&4BmZDpn#&=Q9Q)?z2p7dEjM7kV{aFOdf+SMWk>I$U**ok{Sfo@(yBTcY(X zwbe#5tgN`1_OiJR017@5ZuaLi9Xj+on?j7>{7r^T=YDmio}HVjLb_{<2lWUyHBg=V zPC`s>&YUAx{Bb|Q3Ok+8$P@`{G~VY3CHBD?|9|tr>Bwg#qK`kLyzVH{dBIA)!;ow4D;I)@Q&geoPrTREXW_H=rpbw;x9 zPh|}cwaZ^p^K!(V6pZ%bE}3JcVh*m@k$b87(oKCygU=x`Ki|c;HJ85#n<*?TPLjzn zD6jS>__>X?;*An-c=4!%Qk3$y;LRM~owzi2?JH88jqh?LO`vQq3*J3PCyA+qXts93 zPw=j_jI@p2mOw$s*gIzfhWOUc8$+=&3skLRaW>BdhaQ;Hc0zro7p&_Wh<=GQX=ygF z4r3Bd=X;Zk=vz;se|Hd3vj&hXLv^*Cgj{#Q6%m%3wg=L9HorC>TqoYLNpKo06Y(y7 zxhKBi94M3GmsmlGe9rVXuyuY6{w^->`sPR8eUlYzEf8$w7Luq4ZeZI+KeMWefDuL} z`!3_J%@%F_rs;k*RD{>*bBqW`kp&Yjr0*K5b9}o5F~=EVdft3L+n$xMibr^NDEpY+ zT2jTPQPODRXPJYwJT6v!`YVHEX0^#Ky-w+Zu_sKNX0Zg)d@27UJf;2+_+AehtREBe zyfyl0e6T61ct$U2p4YGs`#_Bj^$S2fJg@&DepBUICXrJjVb|ecYuOy@XKtt}59-mH z^(<_v5=zN(*RvwBRJD#QN2oLM|7tTiAj|4AJz3sC9!Hjq_mPB?`t$oI3$5H$`mFLP zngkDUL$oI{U$4yS>3D0)dHU*`%B&QzjEJZC6$PryFEqxudveg0dwp*WR>M}|0jkOK zn$-7(50dS8H>}%O#)@g2p4`DqIF_%P3Er-8f-=W&;B;15J{%ab`HS(;_o4r+JD32c zTLQjl=0hNhFw9?+r||#v3`sux-{s%c@a0w~5`xh?AlwW2DolBp1ymct75v%! z;%wyI%gJJcMf_T+C zNWxT3CVAxKP7O z$!u*?{D&#hY9|SBlP&{l=R8MK%k0t#_GnYAc#bl$M>I;^F#0!>s&Se>p#RfS^gqqo zsk&N`F!XvMTi%9{se)d*i67RU5tO7f8rApJKs0O}US~Cw4z17A@Lr16aR{=U6>D%* zatB0y2VYY}ewQ+ra_0vCGMlehO_(BieF z^l%^H>`r(1Mno@KzKpCIItXKzQzOE-NaZ`62uQOy$}X?Tj_ z_Sa`-06ek2H_}3&J02L(hf&4Aa7Sf~sUMvcbjP`49+)na&2#j>?rH1*JEAYAO1vMeDFPujKRU! zxPcep?eth}c{Cx@92Q@9TdxT1TIsP{rTfVybvN2;*ePsLt{6wALrJMXK%k67>g+^S zDx^~Go!i73auhS&^{tpX4q}VOlJ4Wd5lo-$)cf`Xa}LMPJN*0@5zKJ1dV*PPTtqNK zRK7!kSw#f1=E62&=ZfQjtFMaEk-a+%2kS{KPH$vDVNRdMKPm}8+dTk(QkX7bUF_% z>A1hjX3hRb(CfrVkp2>p$ZdQyd$}VhU|^ZEvTD!&lTTbK;lCOzMO4t(FD>dNuA!UEA~g9YJvc`EO1tQ zJ4SkH*nCq^%P0VL@~_Jd0%lH7e}ZVy@7XOC@Wo->h7KIo`@BKS$WB9xBat5~zF0fq zsZK)+!@403+}>M$m>3$}V@(@Y^9)$$_S>U*)z8V=BRqx_+i`y`_|Ng$(x`uynlFhhc)%Cw<@BZuHv^_*2Zg*0g_vIadQU^82UJxJBP^#jbtZtd0 zznk10O;4ugcpw917%{p5E_)@aSfboPhLmqqjtDzvtEL3%Z0;{+g^WQKS!Q#J4#K8Z zVtFvz;EC5}bAzplih(~KRy`(eAk<7(&ls~a%nJQG7nRk=O>2$ui>G*3r z9TQtD2HN(f2u!z`Nfd@JnJFU4K0(>#knu%u+d(!VS+YAcU?XbB#OYn!Z7|4{+5%)=M{*`@5fk%_U`&eJziFIIf|t;UKY z$OaDSect-Eu(i|4wttFy-cSj2IN9uF4X?L$4^{yHDE%8KeY`0B0BafLt5|jDjjV3( z)~1mzUiCKuZ)@L|yWo$t0PKN^B8+VUuH!3P>C9KuY-gj4;N5*W$*3&zM)c(o-uo|T zJojD^-8MFFEm&FC&2{2ty4qqjV)Qj5iRim5*m60+>e*=-{!WF_ljWo3FT6PmkhJw+ z#`>c1qKdvhX}W&HhSd>!s-M_S+RoAZ0uKNOG6_cMdm~c%y@Rf`sy#ri`GyNxFG^2& z12zRpzJbm)&d_FOSpx^h<;}1w&flGe?Zt7d1P^kMN&0!b45joDC!hK=qJ21-8}4>} z9JItH4}Cljrlh?(bs^>FNcp&nOBoQWs^R3+Mv?#AdQiJgQnn%2T4W0auS7?p?uOf1?<%3FxPd!bZyZ{*u<_l996~sV*;iKFLCj7z z_ld2fGKYUjg9;m;Z|_Oi_#{bJA2zF>SPX=9;yvtnNnF-$>9EPE^Z1xMgGCD`5Zds=%e|#*WV^z#z$-MU;pN)DBR~!a~HAOm%)PW==yXMs=bM1 zcd-8YF1BDm83$&%AhlJL(p>dp8D{V1@~hb5;9&jBB#WATJshd8`!#}fdoNv9U3eA? zH6pWVUA$mWX5_4Ya@2nQ?oqO9Plnr+)fB!Crz&QnxaD4)VJA&Yh}oRH<|L3g{!`j; zM>{prcwJ%R3;41A-K$zRJwn=P+Fv}s6L$_FjRsoDSn;4*6XGZGRemh)u$B|41AXDg ztJTT??u0)bB>_o`jzILxEne3B%tfM5 z=Qarn@{iB;(IWDUr>*L1lJ6*=u1cY9DJ3k9t>{@4cZVmNC%QjE-Q3alph~FBHi)oFv}1DvM=aW?ZG0 zL-mDtJ@^y8&e_~>d%rwBA7e{c-KdUDA?N&P0~Jm4)P#g%C>;H zO~6d@!1UGE(E#m`v4_aeA!8S#$TTvxB*h`)C5Zr#q2J)U4IDC76A?b>>wS4JIlS#5 zDbw=W&py)$lB4%cc{zrk6)*(NnRlX}C9p{M81^glY9?Reks zV&Tfw9bNR(Xy)%Es&oF-qqVP)&8<(F5@%|u=tk>@P>rK??@0ar zPEG+5Yi+9p5y#+npB$nEzwxDGg_+lcnXh+KPkJu0o>WcwKtQ(ZP#?x5>CkAX1X?_b zxEt4@PtQwrXj3|rwAS*J8Yx&KnN?f~dCv4Amvdr2&VBouP#$X2wC&8d2=12oD!(mx zf_V&sqlqUR?;pgxn5xHOniOv!#R(;OI*KOr8;s!+HAXIXE}yGs{6ej*N3-Ji22RM0 zJ8<;hg9B*5z$p z5#K$HodFuV(5kK4&3vmM^b%@MDN`15Smi6D22&PD(XPqDs6 zCTLqzy01s*>puJm-UQ=r@Q+ev$A=EEa_PYzLW&!F`P6Fg^&1?!t{eP*e6F4`Kn^fOQ11YZYO(x=_w_Rrc2NEyODVX*NBYsAbfbJQ>Oc{=(C++p2U4AV?QB(6 z9cAU?;fUIn{g6;tbw#P z1C`X%dRTB0J&vaJqa-E3SI=k=oZZ!rV$X{VqNDw%zH2k-p z$&(#q_r?A^#VlJiCNx#gIE@x%T$#npnjHD*F4sdh+zx(|26(&x?#U3Sj%7htkDlB* z2xLfPzKlV|=; zjwMLUt5i1kHYw4h_m<`H1&#c#d`PwHb_Si-+H)1sC_3ebP47zpz%;9`EAJz-o6yxR+K#Xa^Gl3R%494Jn5{*5(4_}ooGnxOk0LTzd_>~j)3Oz z*$+tu*R=33tDs^tgo^l59M!$VfIOkni$OOYC-WL`{N(bXJGBX%|7RI&$gTbNuM1yfv!cGe9*vT2BIJ}tO9)qFZ;D>H* zFh=p&55`ui`VFg~=lTo9Je`DJxVN6mH=M5@Q@t+wMtI9ytRG48N?%Fv?g*bU$;tK~ z-%y!$vi&8N@@Uf*)iDY_BO#Q{{|sl-8Cy14w-Yc|SS>v-Gj*eCO2?Hw4X&&*jCjU)m7Ei)!p^zFoI3s+X%b7Z7u~TQb5$5Xso%nZ@F9#Sm}nw?s{0yKkUgvd;+nl zsxZ-q?Kgw43x-6)^0Y|ljNwO(s&QlZHgepsybBIeTlx)-OuAvo=ylc1YFZ2*k~Tb7 zxO>YzqX92erraQv%jLDJK#_Z>a_dxkmpoGaVI7Z@xTsigHz&uzea|DM-(dcF4yj)q zQpX8wH>XE8H=%72cmMW1oF4TnjTt;fg!e+bOIkwPi1sTweRCHXF${8ToWuD6FI$P= z2AtF|uW!yiDHN=>ua@3Aa)e;Fh^OYcK$cH>fUxr?lkzU}g3i~eu$@gYRV2pHE?;2S zk_r`x3HDHqm6g}1)2%;Vh_B|sV#&CLqdS(E%yg6eS2go2QPD*4+JhsGxgY-ZgLAu* zMOyVLavW*i_k*L~VB0b`IJJ6RHFJu<+E*iT<)4}Pn~#SZ-$C6T-@6l<^iFca&(H5S z`tiByB8^Wu?_zD*IjO>a=s~<~p;vYDWdxO@;VBeXI1#DV1=~fcwe7vr_+=NH242^O zxcn?F&Iy+Vof2MPT2b0PantXKuUBb zcDNpjr;o3&Uty0&VUOl9!Ipy~mK&ngpi@!Zx@X2n}zr7}EeceLq?OU||wXN)=ra$tn>o@4{TVJHtSamcN9spQ} zfQpd&j&gS`&3#X~-AZ$pklPYjf(4AD=`cz0;JX7OjBhVsd_xP2Cz0dOPzY`*b^QjH ztnKLacfH1*qP^xVgF6op_c#riIk%`Lg}!u1g>$gG3Lts$GcUsPWsMz`M`{z|D)~WN zPsyS|{3Q>1sYgn`!M7b8QtvsW);b!n3Z};*=g)7nY8B`6fw*du&E!L zi$4+hK_m+A7p)Ylr;VyFUyeO=eDT15gd6 znnwo%sw3)e%@W^J-!>(SsIN^)$Cq}*8*$Zd@MgkMzZtI^gE~?$wbCA?L`M?Gl4wO? z}I9?vqC~^o*k4UVP43hgXi0tv`9Dp6m%~Cqq=dvDQC%h?0iVv z*wvybensGh=&Z6NeN**|(-Y+b7&1E|rjFabOj{s1mr=fdVSv+XQ2`5y>jCb|EU&ni zPLnJLJJ~_W^q@_E>y2{0hM_0#dL?&Kbw%Z#<3!I9ya>nfCpZL@oVzF~Z@C-pHIytG z?r#@GocVa@Rj;dNzQ}Ng*V{3N@+)4D#?7x`g}X>G0+kdS@xyua8dvv+ zk{QL%;`Xf5xbC41joXLv#TxftoPqdVjeDK}FCn>OBkNY4R4q?zKNlS(jyhrVj7DR? ze&C`v!)PH|KG}f$u#pYHBrNRM!2IHJrzn@O0Jop1uCF39+-hUU+6Xu|D3ghI=m%w@ zl0}1Z8aWR8ul=CtH#oSR8+=ZYuT=W5j+Xve>C0UHuS)Mr zez0pEjphOxAGAQ@r92wTJR1597OYxnyOa0v+Is>zjsmpS+rh{CYVh2);FD1Sb9|~U z*sY_Yqw-60<%XZVlZUj4UJnqY%Tp1pPJ#(Nt&UZ)h*pQ>8TcEIq<(`fJ(7KS?UC#) z(4RV!uJ*-NO}Zp-_eZ*hRO_!dMp2(-RNDppwGk$@Eo|5X)O45F_x`+$h)t9#YI zRxcvh&6P{{_WXZ~uPhZ53CGrgB11^frwLGAL4DoX$Yyfj6xed*I8}A|86w~>WQ5%j zjo^0RIH|anFsXi|b4nJC^x5P%iht`zTE9X6UmZIh!D~O#Lp9RB=6kzJCR+a^nsR4UPT=egWS-#vnFF`2o5%gnWM))+Nw94m!3~Ia z>sfCtC5sUJA&=m4&wBa|ntpN!zOL6*Gp`iPp1}tdqPkOoK~Y7@T;(teAJ1z*K?*xL zSK@TuhSQ||u3+dKGw%^%S%hKyf>zbumwgIq zFPYYcS&7QK<`j+V`rAbEV2u@29{0Fp>L=4@;~Z$A`L?LeC58bY(tK7nzrnD-s^B3y zHtz-dL)tHYPrk)&PqFrEj_%7x_wLbtm+T2Lrv2ViSKHQpm-YA3@FL~h>|fA++Xzae z{T2vNUi;m+zELoy{ccf?(|%W+ELzSWBYd7e!5zSHBfXF~)Sd;Klq_PwndG>U{?U)L zeuIi19Shd$b=Azb#XvVXLoN6>2>NS*1$)h;drNF(ul=@?*_^kJO#9t&k}%v`OGul! zt--kVJDyjqYQK}HS)%$;Z^=JM>IOCldif>{*E%$6X*Ak=6I#=!r+NL1i<-A?VU}2?*}&UGu3b&mn;pNZZ_x{P#w z{T{BTIkqBk@mN|<52tkS!)~Hkfi@Nr!<^CAf6$J?^0yplQa69qt9kLMCWr4bY*Er% zR|4;n(Pt|YLgJ~nwR@q+wII8RcC7RcQB>hQnBF$07?SXL+&G|mKwDY?gF2*()g~aJZOC`4> z3Sybx7$}a=6XOAPZd#4XbKJ2|puTKZ=A>NROdk>O%#|xSeeQN5EEb)jEzMFatYGZL zw#Jw=QG?~!)CFQ1JSB=icfN=!hCPUNrd?Z{rfWT@cgzTm>rUO+Exuv=WO@P|VuzX8 zpeJb?OjnbDXD9ugC>FbuxI~E^Nt~<%`;M!ECwEo2x#r%fS<9fVKkr0vw;oU_+z1}E zsA~sNo~Ua+-;Aa8=c(*G9Q0 z2&^;a+A3so0PNrbjl~1ku^8@DZQtdxYg6vKT)MJlL9$ygdFul#aT>2~L2SCVv)DCP zx#J1a27Qnk;t4$D}@Uz8k5Y4WTj@UgxKL^Oa4mI)7`!>8T@@0hTX?z zwa{F;bRKkq``DjvjIu90yI3J+_+eQLv{es0{xP{#N@uPOZ0m70|}R-;=&=zP4c zKTc>=RBM-uS`jbiiSWjIMBj+;j~ve_sr%6n@UY!4d6#1a;on%~L>bR3<2y3kxu`|3 za%xs5PL$-8s?#9)Yw;}Xae_U{wadNVaBJE`@9d+&n&{N>0Hx1y>4Bt$+F18ktyf2r z4l4Ualfpf7!P>cmZc(ymQkX)Hn-uJhDAu@sgT-IFN#QiTu9`VQU}vHwf@M2P$vS&C zT~wE1hpJeHVg-odLC#zr!>i^~gFE_0Sp9=Y93HEql`O()FgXr}UD5O&^&8Cj$`NFy zYx)x4hfnqt6P9UkBhQh+ za4GhWx?8W>ab9|y#>DwY3zcmRr}-#1d_wRImp{zh$ScI(n_LK@BTQ8p+azw~Ok!}= z=PMpzZP9;4?dJYy_7G4=W^U~v{eJ2B|L{`Twlf9QPCXE4FZByefEN2N9rZlB1PX)Rc9ucD58`FURLJvH32q zX|If~HTP4T?Vs>SdoFxtX(twD6tvGQ%|C`7rMr?7p0PmOI1GVwM=mcyf?+Pk+@``f ziSnXrlHAbNf!J`!om_J`?O20T9176i$PBl-Upl(GD-!AEO{wNOsbi54LLnX7ZYn%s zMO0pgEhw*WXyG33(oL^Q9W=jj{1$KXQj^C$Z{N6(JMM$SVHuzuamV#h9of)zHV)2) zuI~=5@qaJgUSm_R5r5;HkPa-=QG4hY> zYN-1i-*r_$I2LaLy4#F|U#RYXaF6rN*sSK(MiddDI?J1AshFt(*T~rHuXJ`^uwq-Y zG~Z@$UJzG5@dNoTmgeiWjwF`m&DOR>t6LT2;h0C(&ex~m`)mLmb7yu5A6ZK{TDgPC zvpAg12%pLk@@t$gH)!I#PT{NheJnGfHCec@ktx0rIqMPVF z8X6hBH}_t!lSk3W>%cLZuL6TsX`ali`Gj-9LGbWMhv(`J&(j5BN=sDC>znELc?q?( zRdqS-)b=4US&8l>>Xg_hcovXo=}9$6Ys%unO=?~br9+A1D3MBDO$3mxJCkg65~|89 zcPA&S9Bb_3F+F^1qv$|k`e}0uqB%^D`l=O7KLLVax>N~a`n(bw1)F+I@7=TorcY49 zV|p>kwlGa*7C}?!dHr7iJXEWgvW7R0Q~VcAZ4X;-jBaIKtW$p^cvTcN&aE$2UPGb~NnpZPnXGrPwY`=A-a*JZvb_O5kaU8pz^i!)LLc0OiCZ5A76FGvSiKkI7 z^GA&Y#G7KZiXCShA|loHGJRZ8xgFzGw`23L676Axd^f&EX8BrC`72#BKL14t@%hI} zY!vjPSrPJlb}yYoPKhLPF(t(3{>%x2c^x^Wv^2Gp7tHrCR$%#m>DCO)G-perx(;7TFSy9X{+XWE z`JOVrPJ%9e=02Gzmf5(=pjpa10hKgC-NY2Fw2 zpN!J}8;Qk9w>U96dbsa@59|MI>p$lmy=`|>2jiqZC7hH62ggYVs^9;Gld{0hbCNV$ zoRhW^sECuc;N^eeq-#O=f8(Ul)G$gOr-UeZfD)a9>%mKuT$^piB2LF;%<~1LaQTBbOpEeY|KrH=}d&PQ`Kf-e zdUEueeyZP;LeR%1g4o`f*s7f)M2EjPLiFrrgczdgU8x?$Sy>)z#Fl$$V40(zV}c*c zAOESw{eY58^Jz*p2+D3Bs)wO^$R$SI4t&Lh*w3B|aUo9Aen*P{IDCT=ex298y8kzI zU&znUVAsG|sqMrerSNZfIazd~Bo%*V52o|rtY3s)bk%`d!oa7EcI zT-ZS>^pH!8yw%hBb9*kZz{fVDm(uxJ)8qvfnEcO(&f9a$C!EFWe7qp*P96K-rJ;pp zeh7At^T%U1-4HrmE82>(HSFPbTizyS-{P^m#-0nInnL6=R7u$%lF*sW#J zh1i1y>Dmprzft!!Tr`lIF759-!+||Uldpfjfxz;r7Mq=!AjUjRCYt&m1FLyaqxg8PK^?W zMTvb$_)n~7b|xJ*OcVFC{CxDC2MM{MSH+PVz>`DnA!Jf>O#v~BQ1R+y5c>$kaNBeN zdeM}Jb^ZSv-*Dwku=U?JBZA%`o8p-C@rhoXL=U!noL75Vt_vlz$7STc-bijQa)l-u zJhR>9R4-dQT|b0-0;I+qucJA3aqA&>Da)9Yv$LJ4bQl1=BMKD)cq@+x@U{>7#__B7QENR zS3b3<@{#e%b8uG2DnGy@m+WtiYVKz>=W5F}J1^*Iopdqzl9>Zcxks@x!wMce@@I$mZ}+UPQu;u4;#`|Hxz2%upa2+EL8-KounS6=hr3NK!tbl*tA&*(1wQ6w?H| zYUV~jY(6o#!S^ilEsPxQ#yH{DFQcY|@fR+;Bs2E{gBixFf+Z2epb8xm4tDUq0*&U) z0lb+2YfEIA5ZfP!q`xI?8ewYqjU;AEH5=W+IgI{0TJY2gV6E<8jaU7ZF8#RDUy=?U>>MNb zQ+ZNJYk+J=8D9;YYz!`qm)kji>`R_n%I&Ul<0wbEi_#~O=C;dI!YiUj?cozW zF?d4vjdd=#HG6{{jN)Iq4Xls!DD}lb^SeL+Hr|AB(QE(x!&Xk zm&ePwFj}WFSLkFn>-y8x>Uy>8rHanI>|uZFTG^5teAjoe=R()l zx98HXmnk>a^-kADUB6diyC$z4;vS**g@ou2at|y0!n>CKQ0aCcNB*NqKkV{9Rytr; ziTuZvzRBf3sq_@m!Q>6qqGlzhg~npQxh8e?m}-6G&07Z$!Eq|8scKsmg68El$aIaGmld}yNk<7 z7^Ty|fWMBVngcLnpa851fP$*pJpvcp@cl}TEckDrVI^sGBx7<3_wd4I{`hu|7wkU3 zrW+MXcPH)NouKEWdsnG+yTZG%dR_)GsJD;OpOFss+90ARfs#aeqmqs_QtW;eI}{K> zXB87Q-`22M86AeB%zG-ci<->W4A1?+T4~a&H;J=RsNe{(lM!Mvr6NksS_T7s>R6&# z)uyXj)y$`r{tt*k$W5r_>K|PtLjINd1wvjHK?{a_2do<$tglr68tMb<8Knm~xXYBT zbm_TDpJr`z9efr2)b{5lEO@CiU++4*a^ESvwoCs&8nqYxin+ctEPy%!&RRIc-%~@UNd z8T+!I2V?`fs9>34d-lG#74Fv+$@J4JcxG+UObtk_!Q zgf~$PF4_?G;LKfknq;?XW@rC+ERU>gf@8{zRg&rFrweM?cmQ~I`Mi%~mxtTKE}Ky< zyhCLw5*Jz{N05zlI%m$n^{9r)7BO}m>oQuqk=DXj+Zj7sFqog7vV4n0@)haGu|ru4 zYp}+@?Y%CWhd(}D^xm$>{#({vwEIq!3n~7)oqg6#bq-<~1*{)rx8+=06O?}^u*h#z zdYVi3Qr%Nr-C0UszSzp_Cs7SCeJTH((r3B+hv?>mL5qz|c`H$Z4Z@)uX9-lmP&he?_j>JFDB_^a) zt}?5iWYv$=$pd~2*ZI^ioa5`vmV&LC`Ko_ZJP00l<}tjKban1Z$IH)Yjr@w%$Ynig zJ()RTh2B=k#4qv!ZB$SHZm=cX+&}?BZR7SGWN?MQJt;3A5nT7c7?f)9u+(YE`1l;S?J8cQt#QpbL3T66s9(C z%dT2flRKjmQN+0sM24*xbE8hR(3G<522DJ#R|iz&2SP4a`P|;r&e0gxO{-}mHT&hi z@J> z`d^bhX#qK`TB_Q`zhNPSGcE$-$OYB)`*Y5uYQ{nJyZ$N)a4=@8_!kPSA}=21sdfi`+2GwTV=Djj>x{!%&; z4CWZEW^yArmiKuJo&ZExkgbLMi9t>B!Qz$4t|9cWdM zneN98lL6WBixjTDWkh}UEEX`hso5{UPCDDow|ZiM3L(WD?a0u5y3vhnNFDBQq0O!{zr@r#M+YGm-yJO4LC+=NWPj!!{WHWZf!FU{Hp=;kKqbkB3 z$(vub=mklmqmd(FxR~K*+Btkrbxe`48g~&oop%N~*S9X#x0k3H9zfyvz=Z=9At|gq0lEb9*DxGw zk1LhFt^b?!)#bwTz*v$s8X%cDb)$S0FI6Y-Hawg^so6h6wB|Kavwz_iZVxxaSWC@b z&8*Nb&B3&Q9)#`4W^fYZyHRm2&7EZ0^{^_xiTeM6Do{VTesxdZY9mwGBYW`d%>JGh zyS%nMIFvGBAKs^C|Hm3%8cwmNH~iBio@n!F|M;A}{7%jM#l~ZtVlyjPzj2Zam_9|1 z%s`U8;EjK~lcwjA383d3AkS6j0jjUTR%~iK-UiB-fNr4PF0f@V`_2?5Icjn1;oxYKrG{8o1BAk zHNDu4E1S2Q=GhZfB6nmj7m{EsPxCXQq1f7t)!^KDy*h~&?341JPrFzM>Ut_VjMONT z#k$rD+|C3RD4pQ5znJ`g(m(3aI-vyVe8!ZAn9#qtgA=Zr&)jz+=m?5I?igI;_ zJ&IU&(6n@-HtNKhu}&DG++06sUIyesZ(_p^{ z?n)t23OAY7Av_qn03NOu8cSovD-x6FJ|-t+?K1#!S?EFEyKoZ2=n;*5svR*XV{8tk z0$`D22qjK?{arXs;?fG2x%urJqtsf+*wb)WH5`^qKSm=E7r5-|q!;MPGgxrks)RVv zeXMDcPDnJb=fB5ASaL|#t(s6cxlMGp=Zor!u4Q0U`>{K7erl&?ZXxOPxvm80K9wLN z`tvh?^7>N{*5I2~?HR?|HE2K2o#u|o+Qp@s>?8I?lI*k&hVDw+&rjSXKYOn7y9*+Y z-<7VRb#G9focyJEXFeo`m{qzT` zSFd=JK>B=-pc6+nmOtHtMYmZx7jy~#LSlZV7Btp{_3O`FEg0}C10+`3e=Bj`vm#{K z;A}0*H=5yGr$puKn}f17&vwBGeeY6QBuCFZIHN4y{1n+NM>fR@2J*+=UaFFrW9dpv z$%aGqtZ!On$4{k;FYPQU4Ak6Sk(h1|-&2`~HSFOsg>cK2&6alR&ykGt?746x;|O~$ zJ(4j(xu#Iuk&I>Ijom?W^847M+tZxr?IZw)pbbyN$C*9sb$&N@8y@d(pEcHl?UI=c z8DW|~n1uDa_Mst$Vm~y++smI`jiX@TzlwE>qeW(an65ziR8vlRp|ARwEANmtMHd|Q zme=#e>O4b)-&Lum-m0--QFRkEm>T zATMij<&&Z0pxg+ShRcH!D5^b>Tw=y~wB4c&&D)=GtJ` zPYGuy&tWOaOQ(=m2fI{Lcq~0#0jttdFIqxMha2daWwG2iY)i-?BD-?|?=7d3xy1TA zs*2VTS2Fbyk&ngE8$Z&tw`k%`eWs=^Gx3P*jc`J*l^s+Ve7gCZF6VYo9;D#~`)K>|3Yr#(#BUJqC4 zO)hbu^rH@iO|<7|4o{|!vFFkgK_itLow;#6HAHjer=MfQL;5%E3V~4DU14 zH}ZHLq}RP+7)KLx8#PIKfg)yV6SY;n3jEuDmR&BPrvoq~^VNvqSU-n}|0N(y69DtL~bq zrs4duk93&yS=?P?E&*=K*ot;abS~-yikYWYsy%#Ek-io~Xvb4O(seIqUn*I|Q}2*d z(AVOrbyuhMn1>xtJ!ND&SxB9Tmip?f0z(}}15O`KCD$`l#%Ww4boDD4yT$M((_mJzgwTCF&8=Fr23uv{j;Z?- z(AVBZFx>~#%nstyXx^TAiH4Jzov9D7$ZEM>vw1dVwM5fs;WI$Hy&5wozU!)?=gwb? zEBLU9;ctd*Y*~q?Zfe9rG6?zlGRB~oBALDdRRGctv+9N0zpUfO*4{6him1GeeBHlK z58)z_EER^u)>H1-XjgS8eaLFejr!uV@8)M)D|a%vSS|UZ-B(!Z9Dgn;xHa zY%Rr7KocuaaoiiVvGwffV?B9&g!>@#CC}k-t^@_U&`~FyqvY0e8h^O?2jd!le{y29 zKsrT}VE+A1I(zXt)pR!;9DV~-lv-m(REc3VB16@7I}A{Upo8-bITHZ?RjyTZ5Sx$$sHBr~VeY^yxi zQrZ^09OH@y;Cu1b1})dcjJ1twW?P7)#vC4G!$xk1GhKP*xA>J`80_>(XkqAZ;A9iL z+S4P!yW8?BE0iz6+oucV+%>bQ7|9b$<|8S&@2C=yJDFZ?02~6b^963&n+=N*uNW%l z`FJJlIM&3-I&wuNB|G zg8&5q)?em&aFa+fb2HhgrXP_3c&vHtRMWSXTpF7q4TUz9siEE4+o|-tE!H4p@FCJX z?&NvPusL~Sc$%cD)xbFIH;2~sWt%ZM4#+Ogz8xI%Ae61IYp8Y+aiF+;{5d#$9~Tkl z&vqW4_ZIwQ@YE*${=p$u7!U?a6cnK)lwfB5A7s5E9(pIJ>8` z`WI#PP-_oM+{2;v@QNPbfSbQeaIi$<9(Qdr+fUj6Kx~ro_rH={2lm?_+wTtu>sRMx zX%WgMSKmQHVu4nASc>y4xq9al;ky+r8l>~BjEu~d$tZY1LV;G%11 z#wFHWd%0QRWtb!lnfRb}dDWT4%-$aw+L-C<6r)1ihK$!Cj)|IMm?l=X_sMh`p!jz+tz*>6-d791K}c%3D3@g*DlG#?d5Gz=Z1THGORS zAJL(uY-TBcIn}hG`qOpnX;4DmE@$BMV(+b*D~`#`V!fA}h7mJcx(hI5V82t?T{)iq zsDxb=U;yUWbg#oCo!{vOp#F!laXpvJLH*|@>(}R!A)CctN{>{p{^u^yrtzSObK7Gb z*KTOE$3YoIAfnT9Ro`Gx6AOVjaSw0?yY!pn>D}?B1wRW0e6IDxpQN^JyZayODm4e! z>-=CusPS-TOwvc_g{gwzWS8%TcM|!gWnDm(+N~H_(^^8Rwr@1fhEm-=;hwas^A3Kl ztC4*gt5ElHp%+C}lj(NUtj;BV?rOc^(v|h#V?6pe#ir1w%nZgS*n$qxn2e&DEN_3( z+hqDO&95?#;+bbDGq#M0zxyliQcdfNFqljF4W{0)auuKpr8LXzLb-4}Jih804K(kg z1?(|;vlZN6gIGg?LHruxb_w_7Rd5z$^q3NsnH+Dv4N@|O72b1lQcW9rT=W~P>u|9N zl(*sYTZ%g6C&@1NADtIt`W-J7yJZb;e!6k{idB)1YdwJ(B$>IM_jx7Y9*UFz63z{V zbYBeva{ta;Ct^G#i1z^znw>qiO`2^H z(QHzx$v~;@Qd?KqHy8$PCdyqBr<{8zqMVCnv_5eHCSj*HfRnqgx#^)dJc(>aGBpN8f=}*SN<^>c_bO2OYUYa%i>2yK3jnJ^JccGr^dV@IV zdJan%2W6UU^bV8-hbKUjOZLqc9F;!k_tssE<2NVC!v8E-xYW;y+fcz&Q~8>wXo$7< zWV1cihfPh}!K1b!bGPtUQ+W}qII!>}FD8d?qQO?3yqLI$wg-DFs>BBS4)))Fcdnei zSz)j_c_(42+aRwh?b#Nnp2q4&6j$Lm^*U14*8oR7VML{1mC|K+H|k=hipp2Ju-q=a z3~xo_m*L|zrc=YNFgGZnE6kTD(K&eiW5+1FKtD0c_$YkLS-g)JMOL2gNfDRWw3PWf z2Mxjvz&aQUFr$%_$X|7!b^!JhQ~i@01I%JC^3c^DHng!Qd-Ly_GPwb=x;+=JLHx@m zz|w0F?x<##2dAi zuISv}aQzX9<6-nh>V=z`%eqI1E23m|u7J252F;ZsKDq?)LqSSERvYW%SGAhcx<#J6jv%O88 z(RtZ!db0DfzaV-ohxQ%~ldXd*${w`(w-?pFE?@ttNOZ-PhpS^hX!%@GcCJ->uc+F~ z`D&SXHNNFREEzK&#^ZA32+qvL(ae(TX_6w6D{Rl^UgbA}m{xcv9-g&_S}q0hu(ds` zXD*t~A04mJd?T6uO%%>OmcRG(u00>bLS>=5_cToRp59chas5iW_q5@$(P%yZj^Sdf zRG3_ZN|A}483{u1Ey=+=r<$gXp##ep0Smlzu@H23^7+arC)~p=`E!4JNxZ!0=TRp- zS3S$ys%{aPY2aZOXnJIQz_iJja}80;mL&8pkfe#|ZF zeD%%SMw5T$ox10mUn-E0x^>UGLcX?X{TAy~a`9l6E|**Hd+QDf=dEbN&Bb17-8wK; zec9#caC{NDYjg@JSUi0t8x4LbCs$SGB^GAk>-<3iZa@MotmTa)5DF(CIkyPQu?X`X z?EOWux=PW26`V}%LD`p?TlroPGo_xJdjM`4P@ENsob_D@Kn}8x<86&#MI-77v4z3h z>~~;BW3Gb}a7}yTniPhLn$}F$lAaN}v`*Lh${`(%Mq`;Y2xL4U`)zQ417<-zt}*AZ zfvIO{4IIqaK@J=5A{uvr_nu*n3~q>gHjVEh2WHUf(3B#L6^AhXPgBfib2=K^ojEy= z6!<067n8tcGp`d9`8FixD$#?)OeHp!o94%N+_2eA zzZbK(AN3*zY%9jFiI=A;J<+PWt>DIfjp>=AEr1P@S0vTB6yly9J0z3y>-$dC*~8$f zQRdre6_y6Gtzf>k*Q1~pqAiUb#@Hn@^<;$C+R>S4S#Gq?r0G@RV6{dea}HUlrePwl zQ*?(ZX^QTtw@uN>ZOXvQY4?Ak=p5yvg}4`!RMRN%V1UgFQcA_VzB5OeUF#zBb410G z5Ug#4B2K1XlKY@7wWp)A;l-b8y6F1QQHV{h^1Q$5r?9g1+pPBz+%fWO`<015nt>8 zh~Oyjl!#|$8kEX&tb7X!T!m9lYZ+~c=J!yReTG^*GT8XdXtOk#=~#qyswn_LXcDd; z8krS$4l;Lcy^+yG=!_akX08M}9at=-Z#y(YIUC@Jd)@1#@;m6Yk_c#%YWkGcnx_<~ zmTGDifvzq=YMC-GFamz3WGzWr+Q+q|Q#8Y9An&dZ4|VUm7vAq0Lm<`klYr=B1Ho#L z!Zyq@_woo|-8vHN@#6&nbarn(u{Y*<#Bd2WC7uZj<9`6054G|Tyd~gRNZvmr{kwrh z7q!!kA23dX=5zUqYWi+ny(T9n5MU)U%bQ`Es+qgU?wdn9sirHyt@(&l(@pw4G}ZLH zaJ?APrkY+?@?4UIgCQ(%?NDdUBN%P_;~_^yTSkR4^p$W&+;vwM?1=zChGKgd=8-%B zgu)#Su7*aNb*ZLVYHU4gce>QiX4(VycKZ8lLP`0sdw&b^~KfC5v&L0&X(%FhukpM{SU;o4(aDioSF096_5px$j6dGa^vx zDu0TV$D+t}P9lWCrgE^!40m%J+*2|a%Bbd>r+I9I?NsZF^A>TxI8x|%?zrX~Z7MFT z+dI723YxuNfaCqP`1)Th_33z;CewqhVxqQ#cPiU-$7J0HMoOkH;_ZZ4a+J5LYb7wg zFFea;3#QbLGQg7QD2vy-*3<5b8N}7g#Gy6V0KwMEzJ1ke*X1V z38(X97cno_t~X)UpFpu)?U~_pz!hd-U({EON*&UCeq?UD86EtRnIk1Q$MPq(RLQrP z$JaSQon7SN)nP2UZ6$0--(ub77+)F~^#@Y7y#4t7p#oUifSWjL@RnVQg;X${P-)Fb>ZS_eq7awh!K2?B;^nhodQ< zd6liz*RSFzeM2yd*GP>!cySB5%i9RoDOqGAWXMT1b&+UeALut2dU@Up{Wsn+8N8#( z;5D<4%V#njwW5Wl(}kF)@;3EoepLgE9BH9OE;c1IOHI|;XGon^`KL;@7F=K7c)Nr; z;AOjcUJKo50LD)We!j;`OV#!v5u9x^zcZ z*%U$NDK`6{+(GDEZjV%y?Zd?%K4~m3UPYpxJ?KCHCuciVSB&VC%zO+1Q5w82Ma#qLG5_-yu^mABa}HH_J;#ulRU{s(p%E!?!i zmL7|?FG|>H`S2okx>0;pV5ep6)RmqRtct|P_RyJ!0z2KzQwcluvW`dWbT3Z@c52W& z9qql2gxE=8R#Htbi0tFP(&(Jy1{{+M-7PH@E_l!O1jBue9;RQzw=CUx2pCoOT~yt7 zF((VrtEu*Sew$l%)qR&#ul;iJ>Zi3>S^M9~^!FgD9nLTKTuc%GJ#FEXzK3< zRBb(0Bz{y^)7PnNMepzIK@MgfUbhE*XGa?)-2@;zKRlObtd6I3_oRSN%Dq>KVOUrDC4Z zl{KannNY7o2Zoajh)on{2{04Ik{M1n#ym^T0E)49GSgKX1iA)66*JMN-U+z=fTMp5 z#^K;h+-dGx>sDU;B2`sp)wrQzb*K>Z5(E^fBQYmjxr&1R#7oD*?@*5j-cowNMt+|5G4qa zVJH|qaM*LUpwG+^9mAL8S&3d%7QGtm z`gsifbh`lIdu}0iih7=L>C;I!_W`9^C3=>)>hDp><6Oy!q(v$Y7{tk0Z=E=RG9`7J zRCjAv_hQn;72PM#!wq=vwva&KSt~VuN^_aRm#liSFm3w%f|wGOq-H)RAfGqqNEDN% z5Mc8YE}7slAn2GZRUcMwnnfmyZid=QGFS>vy1RZ;?R@)Y^Mu5P$65bcTQ}y9hg(9Y zbHd5yI%pY4bCed7{I)&V@rC#;}3>^r=pUUdMP?TU6_?7}VIG`##_Oy#Uk zPOu8H2A|H;lJ|a9q!l)I)(ZsbMR!WZ2N`eKC_s9=#+Eu@zS5T zu#(JdNW`=7rvFgyB7^2nu#1k#%*(8Z!vntLjnx3#S^&5PVcBaavyn=VOpzCz8@4{$E!`lK;YUC6T^iQT-<3Lv-wZb0|s#0#7n6SyL6JBsGQ6ZsQt6UV|`X7Q?~D+NY*T;N!85jm0m)+M6cYX{FhtiFH-(v3R+)jGy@(PhX6Qz#1*4E|xQVIt8*F@$!htN6fpI-0@?`r|WUFB@RXAa% z_yxZguOJZTWq(GWzP$njSt`1C1=S24uL@T2{HhuL+3!vy*2n170$lM5=8nR)?LrqH zXrHY=kGjr-cxQJVh(6N8auHsaJ#E5a3Msv74`cih2LXy}q0axyGAL1FIqU`7=H?&{ z;-om*IHn=8(kIMPEAZHM1|d-c0{Cl34&aCT7#v%igj7#RW{%-~O|E=b-rMTz%q^t+ z?82{g$n4~bvh;E>?0W)MQFbT~wTF>t;&x5#S)en%8o1m>9~--kJ|w!0zFFVp1cyks z)4%GL_t78NU*~aFU`HK%8_VXsl-7OpE7Q)K9 z!a<7)hP<3H>B~Xdtc_SO8G5|mfyGB;H~Kep7t6d&d2wR#9rW(=%_#2)e-#eOie2kA z44AKQ3u1}CF(QmDv?~&Oa2Y3=-h!q~G5XxqEVrBBR3yf5m!|Fz z-W1(U-$xftFqCCJ!sd_DqnWk{iCy-xE9%4ZSJYnx-k{w0F5wF#bmi&pCQ~ownNM$C z?i{M?vK`kY!jfA~)&R$$vv28+Qy1D9pms#=-0-Q@*#Xb>V49n19}0dSQN30>(}dxI z0wM{q{_TpmPJOmhhdc{eaBCgn&&T-5Q74-jrT!F;BTGX!WDmKGrrY+3hRhG;t;!d{ z54IsQM(~=qx`RGSR<`&Xk@*|IFjAh#(=4wut4@gAj)%Izr9|esB+l||l?ZK!L1^e+ za;dC9VFfNW3M*u^C_HGEQMkdd`*;_c$_<9x3v1WqL${)`NAntkUZAoaGNdUsk^#)K|oShwZr#G2lvjE{zy4 zS-G)@0Zo;W%0Cj-6JEmW*h(<3RWf&hN6dvD-oSH98JIB$WZJy&h=zMRsJbCW!`J(% z571EGp@v&COCewQ34i|E&==k9GQeM4UjUquDeTmN+(V6T91qyHZ9Jl_{fN>&%=<5x zaN(EyiQMl+W0~2Ng{sBfOg+W{eq1T5(f_bLe{@`h8N8MF2)8p@<^guo#vKvA;AD5F ziSlypaTq5Y{@x}Ic82W$UZZ?lX>LeybANHo!S4A@o6Z|T*SG>;djw}kTnTt?%?ym7-O6v-N8+d#f1L?D^Na3!Xkr$ zkI+uyeW6)eo%FEr9YSaq-o6eFxY0PuDd-_U@PhqPkzgyh{($VPHDa36Sh{F4$8!^x zC#KfqdJh2&0@!dUX$jUvu$8)^Zm)o{7AmdS5V?pJP(Yj+M}Sr>RtZXHP9;0k71hRd z|HeM=90YHQ{hi=Ns^u-K26~8b*;>p$(^M_@e>}~3D^6lPqzS1dV5dmyE06euuGE+9 zi{j0`pSwo$aWL^*$mnjjabRjN;Q5E>xLr9*s|~w10I}nH))Db0J_DmJ3Fbd2QdKn=Zyc*i zQX{#8wR1S@GmZDXCi_QsF_V9~JrJN(jcSdZ#aaWtgjbg;5?SilmKFJS>;GlOouEHK z0}D=LEX;kD4o*KCZppM=IfxLGl`EC9sfuJRetv$WqiY+0mMMIy2pyS-#l%jg@9m<_ zBzl05UDOlho5{;B_UD=;l&_MpTr%mc&ZUW%U9cvP1+KI6Dbqg{ZQfl+ZNzqlpSO&n z^C?aqv@?7Xbr7@o&hT|s9#+Y9K4lNQ9_QTR=QDo>vv_ydEUt)7qS1Kkf}4anvo1!D zW&^udwze~QO)8>(XEr1={EKS3{+ z*}Fq89g#oRo(o6h5AQ2tlx_qKSE<-W(6W9uzcV>ZX5T+N$bjT6K6M**A{s+MwG}Au zI3x2Z?;3|Np{AaajJRnvqj8^|;4!ZTodnzpj6)M@A5z~fD(^%T@ z+JsVeIE&Yg9a6J*jHL1$G9!5$r*tdwSaE+Ok9VnsKOm30-{<5p^;Ev0vsG1-l9S4< zxs!xLmm{7;uy#_pqdgQ!r7dYpB3FDINhA=e8uZO`Cz0#9btv*HiFCJRqP5c1v9*$| z$aLmzFb79C+V!0YmSeiQWMqQ6b>Ngd|K(#xQOEK*diK(;yHft%SKXG;;nK`P1h!qpl!In`ZrjUVYOJX{YIwfMdiItaP z?7U!C#Pn4bVy4X664SyYB{99yiK%JI+Gfvmfyh|x_5^2F@oh^aWmtugv=UPsf8FaA+)q2&(~YJUO@%Np-#(7$8-1N~&(dM53ZF4Cwc%-Pdh#{v@L{?#rSsK9 ztDiXagP0)9Aum667l^%ck!UYkHqyA>HOlM(dtI<*z1{8#W ziVYN{V}5?9zwBH<~_4sX2|2~NrEu*~^t5CF{%yB7&gsz`9K^kTEa!nj}H56%t)a<|L6ZF`b9 z-+(5Dfvimuvt)87)6bAym0ns$*r_V5IpS+1D`M;6%1Ww5r(&lWqs%fBy|7sJM`mxe zmv%+QtlhipxqO-iKC2_L?_BD3O-fwWwsy;zk5H#h&Ww5Cnh81Fl6z+txHo)=bZS=b zzr*a8m{sfuu&srH zI1+4H`_2WENlRyqbA^?_;VR`(uRz!OvH>XG0oku|*Bl1W;NlbPdl=qv1`d;eSl6|= z4^EiX-eQv;2dPKEzbpaVmbWhYgl|c4fJ~qT9epT$(;C65bVhy`)4z#{T(rrbzz$J3 z`Z&jh&jt)*`~-G(UU0>Q&hD|bU1afO^zE+jcF6}tPIg5cN86&SqgeWSj(h0!!L34g zf#W729tJD2eG3SD9c5M66Q8?_4?Oq-3Kqo&u24>WRrO`fjrjfQ6A#bOu(+@N zC_b?E^@4qlR(#<3g&luP#Yy*VDHmTmfCTloG8qt%CYed})=t8CjHUP)N3VD#d}j%T zPKXMnn@r{UHVE$VQ*hK6)}MEf?RKMk&?vmmHiUv;&p|T1t5#{-+_Jd+6j0W3nM$|lFXLIu4 zx1jzOofE-qOuV=yM01zg?!swNlP$lSAMN^P&H_Y`ZIHWMJT364SqA}826pC9&hkYgiPSr_HDqe5!d(SL+j zY-;I_L;&HnSFL${G9~;cNpFCrW*wt$Ex?cJ_tePf@anqehYw+e?R| zw5J{%c$DL)y?Na@$;7p*ng$7Tp^uGOnru}pjlv&r0Bdk=44oU(VCL9MG@#vT&HuP6 z+Yz}E8_@#AvRwhf?9qhxQYaWeuN=vrq-$P??^Cjf~NUq=D%_AMj&lg$d zdXjGdHXJ@5W*qA7rp^-`b7gDy5V;3+sm_+IDUU`rv6g-$rK5om%)Kev^0HQx|0a5# zUA#BCt7e|8a^gsO-{37|jYM}#!#i>1;)t#rHi^-{#IX-)hXXxM!|-y0%|^TYxN`3N z21ROeC+J$fQB0)sRLgwAJG$^M!8Siy_^Rb}J<&w4vb=Q+pJNeg7!t1D$|t^G6k%64 zD~8=;H^%$kI1gfm3zkBZTi^&cLR)hQ(vQ&QN*0Y!M{)|=g`oJPb}NJ3{^~}k`6EW? zH$OtB0+$iG(ol9I)JuG)oyWvzg^P2F_B44)vX!UnN4JMx0!YvUL~Y2leq?C&vhpp4 z<}aAW;&^vXPm1+wYB&Eic$fOHUkq1`^S#1vHQbu|Lee7ZUDt07a^*W+TOIp}_{pLM zl9}D95AxT&91*w6Q|ge$edG%D@D5>a}hZ=eJTakEq06 zlxQAnv-zp3v{xTI4R(!tlkGgpCRisr*Zd@DEX<)@4cHPrVJj7usyh25WjP+md5{Jx z+!hFp`vNteAO6;nto`y06~73cqzy-f{dG##QDF}|FdL`BR^+5+Z%gmRcPw`EbX=wY+M)T@5T=i|qTabtn{eUNRS}#J^PHK1v|It5K$L1{twk zlY4jtO(OBFGcaw7??Hko5MeD98}CwTh*C3^8l_aDQX@zO8{|8=UqMcHZy~3>O-^_6 zwAOEM*D%+~j#jv8iuW`(E)eVw*92wfXwT{#P;UQxR8q{E8Rovoi|pnm6kcSL_E0{W zWdk=*Vj}AzDEPga823qJHF?oU`QA1Mwh-BaK*1o{=%Y1Tvj^Lct4KU&54InNylwz^U{30Z4oK;A zOx29A2epF5YBw*i-3kJ`VGDt6ZvxxTGm(CSF+&Ri`;pl(1xET_j5L)qz`H_I zWYJt&HhLL&JkzM@;uMTl+J>3cy zuu0NF*iqPoS2}D`v!i{b%nS-QcA`Y{C}enV3N&tD82J*lqhs>>h}Cafe(OqF7Nqb_ z_4iMtpnN21_6hmMjS3CLUY)JJltVX1g_F?mSdz$Bkb_7+}l{c$txzWJ(+N2|mFN$W|Z zQcnp^xL7snLDBK)DDl2SW4MVy9F6_SNzJzHBKTClL2u9y!DJ{jo(t!shync4vS4J3)>odY^-q1-2-I5k{Q=pJf}5l`>v5;o zb1uJLfevTw4A9_eJ{YIbPD5AcZs&b0AlzM1-;a|~ZO0s4XfE{8Jhp|NJvDaBaRkmb zx9N}`MbeHrjwQjV#)r8zqjgVhUmot`p|%f+YnAA(qm3WcTU5C2&YAfd)Us8QzFT5j zBj-`lZ;j|;K=jQEmLHQgr%WQ4CqF7Vf26ME*~dN{c-+Ir zM+&LFk4tuHi3j9}PN?FVVIdXkhxu*ngUDhgJbY=~j>$|f@z0$mU(rsQ-_&Wqd0V=v zbB#H4@Ep_zS7al{%JG&<%n) zb#sRN3{KsgU@nKax*0)EYIc9G_4FG&I>@P;3M-tSh#PMb>@VdRbvAE*giAJW;Y=f= zQ-11(Zhox3)D)zf9}l;pEv>w`S^GD_rnWLa?nu>`S=-k^YB4_+RFN}lAHa=9*o%Zv zjLnZ5SoNa$v0&DYr%uWI=mM)?)_(Ihn;-wES$o6UCc3{fx5drcnOURN3_lRk+7CJa zEi8(-S=(8COs}b3+loXddr&wE9=^j($8l^uFgaELUh48_I&YKXj8Ng98}F9G?rx+@ zZjGubjgRtd$qDA?7zHDSYjBUd@e^J+H&ZV$iWdu4%T@6EyB#SV{=CR}R;mbbr_<`H z)3{7+J-{1tCWV`TN@~_HHZF1Mhm!*GSGR{RO@mIRpxt{!S^o{nhx=iZHcpH1E8Xa^ zI!92)Z~RpAJ#FR^4*2UDVD294$?056*VU=Sr@T_kPB|cm#*G3jI%Jq3N-JkiGwJ_G z&=U(9rFixTKDrot_k7vnpR=3BjuMb=0un(No^1ux49MD!tw0BB$(si2JP+$y!3qRx zLpJXWsUd$1shi(1K)ZNAg9T`)b6BW$eOYWd(v z*Uz6afP6|I&ti8mHESD&#prtjf$jiew^v`)R^0v_3cS#G9yQ!4m+)h@&V4XEXC58? z0>gW|7~njX(M7NB;Z=-FmZ(tXCG}A|_Y6%%*?bU7rso@Dmu+hg?i73HPu4|aD8$Lj z;>uhh#K}Et>bdk}t5z5BldT(dkfxdsi#^Paa(IgY(HR13_7H377}xAWPY8#8Fd-)j zPmY@HY0rgbN4DDRFD1?1yjIj~rJDW0H5>KzEo*k;(R!OHX|}A@ zW{*~>*g4)l`DW)ypbj%2`Q9GuT5`?KeO$f$*)=;MYPPwgSyW6bM4nsH>;sBHW<)+% z%{J+^XQIi+k+HqBm(Lil4EwN^&p1&T_liJ1JeLA&Fnz@I^RIoGFHKl!XU{1liD%d(3mc4lBPd){6AU$>US?-3toAiRkPn54Xp z00d8^B~N7^f>d>`zujD@FaMTvBDnX@zX%yS4*5?#CBI|%fSpPyd!(rBJXdz8%D!l2 z2x8`H@<{_J5gGli)$)c21XryHuWUBmYkH)aO| z;Jx54Q_R^_jkl@s>6B=Es8C}j&vfoWdPV1+<3bJxREj#cTfTEo9kX(kZ@*~d^hMk7 z7ydLpswVaZq=bUi6j95hQ*%+^p1S7HWfUT(Y@nMHK61(~YCheLoRCdW@G2C0Bvx!) zD|V}j-Ca`b1eQ|~v`-!sv=QWlKbI8iCS~UvZL(tP%Gx`S!))#hg^u*3X6=k>L%$cdD=S1iW}k72Y<{tU=Xa77c-=av6} zLacbD@0q+@IQA+kFXm~yS@{=IK4=~v=~svU3yl!x26_($akE!%-M;s`DA(X&s-g8< zok4S`vjyAx!8B#Zc9r**ZeC5RE4M0J_BP2PXXX3kxN*=aC+a?_-(d5-bnz=R+f(5~Hoi}%t8Yi5u`aVk^$fojt_!iC^U^%~j6(O``SZF3HTsTWE&d;Y;#4gGa;_ zo;BD6UMTN`p`i1?C6R~gDWYRRoGYsVex=Bv{!j5$ZK)hZT#$tR>`_nu2RNKW4jR|%Vjk-N}N!@j+>-Jrp2Zd|0YWqmu#&8-C;dHcW zl^l?Qlt#iq?lRD(LM>CJwsjdup{ImQij2XzQwkwX3^Tqdl?dPF0E1tiE*dWH3>d(M0ZzYA+U7CSnUu=7T_u z?|$h#adffi93J%fSuo=?iu?L(ox0I8-wh1t!K+(<1odXmvFgoSdc#V$N(PJqX3hD5BM=PXInK6$Ph8G-m*BqYUn1^nBp~EP?=|Zp;cR>>eu&Px zSKPBZFPRSx;Gy=fBp$ej#5wfj)OLU+7|_YFU_is7U_jjn2DD=o4T$d>wu}cf{bw6b z79IO=5J~ZXT;%c#IS|l#JfQBhtav~!cw8;GcoP&vxY+7yE?d4tK8>1N>Fc5CQ%kTx^Dq1Lj5|<|5sRfE!N>k0r6!)WqxLjNJGc2F)vbkS^H==175p^1TNy`yg=OEiJCrc5T7w$AmXJb zJN-PKE0{>gRx2Y3dBO6#o}_%KrQH|@iLx1$x$-fLZY%2WJ!(lE5-_L^n}_lHKyXSZ z8&S)2d_`jYyCr4&(}0#(@A%wzIOt70BQ;x**qet|!vyg$_*};I%fbX@EP`{}VS2epn7hUrC6Jp|xZsNkjpX1$`R3!6dC(1v#W%MacMu)BO$Sdl$|l}o%M=W4F9c11K| z{Y0u<;(6t(GwVog3B^ckaAwFYR5txiQT85+Gf!>UNQ33aT2VC)9gNPd- zqw;;dPu+X_b`qTDc|N~i{z%`dTes@esZ*y;ojT`K;{N-T@b*wEC8w^Tj|vp@fu#$9 zf}XN;^FTq5DK{1Yzt&^!TvYt&SobMYHHx{@AXAfI$U?m{fQqQ; zvw4*U=ANS24bX`%L{rpJVdE!t((~{k}^*6tm#h8G)0pxL-|7M>Bcu9 zKif`CQ>?f-(2F~H7^^kw|LNcpo1xZ@RE_7X!~Lf|wfo=cSAEHQaIQhQ-}94e0K+TY z8@$%nPKupDYoYf#&2?wcpKc`l@?NpyVrS4hX&i;5kuk9xM5ZQhju zv473t8YA{k&JD)#TWp`32jV$Sr*sO$5ji}A}Itb#5Gj}s1DMo}Oh z)+~2eQ}WZDv>BMh!bjLAU2v$)ZnsG)4#eX)#j@ShK)`fjhJ*O}R%n3>$83@o#`rw9 zDdDXctroK@j9p`wFePy_xIQKE)#Lj2dd^7mK;<0p9@r{kKpLTkXHnoj}iogv&N z^2OE(W}Gk|4oz_9yJ5c>E)Yp3aC3oumFNs8xKJlE-;$2>6a9eR1=M}!Y=K(Qke)dt zM8Zg3YA+yp)`>V{d$PivVGCDn10vP)gJWyO0fvc|lq0*HU>+MH560~V$3~U5zIUjs zo6DkznvO8aD|1ty*TB`yW$-#QJ65$$ioIv28+|1O5&9$r99Edhupqx zH67iFds5mZv%_o}9_HL<>W}VOo!`ef&ak{|bdpuMMb%usJ*00{?t|)F6DTm?tMj8F zgYcfxULlDMhN8=>L^Wkqtbx@`*&%(KdKcmWJ6H0k#@KhY3y5bGjps!MWnu?Fw!wao z^x)iTAP9>XEA^_*az-8QT{82s;e71CpfKjNhTuX3^RVDu%14bTBJtkc`Ioish33pP zyz*b~rB$S2T6*m}whS17n=FxiNblQ=riA<5c>wpTD(mKy`gN+cJke(=n9gKv)vuW5 z%^Agrspfr=-E7w%(0)w1Fsz!eo1gY6}1C2wbRIs zv62Ne;&iDT5O}x{c*{=CLZ*sLf2Ov1`LeMqB+P&34LKv|{V3LbzTj2;_kv6^l3NLN zovGacmCWciQsZKf7Z{Uf5wHybac<#`!-qiDT|fAn$og<2nBk?iO?Qc+wZs{HcDD8t z_wtDoi^1+Nf2_G^b;yq4IAXGR$E+$JkxShnQ|S*yjKdzNBtycMU@IgOj(mx_%^ zT+HeW_`(+JM4+kJ1+qCo58Lukp$F#VeD6joqn?SsZXcR)Hf?NH4SQ1L4{bJ**;iQ2 z{gVxVaJo|);2aHu*s#(9pFP*X??^FkqZrWHyhic!o)j(bdhG2YWedYq-gVYrmDt5l zT{3nV{nY*HTUxqsP5C!qq2;~dcFJSN?`!O)>H7(5Mh{`W2UoJ!`<9PP?>Y5pBelf+ zv{jk!OEh+`+XP2lCG0q>a~?BocvXJz$jV&3=wfhw^r+;~bCR7|=mvJ88dlq4#c5@o z5m1{N?(}tYNgRrSc68+?074TIsTxma-UcPXMrwf`BeBVUhNPfY#PTHvqM_`s3(2YK zCU+6VOSRuMm7rZ1heJy;+g0;6I_23wDLduK9#mLvvO2X&&(t)s6+vBM!D9o!Pg8o< zqi54;c9njWG;A*5Spy->K2r;sXYghx@dODcMs>zlmW)m9?L4Rk_3~@qXru^u_PC`B z0nZw2b~QH(saL6(p~Tv+!jYN^-2T@AVdoy<;_L;h8E znjdaD9jBAJCz;g|u|Jg4&mjE85;^BDR-dAnBf&VV;TXFx4iY1>E68$yj0geQ0zh2W zNo4sO8fBu^auzJt-zJnDuE|_p@;&}E*qfSHN7n~^VF<$+3tt;EoY@!0hn9vj-^s-y zhM`4Yh8P+LEAf}p0dI>_$diW0wn6{PD|&@h-RoG)kCeMkp+8)i!zGp922BQsjx#|= zi|t1k5#xWd{czEQ_bROU`v{UsZ9kYcQVrHN+hN&F5Z^ZK8CziZy7svyA_0VEutAS% zpLT_VngTI$aPGzC;U$7CRY!ScI5c|?3C!YKV zvkltomzwNdh!twJsCYQ3!{Pg*f`tw4f2q-i4d&qXx-E1Qc9FN+gql*Km*MmOrj+Oe z<1~yjq|$h>0+8eT=H41Ig@EIaX2_dy{8PwEH*OTe`rQnBx-m(Pul{;>k6`=@afcwC z|3%!PU|ecixuVuaK%~8{>)xZ02_?cnzDqZ5Zs0b#TG*ltFD2sKD`uFu2#SZC&{@-S!#L3VY8Hm#*GeC--vK;wMokJCDl?>@!aPA&XI)kYw&4>1r1mc~K& zd69vTy*>n?y#v7oMW_UXLaT+I`kT-aN57>)N~R-#$OJ*ts@MiW9#PPS?S#7C=qa&E zpUBqv@XPV zj!)R98Xz+iVGpTaZwN%AL6{uX{JCm=Leu&jdK#hFzS3ac8I}A(C9kCD2eOV_Ef) zp$o}>ayhH~HN5uT9&Uiyh%b)7`8gQzt5xKm!0xbO1m&uVI)DZ<kL;EaqP7*H z?lb|vd)~T}8v3Cijd~SMy3YX8?3WA!zkOo8>J;_r#*3|2ZqmIytaar1f3}tqk6vrY zkQvE~R#eiY*@bNC3QP(MEcfoEK)7(YVc1D9f54jPoyQ@R#d;iGDQG zH>L{jyP-CvD8r3vj~cG;}9AQEd!_dw{2i8C#{Xt8}F;BXbeKi zx)AJ0@#CT^{f$ustm_bD9q%ow=dxSs{Kuh_jTCZPq=P6-(Ff45$T8|C=x<-GBi@XtFM)H}NPO{E<> z`N2Mnvy)HBaoEwpw&+5?UQ-uG7g{OPjn|4U7P%R6rcDhONa$msIA5~Od-}0ZPZ$26 zPA6*gBi4IA-+Lb&p{bxlL3enbr#gH4xLakHzN_z}kq&3u?KayeD0Fbg>qshy0-W7` zjlNOHwykPnk(EZ!l>fQ;-&w3D^l}7cIRGfu73--t@94v`s?Sc2{LL+=`vgaZRjmWp z4p9^`R38^Q?$#lKD0g8DqL&YE*?E7Uybhi`G900YKaED{Zao&w+#AVp*t3&oMo7P2 zRcALs7w|gWI8P%~E_Fk``+Wwn8=(QTLARJ9m%Jl{nK-l_y|!jY^u1@xGxN$zMWD-y+DA`(CSh*qZbpcNn?`iZ9o+1r~NKD8{H@-kqO-C2dmTr7WjW1{h z(d){5yjkX3%KST-w7HRMQ(U?yO{E*(=VipPS{}apQ#Fh7iMKNbtG@FND}b18{E+X3 zH~&&pkltfLdfv|L++3~1@g$h5DLocZ!mi3;{HtyJlkg7rskldycj;Me&<(`5?|QD7 z7TmHq!JYT{y;d;X2MBQpZiO?z?5}vlrf0RKil+AIS;;@F%Kt)E;Q5j|^|QR>75rk7 z*^iegFEm!)7-N2*#pH5!Kg6K60O&nOtFEKRsxOWy9j3>kj#}60=wH;)k()R|?`1vQ zdL3Y;XR5GY4OmF0-oHS)%W}7bT&4?6xc-$L&LoY8T^(|sG6!%ctc=b+bdkKe&=ZKv z+wCvXwQMhB9N}#gfjvj19N16V2XS6{w{ig6&Wi3YabRChW_s2hROEj{d$)OZE_QGuASi{=Wej1J|G#mbr->sH#0G~M^d|=H+iMxl8O{s;Qw+C!S7fK#Mq00qt0UfGmw_9}uS>x{w@J+A-= zGr~1Be59RL*!5K!1jt)RQYEHVS#)OMwnPu+?nSCv#7WR=r*n5#71fY4)#l)3N!-^;onz-KiYd{E>{8 z_uK|@+e1Oi?48Jq^sG0<>W>DNU=Db%2u54uh2p|lb~4kMQpRB1A@FAEKzQEkj-s|7 zuZ7jDah(wk0xd>3YfTAUWQ5}mu4RPt-DRS-ATFRQ|8J)>p5mRt0Xzy44h|dGYw)tA zEgNqF7);T9O?xquW@p-g5svLVpznv?&|*m&ET^lI85zEsPl$YF@OwlTmCXK)Om?Es+(VK-2%Yt6nA!g95vYvRFQocu#~{^= ztfi5|#LYpj7@U6()i|bJ2UBMu<$Z8c1X2615nUzS*w0>l>%aG&hShy2TLR++U4Ok4 z)b)F#vfrCTfJO*j2DFv^)>QUeRoU_Nn`3p2m}(Q_gT^gwFB%!y)HQPuLQc9aU5sM z{s*>fKjkHdk)6!2Xi&Cf!&d=ffW5*O$MPn-;x|QVtd5p_K_^HFHP+h70o7|txvWjO zc3Anlsj>Plpe7c?x4hSSu^g_a*TMQ&!fBWP1MFI`mUn**0Ep)BLi6+VitM*zPZX)d zMyWdY1zS0-Q>M@1CW|n*PcRzc!p6s%SII19V{|rg$t8e;V0QB$(VDMG_5%~p*7Z?T zCxxpP!Q2<=nVOmDSzoD4Iip@xe??CebUnQ@Kr&MFn#!mQJR{w1H*`=z!u{~rPEZYA2_?$-$ zu5)X;NOt-TV%vk7apOmh0jYKeI&S==OlI;1*vxnCZ_)fFp!#MwkGfg&gJ~nb#jxxT z#HU~{G10%mHrXwM3EYnoj4kCGaVV-tIVc{7a^yV}K|sj=cV7-6*c(|1>d*@6)`E?~ z1svV8o6!FaI{#}9D$=tq2Yu0S_^$#h6TGQQRZhQ8Ge4naGpaKxWOWIt(CYzxaq2SM zbXsW$DYOcK21n30+kqy|8qQOF$vu_)xUu-rEHGO7&Eelu3j)uIY#0wvOP=fBm?T+1IqeSbjDPlXiKi*nvk zke`=2ps-ngOhFEwhP1q$E!SdPf6w@zcEsbRU9lru}lL|Z^LJFO+&xp)+7o&1xno~vc2 zg{FTbhfn{-K#Sc%P3M+JO_GR?0wLyMn61_mk_T!4xQ3r1nV!{b;vg2tg3F&_FGm2a zuZR=gZu=J|#GTJkU8okdhFpkT=!le)vtg$G37RgS?}sAtT`5GI z7`eZ614UwFAKQUfGYaOLjX4s{I|)JCATglPj{=DS`x`Pah>JJtz8CD(kQbr z<@%U#y_hgdbtCO8uo_bPzNlKKjwMqDntK6C)W|-z9pKQStecgZ?=9a~ujj(~OZ9{u1bCmKKI^L(mrBR}SqKgII9KcakXe2t*?=D^8Th#KC8Is2 z56Vk+CsA`450l66a4uC3oktb;MxPw>jjjxRqq_trjWvV9Q$}`TWjD^|6Wden(L?^w zdX}}}`CF~aA38~EwYbw9XtF`g4Ew^{cAIcTwvl#c@y9`lrcAov5Aai+Pi+QftMbS1 z5IRJA!m#iwYO zXaa5$95{C0LQGYJG~6f;Wm_{Ea_5e2&eY9PDTe<){po@2wF~kFXGTFC(YC9l=;K{m zuEBG~_$dE*DzH@2u|-rrDj<=dL|t8=3;n6|67gy%uIUn+A$7m$_ct~N~df~%YJe`fEU zA2CJyr`%#@?b*y)pm3yn8#Oj3D43E_lfTLk6Zzjd5-U%vIY*t}S*q0X#H*ILPSunr z`dZ?^KdBQXP2w7Iyxq&v1;^XYmTvBNTcX^Uz8G)X(e`qbt+hO94{J_H!+6IEJp>Yvn##;x4xXO7b1`p%E5*XHIG)+SihL`;{! z9Dc-Wz3uylOIhQ9P_?Y(FE>?-nZGAx9Df{6W$D?gO_$&lurB{w5r!c@MHrcY3GZ>WLE=V9OF14F0;yhX5kVs-XE}XdV{&tbVTK#1&nfwTZ6#kn76kYT=kGoAr?C6C z(S@M<*XgmS`8#;3KCxVy#r(S|Y5#QFc` z$(@5P*WqKX`*-@01;aq9@cQhn)SP7II%@G>v#QRQR+dIsm_lJt)y%oI_{6I zG*NS=YFuI~1xwO$??=wjEo@rzs0F$IFryo&J-~Fh;%2Y6e(d59>`$NoUHQp?PR)9X z>I*tVP8SW*E@dJ21n%tRb^&AJ65Mm#Hge5SOg^R+1m*qG&>|A>0F+$Cq6l3h$SgWbIPpHBc zjqkRX#y)KPc8G_@$48C-enhPCfizy!F@Ha6;%sLC_=u7ADIsYqFiq|>qwTag-b%GKF#*1(M526Z6Xi>FpsQKg60`l7 zEDElaZ)7Mtf_ihPy74qEw0ql^j7E84q-C5ZqAX9$J5|9z7^fn!L%~2;_$#JY<_14q znHyFV3d)sv!9X@;$ZU>Jra>cL+sZS=)U%q6t8x{E&?{`EavxOX zs$W3nuqh}JPwAf0^)mrkx7%$RL-i4=6v-@Dv1{-dpvOq4XoJXUF}`AlRn*S)U!?lhV^u7}Yf|!FMFX94!Z^LiFpcW#tTN5Z`~BBI%hoYX+Wa z5Ou%Erk*pX@%D(CqXOpIwvQ^q>}qC9_nu2N>PL1pk5ZGjsE<-}Y6khYfV4`TWQ14H z>GVLPVv@M?*fQ(~clUj#^11o`ul8N{6(ZYw>Y3^KiTFThEVU0YP=rzKt3vX1SV?C0 z1`Z%S<79m)lPS+^2y|asA3+zc2o5jlnYXC#qjzR$a?Cb8^AhEBj^|{QvvwydBP^z8 zKCYZUQ^u_q0hZGF1IRG`^>%SYhj{cLGlod}sHA8tXdb2k)fH|Fm9QU$! zuDxQP(!k$0;CSIEs`<|LO=7>7sgJmA5A$REuG+P;yYj{F?orxBXaUP**B37_*8B*H zL^Cy+8EG{zCUM1K*t84LGSc`OlzEuC4cb7 z^Ol!Em=^l2NGiE+yeiCqK$zQeUF^VcgOJ%+vpGaV$RaYEx?CGDV{&+)l7+r*3ajd| zv=|Fkv4?;bOna#2=86lhTxloz4TDuURp1ixAmNjY`o9+mPuo70(?m{ObYiax-Pn<9 zGlz}nFr>9b&uFbRj%dWzIw^BRpgjmUacr|bHFr4ut1sCbW;rOgG(RlkU9udmS5J_J z`e6-~^@E94bFX&y9K(C(jx+u2!~^9?3c7HfVi*QT&QqCi0AB}LrjnW3%a+R}&UxzZ zOgPzNqZ3JHD$J@wOUhw9S%AG`c&IKfyWs?_q$@Ngyu8dh)ao<#0pKyMP|KA)VIQFsJT}#VEdQ)rm-giD7Z> z4qCk1LsVTWMu;c=n+$(2|H9rjpAy+`i?~&6W@MN0CbsK-Uj5p@0i*=AD>xb`;GgcD66|uclKnRl465=7K(cHMVn1*h^ zr4YQpns9s$Z(l9c3OO3sK_oM}g(jR{-m;y8t%Ygl-1^bfHLj0ehrX^JSl6kq`;X|! z^mRBL74&s&jHo8BhN1%I18yU=o%78D-??nS0c?~rA6MrdlJQb9^D!|%Seis%!HRm{ zv0@5OexldejnwfVCWyF~h0jo=K|S~7qkyHo<%^kylorQL_Dd1Fn{d94a?`UL&r?yi zE0hN%tdJ>x8|`usAD`IBDo~!k4gboX&(7RSSWJs>jN*OFW>Dljqo~k$p8wm#^D#rhvgMC@E zh0|hpi5=hvz|)O&!Y|#lTO+G-uQziXmX%nSmb&qEOlG%_$WPrD$_d$Nv-w`1`q$x% zMSaOOEHHy|D-jh>{d)D zVlg16Nc>7}AUYEBn58&gurMf{91F`c;Am0TVPM$S=wud^i;EC50qTiI=c&&3Vn02_ zROc3+hX@kzymn@*cK}B&?@LY&)-tt=hJ#khHfM*Ri4lb z!Wzu4aC|SHc=9O0b|6QmI#RB+b@W2^EBH_Aj8&mytMeBc--XEFy_g6Rl647U`=xwp zVtY`w%s%c~H%$tbRbC!Fm`QJr^*Z!53!`T8dg+g}&DA>pwyR zr-$*6;^F`zqSk`9;JM()%-~`;8f$Qs<&lY7!O=f?yOv!PI65uF(Pr|h2*JuHZXD)t zl+4cSd2`r`3f5z`1YzZsb@N!Bmv~h@z*;E1f7wZWCn&eBl=JmQqrHe+ zNsYl8OAwY|*jOq~9g13ICqDrEjncDM% z{A{;EFE1o7nR$@I8G3m=i4fw9ZjX$5`9{2#^GM8Q1l83R9i7By{uXppw(a?{L+=s2 zEb$)y&uZqzVt)=z>y7k<%e|?VJ6|teL{vbdHgWA_7cz0!MC~XYr9~|EIZP&ezZ>JN zNL;1(u1Ar$ZsV1=>o%eOd6tZQ+yTsEdMr{NHINf9Pjp9OqTalZo%%V;D_=p}J%4LK z9%HiEzvAwsVPA6W7kUdMs+^cya;;L_1B2CWabxj>te9seNUcKJG%S*h$xrLe9r557m}Gb$VtyUD`-N$UM^_jN!2w& z;NBb6b#wt-Su+*awU2>&Zcvwgy;M+F4}p6nbqU;QTN=3Sl9^Ivw=1RK0Z|hht6oPK zZS@$#INA;a*VZ@itY7aV220p|N8t9Q30pnO6KA1HOlI;XMklh;D>^wpnR(cDT>-nR zH<5_tM0HFc5wJV09q#(n@Vo3JzVmk`EQ@ywJ#fgqh*kq=-TgW7bJ1fA+A#q_^y}>w zK)auyy@hBERdrW%DuA{Ut_u96O-aj#11h8bU~VDr3oRqqT%t9Q>mK+f9a{q%U`-3| zq?53whEgqsHm2&-I0e)S_Lj|7!UlLA6_w4tOXy)26NIxvaMG7eG%lf|0x65+*{VpA z6xH^zM5H7HiI&meMA92W* zjX3SvS~#UiBI-vNcQY=Xv5>NOJFEBJpdo_&9r4)a%ph3MBRj)zUAHF6Qxkzst8LBB zY{cqFVAWEdI!g~-y=OLe+Q3IZibJl8YnM8f_ZHVqTftL*5(S%z#~;pf@o0C};A*sY zS3ag4wh>KUwO5c|SvQC1c2HeF44<*=i5O%S=X4Ta(+FZeLv%VKlYH5Xe>nN}=58Ve zn=u;0&4fYS#MF#0=F6TXENLq=fN?uCAm*yi6_>+CCl<+|D*qQ5l65&$!+)`Xege~p zW!fbULM%s417K^lD`UcbWL0H8vE-0o_=#{#18CA9f@3*0|3e~phDaS&6XCidzHYt< zqM~5%cca?|@$D*Y!W+2SU~SEg401sB&UK__w{X~zTqXli?Oshs6~wrrvbFCNUYG)t zPfq5OnjLvKNe^4|P^pJaCDYx~)yZ_1boLhjhY3gf@HP;R;ww|Qb2ITSyE#YY{w~&0 z2qSsbw(t%{zGsXLkb9#zi?M;>gl;uixPjR`XQ~K)i8p044ZX1+jopSU3;%@=JoWch zX&_HKF+Q-JDrz}JY1;Te$0`xRB7-dmXXz5_<^%6l7V&|jIXeGC5^xt8GTi?YKCmrl zpf<3J04z z_Ao*BH|JZ#nb}Xjz^Ixh!*j`MwgD`?G|Z)F{(vRxz`j@2%zylc0E=}YDkTT8oMa*z^ssbjum@4r&L zVra@xu`*wXp?QU+k3yULR^ZAbJ=7!0jm6MB?G`~NSDy7S7V;Hlp6)yeW3(vsaU#N0VgCC=NV-#=vEj$3X?q-DaTVDS7Pl_OVu{1zeiVtZO2zZA`4Zvs z@j@MP1`J2RG<-RsYapLED1PV^bm0K&LVQF<3&1}d5ebFw2;!6bcSqcXw+Jve?bi1+tKTUCYp_ z?X9`_Z7T=3(5io-IY$=DU=sc~TPGQ3dGj@kKi=x5XfyD1nnlWh^$v@FHbB$vTl=hJ6Z>pE(@z``ox^YyHwST(tB4z!V_wJ*smFyKICn~u`l)P5S4PD9Wc&^U* z$U>Zvps6%1y}WM`z0Cc%GWW9dM!64JKPQ21#&wqT@X`;rR*Y#<)6IBqr(oh1YRC8T zAWjLRFCMrFwP>-F%Py*~z)O?W6b1zKjaZ>wzwzQgck7%gP4RD`pT!I^iffJ_aPR>v z5xekkkRG<>p^qN0*<0mZQUbHd&2QQwJ#(}U0Y2vwclxjeW!&ilDg()BMRLxtiFTl< zf<6UF#(p+{m#4g5Bb<_aH}g7>29zS&ebgF=D-rdMYjcpF8`p z=!$mG)9RHEs!uxh7FRyF7vN1s{pvCrzg{*OX7%KUvmf$(&o(_F({)EJ*V{}BUF3`r zXUIy=yhu2`9*EO3FV$lmkKVx>GrBIKZG$^L{$HGMw2Zncg2pDTnIs)fhEU855SX5M z6>$9D&{%vtAQaLp(=g^8C|G(3mO!->7cFIXxYeh2(`E41-m!A0w1_i!!c0sZ9%vY83d_3nhN=|M7IaW*PEDVt3%sX0sz6197(%w8(0F?0XKH7tYv(PiF*PGk z;lkNQX#I2$rtT7*onb~FDglU#Qz|Qar_~(rxOhP+H5|}RWV^9M?JQ%eM>$_A=c9Oz zubc((oMp<{YH{HhHlJ7|?uZEh=CeO+ASuVJLT)O21ys)z%DhII5E%c6LaFr3wyX-i zUDB0L^;9>?Q)luWw=$R;S-5!pRViC4kNbwzcw2c-o(MXf(xjXDmzqXuBRv+8+b@)D zrb=7&q8sGJdeyk47O5dDw$s&c##7xrguT#-%X5lev>6jWW!eX^W}Mlj>0))|)eBKG z>BeoTF*-(OF$_+U7y4_FDnkzF^pWvmZk@~sBX6r0v4YNi?OqBtU7DUf4+awG2>hkgR1^c|FZf4NwM>uG zGcV+epc8XI%S09y16*h8_ArtMe*+qc)!|g~$!wSRV{Jb~O#rm6%KUjBYqZW6i|uLJ zF4I=(1SX5LF1f^E>2_i1AtWX5^n^%}m4#Wh3!>sx`zUR}X1?p`+%Nyi0D3(s7qBZU zZpW6o_rY19Y#Gw$gjuo=5GJ)8)$Hs-kyPg1HsR!>){7CjCML&(Mf0=TXfWWf8|rm3 zb1&pW#kQmsavxQ0oedlVJ6kFA{A|2eX*c6W6j`C4hy3AECNjhhq2SidmblCpa1*!m z4VzfIO(Y-{Kcf_0JRCd`rrLz|ir7SGT)Pt@fI;$-#^4fJ95Dd(%^Q%8=r zsZ6O>@zk}=08OBWU_%Z;rX{OAt+4yUG~$!~s?y#x9U8>pu~W?=AjRg-q#gfUbt>$K zlQqQTH7$Z#sB@y~#Lk6H19D&~@2c}p4(F#T_r4@taDpIg0g7k}b8(bjEyL50uf=&& z6BJ4cK&yNdwx(H38vEwUnyzlwj{G-h2adkK4q9>N^TIEhHHiU1PproAOf32^Vp=ON z*8yJLtf6$u#jUyL&%z^YU2$uE(+Zb+gSa(v%ZtiH9N@qL%bauAsnRaksoa1s@i#W$pagGbQ zDFNlQyP{%&B1_CsWQme@%e40VigPo1)L_50oRlf?y(M30n^xov8AxMHUkxPRCg#)j z?3D3h12Z5+!)!D2yf_y$Hd;v?_An}Z5CvI|s`nLu(ec0O#{Yg$FA|ji&0_4G+$IRj zpj}hc->E8Dr;@p;df~o*T)Cskb;;+HJRwTHpyXk$_HXufwXff5?XRfhj?ss^ig9;~ zlE3Qh2CkmFf_i4IUB75?bO87&xrlo&fV&9LwR-V9FN$(^S33`r>%QJZ$$z-7T~24^ z)JFvdDtWnT$tSi50NJZmKn_+(UBE%f@Ah(C@7QX|QkC2#-sl3sT1t*PEs2KULFKn0 z-&+V0qwE7!fxjZ`#AZrTO>+LGsJDc>mbX^g6VaYV1MvPHyVA&=D%uhvBX| znf)gX`w#PvFT{o^s}mxl)xHs#JuDd8Q_4AE$u*H_?7RsBU&H&DFoinQ!>A6wQ=E{8 z2@lVH2Ywo>sTMr=4_fMsAoX`r5q9d-@^ytAR1fLKHOjn{%tC`wXGaY>+Uc!^4ljI~ zZoEz3?H|v%Upal^IiD+Mt9Z`O%IO%-*+Dh0B6f&Fmj6CWuETMfVQJV zdiE*?#MkWt|2>{U2d$bGPvND0jD0pG`f!S9$0U#IX_^d~q2yrrHOXw{wXqFDxtj{MJTV2^alB(FH9va}pw$X_ z`Lau{1qzNqI&u&%!GeQD7UE>4yS$Hed=XRO(tYc86vkma70Q<_$_Yk-g}H-K6gLJ@ zx$Wu{E(jQ1qnE2uLED>mw${hZ4k9f|H4zEQOP1oRLv%5fBt`*tY|bhnlOShs{+u1` z#LV!7ogKG-N_Q_W&WHIflmoC*TI}`VeBJe}p?Q}E=az+oYTeH6Ex1~o0_4j+o7id} zKW;G&i^*xFXAO>CP|TDkN~~jhqN%CQpMvuq_pR?}i3`zK;J3%;`0mwCGho%DPjvhG#Yg}oCSoIEca~VhjNX8p%#7Cud49*jshP`LMmBsc_7OB5De#YSf%Hn5yhiy$Eenvk`2by*-D6hG+D~PZ4 z`fi+BwuqncnbEx>TGU`NdSBWUX_!%p`X}_>!iM&Uv-%_Q- zgI&~giK1K}m~HGIt3qa_znX!OWDgTKsi?~3-mtLBKT}#nTvR322S}exxTxmv2yeSs z@sMkkCvFA@$?QAYMddku4rkOGWDL%qTQs2>oG8v%oxn#lVRE(2r$z5-K5-5W>uH9Z z!MWwt<{Rz!q=@9ker`f=YokfZBN{?JVx;R1#k@0CYqbw9&UIljx#)Bs0kC!2 z-`}9d%>JIeYGi*uSsN6FD6qH>M!gUrqrYAU;WKjeTJkw5Laz!MzMc%l4Z%mIr)H5ptc|%ufPy(l|$F_Bj zyP^R4JPaU4|9}%9y4=8E|3tuocWrs%vmlgzB18PsoZn<$$te z8geV04>oT8wT3EVjUpjOVcd6$c90{q-x#>^#7&mCL3NiWe(q)X+g(+ZOc%pY=!`cl zT?n1=h^3o{&iI#dW1%xXyT~R1y}06ibanUey0A+%8>nD$bVQxq6?kGhQhzJb>3=() zi1T^&$MCP%yB7C3i?Xp7(2Gba3{lxy$Ztl+^AToV>#3fUwI8pMT;d(2qnm(&h0<(y z?GPL99z)T2eZsgKdDKbBQn3quE>TW>>N_1D)|VW^5exA)J`|s+w>!}+-o}NJsZO1) zcpE0aNt$6cPkeq)9jW|DI;tmrTHmQEvrq3OhFL=qt#ZV0&1F^IPpYMS_j+&_Dw)sV zBgyZ?gRfPtDVfi)gVR2v`7uBKwYpjF6e3in8&9J*F@Z(h{F>+hOvLl-`^Zi{)Fs~x zfCZ2GXYG=~#ICsbI9>9C9DP}bY$3ED^xpSu9ySMI-ZGku$yC_~`MS_}y73Hvi9Qa( zbePq(GAkx9OYLEzUyY#v9lymuOubN})>}aOYTr1dogAcB?i51Wt|g@V0cmrT_#;3^ zBuDftg19<=b|_IGO-f3#87GkVhlbo0wh~zGL(Ay6x)1s-JTDtK{ z)w;fFJwf9#%QCN0=6Ab*)bf%?cGRr?o1A&Dr?SM~^(LQq6;moZzQ5kmh2#5kEZzM0 zew1=!$M?TqAS`^%6u$#awSO|Ny^mHDQ^a=QH{E!Pz!|Cc(}B_T{1uI#>-k(8%6QKo ziH5}_3VNvYw61GOSqJa?fa3wI~h-n1dABt8ic22-X=`;J`qL-fPE z%+^wc*Y`V0s=^%8(0`eKPyh$1LGY7tl#zpjEmAFn%!_wWjV|~J^2Bm)<*Oov=UZ$j zVv?oArRcJ1O89vlY{B;~ zwohZYTxvu9jNvj=jTn#TzMt(vTt2~>eRb}0V_M$IWz4L@0MJ`QJ8_P8zPj*T)UG;$ zjUdf-?{CefemSpbBtx#-2PRbDy8nS97?CHp4O{;cty7mf#2ZWNvA+2)Vz4PXH6f}C z0Km;c8g)@jjBTaO`M`E~uc+dHRKqAHQ^-qZzY&SMC?+x4=Xl#J#ATl_#z49b8Ax6U zKX|KNj!7pcVDt_=ij!Z#4YrxpZH0tDD#@G$kRdr%=TDO~V&oKUj62HsFQ0hcjyqGc z&IMdV#z8qdj!0(9?RDxQy_PG`BBh-pzxGj1vSGSd#F8aF#qX}NPZ;&`#KV?h=03=O zBx(mUw~8W`>}%$}L@Xf$48ot=^&$MRG`k>aimea}T%u5(7Pw>&9u&CbSjNc6Y8jTh zMzSUaqW0IiSsb`T>jaTY2Io#Ca!D*?3HGZBS#sEGF}yyc>Ksb*%)bIk?ds`Bt>TOp zlNs|zZid|K=D_IhVE6#2Kj>sQ$Uz{9ZZAcE)SjQ7eHBwTJ*!-T)lsq`jVVk*>GN#* z+H^r{Z+@2ucM1%vScHSXO@zCeZWcti%tVrO)vQN~%@hiw9k#g&ja4A=h9t(P4Ne?( z{=s1|i(;DVf+-v{HxgwGT%zh6M{~*Sp_ZQ-qI?nCf0TB_)_^oQ+&FZ^PHfPhqKJX- zR7=lT4GxADR+`R|ZYeBXq_hD;W~5YB&FW^`<6)D$YF?*j zXBZ54+{AlAqTte3IoEZ0#m3ATw#$07Kr!=Gv<1by=5h@+0inH17M7_~s`IJsZCO15 zMF~^>cW<>HfOfTNZoXenW**R&Vb}<`f&0F=g2-aQr7KG(om%d>Oomeg-Q2tcFY+c`gnq#C5@Os4O zEb{j^>#s=Pkjq*q3C-tXu2!A9cdUjm#~mBFshZ}=%(b0`!^B$6q0z-#+fQ@N^9L#-r6`JAI(>c{wt79V7pu0Y`V>^qb780naDv zbvYQGbzd1q*Nfa~s_LF+-}-S)H`_e$tyz~vW{K7L(G8jj>@U8PriGB)ZCQiAlLJh6 z>}wn>U$!q@d6w3YJ5KmbY8Z4v8fOW&&Dje>7cHk|J;43iTVNa0pT$sXA5ti%A7PQ~ z7GTfYZmARD+&la{ZB}4H6K4Eq%#{P5x=V&cnTyGspB+Qltdr`ndYkyHp1r&8)-kOb z60A>B(C@H=03JLkz4m=s$w?(A&hW9`J<3oRCO_l>OnzNiH>cFsXWlhmh0^6-AyC*) z>X8!>1BYk^Bpo1E#{ki@w;)Qn3XWi#70f*x87&$ln1$ui*Ezbo0>PVVbn~XUw&wU{VXE zkpfIh(O7Hs1s&UkZJwSpP zPI=;PJ#5RvwR$KOUf=tCeOtL!f&P|cGeAD5iIGCGghm4 z#=h|$n->g1fb?u0SksN)pU=A3N&FQCC7nW?@n)|qlr68n9-bI<%>fkjROsu`Dnj!;Gzc308-5J)e>fc9E~KfDG3&IP8AUr+pQ zQZjo5OO3xT|G4M0IGMt9xOgw)lZS+4}45hi7?4dvf>k4nO|8MbR zv?S}qrs#;ab^HgiM#SEOEoQp0CzwE5aK889ut%5HN5jsLi!d4T=A++U{Jy44u<*Fv z+M52_H6LJ-F-C~mgCmGel68J~xS=$M8BM!}ydwK??ek3w;+{g^*3PCx?E7^PeXHaw z09pngUB|?zPu+`IHN4|P7%(mo`N=vP_qMvzZgHsQXd|*dOJ+ao1l@ecKhdy1Qx5?n zoq_Rzf0U^zUxgJGqzQBpgunZ--$FWL0-lQy5_kQm%DrYsYu`8HiG%V_YCSJ5`l=Q6 zDHY}#_hGZzGi|1IDZeY#ReE3CvY=@jBr zrc5zTIbkI;%ShSu!R%l_?k>rkgLd?N>(oRoc1zpHu z2*#H*9|Hev)(9{EVJQ21+$|Fv5-ieVk!Ja2a-3QUw(_jhQ{MK3RF^D2omVq@OUU{w zmRD$F?;64M4g5AXqk6tzt2p#n<(gKx>S7*qsYCRmo!?Yy7))@;lK0(=%|2_=LaMiY zQc(Zo7Mt92WuU;4A>H8IugUC5eBX3#QT$t7P6iJb|1rmPlV3qm5dZcssC5C$Kgf!8 zUva!(OFeUpep9S;R4l=|4A*6xzr;42>JEY;NARgsOS=gv;7q$AfLM5zKZZcm4^R6 z7vbY@12=J+c(x&9DF^fJs1YR@DA|#^{blk_?k(g5`?Bo8g8X#Dkb2}FuRERd-79Pi zQo9#79jfxLhm{wG;yoL^#5Wzorq7O=cBApYJ7KrdvreU{rY;VR=~-uzazNVuNp67r zw)hdxIJW@Qd;xhrY5zgj&7)jfQqY}EM74v3H?F6(t~s2B^8sjIoq#O3b*L zA6740iJ(UZPcnOgeSB~S{|I|XU9DQmQ?KI{lgw^vM;4)H&S6TKXU^QGSlKTFZ{7>w z7%5_cJ0m&;QV3@9a6J|g(?R4EWB?JAX%mLs%nC~ln$g=+B;EKAAPta%qQ+mWbA|H6 zZ-OY(ixS>B>RxDpvFoPlm#&L``ct}FHUD{-J<&v=u#QD7rW>bGvA+@JXC(D>3&q_~ zxbvj+tSt*I&!GX%uD|rpz@~Xd6))U`^7}CMGlmw@8yhVY{C8eq$$-Aif9HIhp^}+r z$?>}&2k9JDj>vaC2Kq`_f!O6(#*NBQl%pAKtzsRZ(e~2-sE$r}Mh{^MM@Uwt$#4Vz z5&l)?6K~OsaozFL{BM^Eg-HqX{iTVIU-mqZcm9iuo8^x6LJpgrbs)|ABiMj@Yu?nr zA_kzQ+nx<}H~DorUz<8&i)*xccVTKh5ta)yic+5FV&{VR7H(S6Y?=>_B)*oV8q~$e zQ3b|(wPw*NIUgC%W+xn69sIl zP=pzrr@~M}(@9^2aK~c8#EzSg?aNCpXs=-$W2MW=PNHs99N%(G?G6bWtPXac%_SA| ztl^5S&0dxY+yt1&`0^2oog%%Em7gX=aM-OlsvH2aqGE!u(mVMr#zR;?oLbDicp!pO zbPE-17ihRm`aATw)n7%yij4|`Ln(Om zau}K^wRGA*B@ZWri;m$Z<*8xH$jTouirwQ9MLI0B%>^CSc6{RKm6NK)-rWxilW3k= z2t$D;?e`50U4h2>Ry7skm0FXTJ6+B+VGgt!p(Qi_a=8u4^|~9Gnh6~xCNym%{qG^A zQq2>v_t!Gx}UxR_4vE2)jR zZVJzzoP|ne#SOKwnI*xYM!=~|f=WZkQkrUHM;XCa0Dc>0HB&Ed%0u?t>Q}(dD>5qw z=awcjzmw;0rY<@yI0rdpUDnt9NX=VMLv*hAPCLrn3;)D0N^1*$ zX|pZ-a7()_yj`VhabRUi9pATqHN@rt?5yrlxYuC&$mzLI_Z1CL_C&$bLfID$Rd$%Y zcSk=}#bq513>`%nsNKrQrE5Wm576b97GtqYn{W2vr|_Z!qXVPR><@C!l2V`+UNIh_ zQGEC83tnHi6t*+*<8TO}EBg(r9hI;C3jv zoPbuvT)+n2osdX=PBCW1TbN)!8FXYM4chq$49Io(3@IMC$Gz+>Ntb30{HZakCE{0V zEYbsuElo*iV4V)Cw!Ha4MiY*F@xBF3)lP2uYy1W3it9tyzim;TlnUXR@|yvkCB%-y zun(X#P#)H7U|6j=PQ%e&sIM{bFJ=Xy2cN>STo1PSgC0ELW+vT5!cs*aa*kb^iUz<(IvEHQrD4=))VlkAv6A%o(dSw&sIv4?AAvA8gyYv3!KG`{3M9$?SVbluf62o4zCwryvhxSCC(TJ>A&NfjPo$ z5H>R~Qzfl8ay=_z*hn&4Lrp+PH(tc^#cfXxHfsRw)vjAWUa*3pgQb;1tNj)NqM-7Z znm|5=^AyxiIxW6Jf^cz&cy~0!3MP!bOjE{$g7RN#b&!;i?>d29jrZ|0@ad{%ecX}O zn@aim=U)v_Nd_ANU%IiE_1-`^&h0SXDiry8eyj_#ccG}SNWtEd8j@%~!1Wd(rL3pN zB1$1N4a@%gXLI`Quxkpt01Toj$}-+Up$|&o>w#+12H#S19hx@4dAekh-zM5oBga*_|)h+3MoL*4s`nw>{ryFlI z#QRH0%m9`^aat#8s0?Z{XP_#F$;*b zDEepHw8^;xwAhvI$5TTxd*{3EOd{~Sy@{l4kG#{Sxl<(B%>;7tv^B@xUoqNdU;C!&4+AL;A!VB_uRYZ}vArOpunK0+drj59P4)0@JA#fcl#b6A z-`sBZ5oX82=G`8?VCcM;c2tckg|*JUuomtP<$b(X-p5^!HXxrY+F#!n?XOQFC~Re@ zuV|-{o!#HiI)bo1a@#Jb+WIZ5$gT39rA6;(YzB)c-Dp1)92sHQNYQ$f&ixG0ayS?w znlh#&kF81ZGETs*PhImPG*DkM1ODk|Z(F!~W$a*)&4~9~R~Ij7g7M~-r-_?FKqmH9 zF@qT!^PN$kq`m2UAcnElK;Nce%$&~?azi+uGUG_26W<0z*7W0{yB>P+u)ZF8NJ~EC zd1y5EVpGrb>@y5~j_5tUWUwge<6lF(BsBE)#;KH9&BIffAio0oo2Vm7oV)lR@}?HI zrwrGUA4sVoD%Vvg+^pD`tgDc1ovZTKOfnqy=Q;({9HTl_=2#T$)XC)9|M{7t$z9r8 zUjj{8Z*U@_uJ{lezwBH1 zMf;oMm+ei6m3{doa$n|ld+#hO>$Jej-y!#BxQaJ4mRs>Yxo4q?O3yx9V5w+Y5xvsW095k(l7d_BfBnLhJtT6!j*}Dd1)Y6nFk-q z`3H*)JMlL4iUu_9v#={U1?LxuFLD|7CSA@Q8}e_~jzN3*^(dEaJQW=Ja~KQ7x7Ypk zBYgIey5eC_8%w8;P9K#XmL7U!<(11Mr?bG0_(?N}9-6cDKlr~)CKP*h8@}0quU}bYEc)SW#z#ZEfm8x=+G?(dlfKThW_pVvZbM(2F>w$y zaXU^vI9A@UmJ||Xueublj^27qV&#g#O^5cTS zr&W2o5x&8O@>Mbh=g*LR1n$&<7l8>BC~Xth*|$2rLlBc*Zlk~1LJTFMd241-L5ZMM zxFi=arPM*$lggbH`7si%>}b_Oyn26~rHLE&W<_Tuf2O7q%@4LVp+0UwGku)ax`C#T zb5GVA#Z*^M=G(ca&48FbuGqvh82AaZ&e41Vh!2>QAgYvPWLi2_YJ_~^9O)eLsqXvn zV>5z%8yc7$k0;+ep&u9Og+3G%C)#MT`;XlGzqa9Fzh&D&g(6^yXTbQ{zQPbNR2P71 z(^ixxI^j{3%*>!jXsl{J@gL$EgLxy_9DwXgqLu(f#karjgEIpT4Wpk1@@uO!UE=rB zHox}$0^>1U`+hbLcJ2GsGc+g_5C|~#$6e}~_=r$l&E_|=fonsfi@21+FA8SMC z$IAMS(%Sr3$1^9X$WiAnyV}?kS>c2PV}ht?C3~4V<~AMv7(Enc00W!^%#U*tJ|Wm3$_CA$QiTEM0JC{be7$Z|=_evvOnZtX=k%Do}x? zrr*KdYB{e90#FO04!l`IdjWrIpcAK+eF%H1WcC6XGRm#B*d2mRqPaudIlz&KLs|B4 zsBA|28WxPR_6*%rhsj2;$W8S?<y)y-WFabi+*J33%U8y(g}+Wq(yZFm*c86l zZy^Ia@soiPUfc7rx9PLN(Qmfz0pfr*BbYsSEc;)vNoP(T3m!s0yH}nOePB+K*tncF zokC`Sn$LCLM?cy;eZqI%f`3y|RCF!1SrlD4U_zeLY}R~kb?cIGW)8dp%V?Qr!&k(7 zlIC*d{Op*ROTFuFHJ06StvHJ+}NG~K_ zDmd?fX-Q?{gs`nmL6PVtA0InTzKt_-=VV5oC*AmG+wQMgQeXBj!a7{Su)Z5_&Xf< zb4=)OW$Uy;f`>FM`|MCBT)a{u-ECu-I}eti#TJYluT$83>bF1f!}>^66;@DTIhno6 z3a4~$6{-e4?!m|ISauqVtbmPqu#56PCv3i2@(de)u0L}SU zy$0&}$}Kl(YeykhhL?KlKW=Xttfqc?lTSQ-q`_Pjz?{r(Pd;ns!7~d`%}SJYio<|1au{&!sL8Ooz6YyUGkW?g1RV%e7`Nkv&M+JrO_#L zGA7T%AM>>!ZdilY19n(w8O@yL1;?}i5Ur<~Qza1ve9H6>HqvLi+(2*-Pe(6sxo(}! zJAeaU2DeFriE|!rt3xtVY3(GgJi^e}u8bcOjmBAi>U`yEz&Gg$1a839_w@cMA2D9T z*+M?C0VfXmE#ZK_;`-5GxM+3~AAneCj-Mq<@n%V8`l=lrD3+HzX&H|QpXDW`Bx=u* zl00A4sqVA-D}R~LrcImLV@)NI8;qcI8iG1Cd`tTLNMZ04;j}*0Nw5BVL`%HjwSNv5|5og3U=S zJ6Qsn6X@u5F~w!CFTC`xvS*M~7?aVWmH3#z-+CjRJ#CJv#MSx8JL`t{BuHi-DrIcW zlE^d)ao(nHq0fC-^kaSA?$MynM;LDzONT=rKWr*QhdS+Y9gfCwU|2R1NK>bODdwEg z2Zif<9VK(;xs@;S=VQ!J9O)9@-T0D5;+Obdx0xGPuYof*<7VqHrG?LhAZXm4>>i_s zqUj4-}Mqc{GrqXzLDecFD{n$2yKd#RAW}jEH44vsi_zAV3@5)ZyvnBI5omX)djILf& zGMPEkee@4l2{p+cfB3+_GEUbWd!b5E>UE<0#h>6m3+xr=8xn? z5I)Kl*~PAQamnSwhXjXMm{>3b-sLZ9OSZWzEDAgTa zgb@nXAF+bXS=!$HEIjpdM4dF>!#)$H&x_rk67iki23j`$YvxMx>NL*`)4V1vB z{;g>`eQRZo*)1fWpzcU!ehMx7TEpG{J7$|Zap4ZZ0ouq;oa;H4hz>lNrclReIs8#t zzyU*O?aBB*GvhNgL`U`k=v)N6WKlLk`G`lhgHfjD-s)3G+Jv9dui#*~EY%FXi zmsuJV5BN+B#PZZBI3LyQ>EBC-E1mJ-wBWneN|#aEVaEwf=D%et+cVZik+kIOS-K-F z{VwO4U{xr5(pzmZ*SzyGw(v3m9PKhn&F$#4@)V}87)NhwFyNFiu?hLx1gt5xmT9s! zle2C8@;>~hK+1Mt(F`Pnf zv)@W)w%$niY==I3vv650NKk>R;pARwt{_Wg`&;uP{($*J0@hT4iZ1mHo6Mup2Cy?| z{1Do#8?U)Iot$VDd&f{!)@yeyM`$IAZ};42i*OHTw6zJzaPha!m6z;Ky~*q^>XH+a zSzr)mHde{jO_=f}8}Usz~HoKhTi{&eHA*-hNPwCDeIdyDA@KyR2Acn+0QAFZoETN|4vSZ(v1yz zyj6!|!Hy^o_;E*#BU(u0-3G%(M~f$FlwLyX;$6=UQ9WnKSvM3k#5p2Qnyh zD4(k7EjVpY-cR*qmzctd`Hg+`s*fs@)o)hTt!bOQ=4a)jAkSP2T&7T-U%6^YWgP(< zk`=3EW9)f%#=w76v7BGt5iWk9XhS&{9HS>f)Q1-cDumu%+yp3V6Nrj^= zt@Yy)RDQ|q17_MBGsOGGsx4w%02XZXD)^=u6`y1k5Vqx+D}wF9x~MohHnVwkzO@r{ zI>xUGn?XkFPKPQtT36}|BAl2!A|@6?RfD|<39#7&$ehKO0V5FBA`~9M7@;8MYQ+N@ z+?dSIUIyLX6^fr%JK~yHnFG-L29m-Nec36+>5wlZr{mbDQETgr;+Ee)`Q} zX>8i5m|sS?NBYZo)#X=oO4g@L&^fI1FZta#h#F1!MK+gWfLL9y2{|+zFf+^;@M+Dk z>H#ZiPUDzjlwt5;rnQ|}h$-Aj0s*n#N)5WMXoiz~T>BS)We3<_4@bM z-Q3o59cB*Z0EF8L17%J!+unG9F&2LfoEb!a|922AfIkGa0Bpd%=#BY@@V`VUV@c() zFZa+h`_UYb{ zng5WUFw2%GxRP6c>TOxdPwopCwcD8MH8?4_UfYYXH0vOD*K3x}7vOhHqoXtY&T*=Nci$aQx~@ z&e4+DHXNf=<~zXVpkSDC1v6%T!1ORW=B?k3f6NAkQb06wnj_e;jyFstM71Y5e{0BQp33s4k^D4B3vBdppJD!I9Qi( zoUhj=0MJ^Ikr}PlK>D(#OUn&516&D}1OlVs3JPeptI`~5Ef*%&vTP&(HmjsQ)%RtP zTwk&&>zPF{kgzWvuIE+X9mOhFswLLg;yaQZvS0l~_Luw<<}osXr4|!bIJC`a>wiV7 zPU>on=uGZ!<%KzRG;cFdM-@}VI(C+=#p$Rs4z;Y&4f_8II=oag64f zILo?bO@7+Knzeg`xfj=(-NtrsUH@#&zR8J^r5_zG(6mE1ywzqskyfnPQBkw))$HeX z$5TZ^Ab#FuEp1}GElF77&`qcy-*pZ;jLHEtTW;w>vu#^#wyR3Tn*Dx@u(vl{O0!53 z&bGtODV*i!N1PwEOJ+YphLV_3P{n*A(JW8|IX|tfLWWE>8((cR((=$P<6k&sqjf4Q z(L*IRRf!^;Y+3`7ptCzMF1FQNX@Ytc-%;Be*>8|@CrP4wgH?< z`COnw7cPI5qR&9k8)tKW%9l9ja_F5%GlqSp$KS_U|KuMAZJT*=<6r{U48Ua$<p&Bsy+pGnChF~q<=}8cW z5X7Z;0*GUz=Ggm92~%DJ&5bWfx3|9p!~#0ff3d~wPS3Cn9-KSzHar=Xm>G;F{+tJd zzllDt6)bUV{>MCQP#TW7XrfjK$SFLIYU>)M_#RD|mPeaVCB5QJRyu#ovnsp;_j~vI z37~3KxM^>*&XArBGQEmSfKw)snVXPV(Ss-)lks9KwP#Ux*iw5~+KNTkZ^V;DZHSS= zz33*|Anpt0n*`wKGYU%hbuv?55Jw}-M1xIDUgc7tUdEAzm4H=TGFf~ zJCPU}m6xk=8Yh}KSO(gngDGsiUyCO8miMRq@joK(8n;mnpCfK#G$F&Y48)ryXxxZh z$ka3<8xa$mF=%C$vf-^z-0cQ7QDlt5$peFo5q!)-#$cuZ8JrfoZyl!s7Dr;H8&--u zZqb37?z(GeD48$arG)*lGr3uI!;PVPDH*$(Ka{YpsDcvq{4KyB@iIk+lJ}&DF93EZ zq1VxBdXX@*QurP8Z{4x(MYm$x+ZJl&o`k9dM@j(IBqAUc8&|l>j}i37R*9o_D6BHo zTTbV2@R*CGCLKJsR0B$X@ThNzOhk!@^4=zb4kjqG_;e_r9^uoD#Qzi65+g#%NnWNo zl0tj(I7E8Seo8vn6LGjxjTVN9ml9t{7TEzQ-cp!!nO3a)-d#c5!})YLngQzjA(u!a z)&v23rZ2t~90QC=(^`u)4T^OR_xUIk*PL}taQ`1HBC(z_Cm~%Hnh|aU7&J$JFm3Xl z$19M38Y?V`J^Ugi^(jn60!jUnZz8F8T>}0b2=mOn2kf9+nV>dOwST23rm)&S7b)su zyBp{xfAZJezg+pV44*R>5gQeZ>5wXp>`qR|b8fB%*2n^-BASV{c(oeISjqPZ+&cJ$ zoSSQyGuuUl|Cw`B+W8CT=AxU~p6SD5T0%|bL@j3` zhHoXznK<`f)6_I14%P@9^5ofQq5}xvy^U{fQ;=S%(3&>0QehW9X6c3oNKq=>W2nGi zcN&hjL!uL3zyQzONh+!)m`H~3{MT-v~_fD4U?6FJr*#j3av?<$;%K+YQXx_aT0BJ8{ z6cD9S4?bp5sjc786w^!ox?7oEHpJ)5%V@oBjN1u-Sx$1AWtGb;W|kq{7kHQXU1vR+ z_nF=YG`f_BbV`cm){sWCal30E>8toAG@5Y%Xw)XV<_}Q=z2^(iw1)bs^4=wg)c{93 zcq2-f4qna2tPY;$gg&VrQl*iN#rRaAn_CxPf28kygaNgx5~>TyeOL(aNRcn z0ED9I1Jn-3H8vW1RmkL4qiOB`1HifI|DAly>i_jVL1euF%8 z&-{)jMYVS!93}2Pej_D3hOJ!GjgMK4v_XnO{U3v5{<`yy+Jq4Z!vTeQ57g)VEc6*W z!R>0$8Y)GtFocGVE+vZs0$;eh+=!0iPWwbDKXRgvNUw_im+;B5WTKn>3_n2O6}FN{ zk9kD@b#mS=(p6q6^reZsoXZ!qIRq6G=@+9;L3-L7f=@i!!ti5zodZVQ8H*m7KSpJZ z&t;Hrx&cv%#LBnNwEXPzu;96LoJlOLvJVsDH7qY4`A0C&8&h||``M=MEWF#%NPG~6 zYL_C8V`en%h)Kx7L^8P-iK~&~oeNi?e=-oBo|#;^MTmns z*rQ+IFiSLXFH*ecbF%IGTaaz8WNU#GZ(BI)LyB*9zB~))<6s|;1ZH5!C_OL&v7x9|Xoe!zm-SFm(f;2KPcE^24DF(YOkW1Gd+J>fB5PKH)E0aPv zzf{G@{n5lA>4mtRE85EzkUgv$u24ZRa2f~%h!AQ={Lp{1nB5pHI~o37OOv%Fv-!k^ z(M7~H-OrS4QkEQvC98k3IulLwgZeZQ+6Rx`>tZMu-2ZR@7k|t?hHSbz`{0uj>{!~) z$NI0w@%0q|?rt|843!fV0I(0kUaY@f?J7vzijG_|soXQXm{EYZV7!XG|0W~&^bD5B z1?$?k!NQFHC-Gm=P5?_y;Temla|KSkhj`UH7w`JbI~|WWEjIz@#fZ{5oNbNd(~Mf+wB!R9!7^_|0a)?VXEX(~_YfY)XYG=_ z)ETnr2Q0U$Std%UNEg#cDI2LGq$i+}_0cAMnyilwi98Ff=AMXe-b0@OwPCx{yAdfs ztKNT&nsu**0|t$dRep+CB?+yWI=oC(wM zTKKS{iK!f*Q_T)RJV{xFm?-bTD#YD1rcChsAoAWN%oSRNxS%15gT71M?al;sNAR;D zciF#?aI(}oP6O|}!k9A)7;~oRtET~j(-a{nu&vp|-D!k3u?yTa;1uqv)e{5;*$6b+ zaUu6Ly#q@Ddzc%5Rb@^bzThc0V4jTIEs(SOa)fe_w;_C6V1{!YG39@70@3?HIK|$# zL8zAs)LjMY#u$eKqkA(4Z!x;b-vC+ZbH_U%!$OeZ|MSuKxfu|e>Y}@$_mV5r+xA&p z24h5$pD30>b$^(GW5>D6-qOK135ntHAB;}&J=K4j4Jhx9rF@s_O#UkfGsa2{CEr+x zW_Fe)dfNd^#^AnuGh-CQ2I?LOhD96QNo(S%+cp?mYPmpK7~8NB|Mg~XvW&xEoYV7Uh@d+ZzC zq&&F~hL#B!`x@i7>K~1PP`gdRGv49&7t+0U8WeTrg@?UTtAQ{FM0$MQPsGukpj&+2 zCO(pcZtJV5FS)bB(2=|4ZD9ES#^w%xH=@;{@p%oP{Gf&YPh+d%Kr%qzFpN)LkKaL>Pr{IAEfD>I~2(kW&~BxX7R6!t@AMe^|13N2pCdb~7){XBLhJD@8Z>i~k+4MVtl2U2YZ z9Oz;1ark!4N}_iMvbmRr$~}g0$D`lLJuQ^_GR7NkPp)#6N~$UeXJ;&f>WI&=F*A~b zVPANYLTT49t(z>I7u_}!@RbyO0<9HwPLqT1)(3Sn-$d2EaVoC;(*5D;Rs*P<4T}2J zsZG>rjE23Y*{xs4mKMXa71$t|ZzT=#5=wKK_H=gIcTBqFxUY);cv!AiUIvWd?Z#2?(jXqp-HD5`}_fDiA1oH z+^NVDaA`tyRBT(8jJ$>gN_RNA_*BDW|Ae@uoHcRs=6<&NRAi>EVm8`DQDF@7iX*6G zTTfv+2Es(oBk|7tp2;aAQOs{XC9#tBf1F&CVwsYnhIpwMh=&o6;Q{fHA`)*Bv68TL z)!xvJ&8;cDox5504cwpFyYKoI6@BgH-0R@`KVu{H%1T&*TTTwgM~a_RUwovM(+b5$ z`e86_zr`ZSzQuseIOPPF^Q^4MNdAC>;7H&80p?8kcZbfa1VAM7?I@XdMysN|o^6;0 z&XAK@Sz(fzdRL-Qki(p6>3DXyiB;|?wuzgh3Ai)+VBil9FHeUJ4O1o*FiGvE%20M| zl9WUy0UtOM!NXNi=S~zg0h72j7{>^ZkQ*>5Ek+PymYgPKLjjXMIl-9FIy1;Y9PjQh z4a-^CyD#JV61^oU0r?_Kf_&6!*rbX0fHLAQa8Iouu^rhSYmV$T3&e-<%=Ns9p4aV; z;3zz=Tm1W@V6m@cK7tE(7}K1F(vT(+1ZyU?K5+9KL%8{eO|U}_=XSx!h84z*O%O+P z9hI55VM%i&tP7+Bn0QcEBftB}%ErGWz4dKOCn9$T@>ylyR>lr6Ay zH4BAxtA+ZY;lvO+ZQ_>!v~s zj$?_O8={j#Z7`)6jzd5o7W73BWxXDnfi}3Qs0qY!!;5XB&fVR~FIRVH;oXKO38!@M zWh4@IQBnvxA5XBCGYkNZ7aKYXTZh6bE!%<;*>M2WP)=bpxkOgl3(|}_m5o;(R}ceP zCN`KVw7=WusjN%6K~o&RQ}V6Hl~GvF?DC_M4;KNB0Ijk0lE_NMmh&?w5Nm~syieCa zSUl`EQqW)0mR>)KT(a_rh#rqy!aXikX)%HqT42aJrUmAtYoTb%!z5xes#KjxzaO)5Lj z!8|JGgQ0I}8XBN&Xmp`$;>5gQH*!c+=y=u-fI^0-Yb8ClFVjiDR>Wrzo?|PHWjWMa z7NXuvOTCYz9;1H@3=@1ru=z?kStQWlYsKkItz-7j;Yv_OeZKy15l_6 z4*xwLlnKZ}MpA7`fx1H~H)zA{oN{ae8`;fxYyGNeR4C(ga-q8wfJ4!$$F?FN0|pFw z;S&?nJ`k(;YXJo@SEdgj#e&vf(AI@E(L}}8sL&21X5B2B7^A6z7zdJd`vY*7Ata35CS5r70VS^(1W~{8u*N` z-Hszf(ZuDFAA>_l(HW8;p|DGe7UA4a)VZx8Ys(fm1Z9@gtT-N1e+7JhDse|xi7UYa zMnFaa!`Nrs1SOHJ(YhUz6Bok7hQfZEKqP({2q3TyCNG^XAVfuL)}uYfeA`XlgP3nW zozL&NG2hlPH5Bu$&G&4KG2iB42axCCb8zS%Cyw$4We3Z=7*zbQZyEwWSMO}QIR^{* z(M;~cUIMESoatR)l`p&kR`DLk;AtbC#G>Z}ix0T8n*U`DS=hOd%9H}rz}R%=3{NmckM_Qg#C%zTFmQ|2?9m(uNSQ~a<}6C4(Stq`l*5@zhh?4t zEf|PKOaTo+7K}%AJ>t*e^ec`( zod~CwHxU1VZHd5K6%bT8q3%wj2GL|?wHh09h5V5++`I*2BmONIOf1ATk{;{DbRsuJ z4Z|ThC366X4o#wC*5nJop~&eAO}zGLYAiC^;i9AJv0ybE%`U^q-)53@AM&eeMa)_E z=(FULsz(7PRXmC#e5%=^I(}N>c0(34RQ0@Yi{UQ~h2n0)o*mSzGI^nl7QV?BP0)`R zCaXP!o0uve>^g<&y=Y>FrV6!j$}Ej-x0`?nU+J%M-#i;2vC})qSe6?L`l`HeG?f>6 z>(SrL4;WN(#&@r@F`zRhZHV_Qkj`n;9rk+;tj?x!WT*Zs=fU8RLTZ z9^C|_EVT%8+o;95yMzH`nL8*Fm1@R9zx1*CMM;izq&&5lCDkO{>^=m-aBFC!!}JaO zX?Fq`8zVHSE=_|u8n}zkBuEnb-i&cz)D+>wsl-2t2U4DDM}4sRnBMOfiU)#kxOROv zBN!O$0_RM!dVq`}Swr4X*-4V8P-U3bL2xKWz-{`luf->QNAU7C3?GKCGKWy%i8Hg` ze;Lg#m`JjZAfg)I(crBZDc&2%VZ(7S_C#tvmB|FU+1a?Gy|v*Va(_Izpu1R$vv zi{94}tfHMiiQy2ipPfChvz3Q3wl1*i8jKilT`pq)_o}(RF#~ zaq%^To;qgEMo;;jM9<~YJK0aI=vgb()`OlFD3gPpt`T%+=e{K!fxqStb9&le?*T%p&`t9 zAGWW(u4wIdm7KJX?J#YJ9(6}pg_}a0x_hH}InV13TJ*iYl}pWmf06kuF5?2VyrF=I>si&G)VLnkN~Y>pAK$d2MCiT%6+ z=z6J3N8+&B z6(Xt?@y6-o3p4SZ!vR<(XtW|4o+h7^&7UF|sp6@$d9Vg+SmwJ^)r#PLRpA92X?M10 zrNHYGDK!~jlp1O07WQdxjzb_cGz2Hq_wquv2TVa_bOk~JWNhmnH3@xZ|6&l++w1T%)e zx0@CCEwEQZ`YR|c^i>otBG@m(-fZlUxndZ1$S~wxO&iE?HO7eQLD(ZxEiE-{nRG*vg8M0uB_&zx7MYhpPV`+V{>Z^tw!vMjsVQ97!2+3XmRWu%1;_-x8!L6G zx{M}n8c)4L>QCc(^i9p?8fc;L9*~Bf znBvJ2ma{LOyj8GR;;H`9iI{Ma$2oS}2(|IVfxl_9GEf*F6j_9y^^ zd8w|?Wn+B=b}9WI!g`_b5Qbao;jDUPnP|@!QI3lRQtMM1)v+CJ5J{d1MJ7>Jnu1^4 zwXGOsWsBEZ=GB&>hI`Ef%Xu}l2h@(wJ})c`K6=mbIjQ5QOirybE&Du6nZ`~AC{(7m zi=mP=wK)jNHBh8x*hu*KFalYkmc*{R3DcQQURMSI*Xay6D=P=jIYpfvnIRnC?pCQU z%a92ibX`!!H}-&J*v>BrdJy04fdhRDM$n%(a|z53_HRvicnlePX&DfWBC}qdY;TIc z3gK=ynD96aWNf#XdO80-p7K<0m>8U|d{}tC0%fps3sDB}&8-PfSNgE}z(eP7 zcB-7Z-1z1yaQz+JC|J)4X@npU6-;{E11KFXZt^8S&aojLQX4}3wwXEBf|$w@J|<)W z^Ei&}M4dMQXUMk-FP|iYiKgCs+IciUN1>QcH;4@AcD)qQd1k8F5zDc&cx+#xAQ(l( zDvyGJ|A`dbNjju8fIt-;!j1`Aq6YwYQ8qHCiFrSZ)n(^2Srb_T`fip%>KBYAYSdc0 zn2Woq*wM@IBi7oFk{e}ymXqc#TSaY9lDm+~!Axt+o{4LSuQ!80-xaR)_ z!;?@a)ok5IpxEn2_!KKFbEMd03^uA$wg|#>s0y2;GEAvS+It`yEd`H&!koROe<$M`_r;Dc{t1`7$rW;?pEg~TFHk}!Kmm6$=*&=b>vNHz4Y`4gRjm@ z)*VSZyX)!%3=R!xdH`DHHyAuJ2TRpZ`yi4P(oL3S%u+*yBiBSKtICeD!)MQ65@kN1 z530P33ub8rLfvh(rLskE=VNY`E!1t;?hxSIlzp|L6v%G4k|dOI4HLYQ9^glPGeQ0W zHsdCmy|FTw>u}bdPd=0wjy%pa|a~hAdc0bA*gD$4gMKSI%p5*FC zd<<2^KHsREs~aVPHknbiBM5#Lgt;8Aj-sRj=0L7SN;ECE|t6*J+3b5aw09T?-8~A(w%{AnM+L+R98bWrfN9Q zyXV}mbE$(UR5F*+ETJIcSN2DB!7^y#nxmOj0v!2ssap>qJu$J;V3dhHn=+3-oJA9z zm=N+2lbBtZR?_-{>&P5$5P*`_=g3Q~z8oVjPxB?Y(!H&mld6}!Spq67wiFDylGvhg zEIvp|#P*h#n>(OHs@a!I0XQSmT`liHEVEYo^1H?|+oSuIbL9Tbvfd{#w8#MF4V|tj zdW*g1>6+>LV?)4VY=jLR=s8;2^RV`gZ4x}q6iuwt#)nJeIB@#8ya$JR7Ih99-%}b- zP-_BGY5%F5_N(8t?RR1OyJGvTMJ!H-xR-Y(;)x85M38CcIb`tW8b+VY>Z5I&anj3 z;aCzZ23$kfxfrk=473(Bj2RF7@7U855qyrjW0p8SadaZb_**oS)iM%=%xVfZW}iYQ zJ*NQf$nzigdRoVgw|fx-#n-=27Hk}kW+V@^aT}wOthv;(}FUZ z(mg_>3Oioe$2(VY=h#7hiORRa)^rZi_EV%ew4@6oZ5VQdkaiXeWFxIDG7 zkaoQ!)PuCuWAc!8oa9HJQ_bc>ZMnZ3{69e4$MBX}{{CykEs)&*Bg8pUG}4rg*i@|M z75s>m@{**-wqd%2N2RTXO^rlbma)>FhD{EGE=S=Iu2)E1fteE8=10*GmPi$MevK97 zt?`sux~X~IPv{n?FrADHze>~?Hcsa*Uaph)r&-j~$v<`2{wQWyK3Ke*BSmO;>9G@-PD67(-<5Wv<#Eq1XE!;t8-rXzJ50X- z(KS+uZ$s3-M_9>={o^uJFLc`gUQ|$3DRUJw%?Y7kvXY&0Lg%pEH~)xejdVJr&t z8qGP&p&fvtYL3~_#54GyS+*+SWCh=FhcF(;)yQyQX5oEPGi5`4%D8c4hEiw-W2P=9 zn>4}!Vs~MeX2FzD#}V^=0hTT3DXwUaQGHA0&R}3#)8ex=S#%=Pi^fk%%ncY$mvsbc z^{wDUW_uduIXh=c6Kg6F8oiNR>tr`q!smn$mkw&{5JwiUcjyQzwuRN}qqYkGv^_81 zh5}oBD^-Y`n0d26$VzBKZ2@J=Wx^%%niM6c#YRwJBHPR zRq_Vi^5k&emj$G#A@wICGxDfmR3HyO_`ICgl0W7ZcHvrIMs@6zkw8Lq(XU6zd?7WF zBJRc_AX@coflroT;JMJ4)ozd5bm9=LUX$oVh~Nq*V(@a88pF?J!Ll|0z3J znijjMq^PYldyzC-G+vtR(MFm*Oq#_sslB`h)1=k~oBb`P*-QLpi`Z-pLNtV$eN0-~ zR-4^XUJ}~ul11z-nytub_D#?|zqiLRSE#p}YHe@tYKvxvuaIV;=AjQ~x25>3*j(g#bqS zi>NZh`*^{7X&U3-#uqi?0YOIkzH#{ly#_mq*FYo3{Ei&nE5ry-e?!h!Ga>PwUUE+x z1k=%|bI}hdcOm|9*{7uSB=i`oz1Rt<_5nwE961aYb|kqJ8&axzz*<8jMVgi>Gx@$! z8A1G+Q_X0@^11e~HWl(5nkATe@|7CH&e%eBsa7|d55ZC`d>@$FrgV;7Fs4$yGJ~5U za2Vekj(^~jm0}f0Js!+^bkvbPD69N>5xL`B@(=D?ke7CynWMk6FMe2cqxB z3^m{jO+;v5ZDz;NeKVcFsdjD?8=kdIEG_dN=PZQg$kmRh!Z{u3po$yf_0NGcB&|l0 z_dcH8#s`BVWq*e8Hsg$dzdvKd2!KDNEID8pf|!lSAE0338+F2YNI``{d2Av3?r}LR zZ*5Ah4NX$41_=>pi7EjA`MfY#jxGR(5m=4eHvU={06g8eR%nyVnu^u}R%&P>>YVjS zc)z}P5?+z+mE+ek>Wxjos6VcRL9wiuDAW157~7n>+Bh=9{uau}Z3R)r540>=>UPEK z%j;F`W#LLE&<2gb*-t|29L`jn4GZC{e$Et}ac!v(&c3ebDR2QdIXfxyW@CnJz3o0G zZ`SvjNd6YWZ;{-7S0MRKjCHp7wa{kcNACxh+;;PkZT#q74d8vyc%d5^>Y_UK2>ln> zuht)HP1TVFz4q-?PA?qQBAY>vdeB5bAs>|5FFUbJB&hF>HjxXqmB=*J)20znSkE-1rURVs49 zY;uf*ByT`yldT)_hcbFLYu~#E-xlEBEwt;shkxa%vrxzIv}}312zjuKh8Z@_xzRK& zH^;mwa*TIy!MUuIJGNw{ZI%076HcKeY=kn>4xu1Q<;h>Ik;hO2&a`D2_gJDM?kDfwhf#=An+7F=pY@TNkPWWa3Ibkz6Vc!FgX7rVY zkH}p5kEm<9=P^?4F{#r#w2+V$95E-s1nZx=umjJ2K}>KRANA2N)CJ7bOV z;p<4u%>4UA)+i9(IhZ+=rCK+7iqz8kN=A}OoI*!t&0?ykuHoX;jh(|EPD~gu$Pn8d z-j#{q*tyEF*GVy-TkNeezxPmXVZbeec%$ikuI-Il>rQu@>`w@|^V~+Na0at`vnXb_ z??CLfK1mvhH7nfKbes_;XKHY-FQJ?Q&V20*_KG^H-*Ie*SC~xL4^M%P(uOln{C(#1 zzS*5%4FE@KfH_`g@}Ve2Eh2%=Jp^A#NTs@zvHA>9{yH9t64TSvZ4_C zSUeGx)}7+6V12>n5a%K!XMQ5IyM@OSdYSu zY!4?yKr;ql3~2T(kFN;LMjXR-NVA!Ht=Mjlj&<33JW{c!=qHl(!!~yXEYLFOkLp9CiBQ z+nnLZS=YwxELlp^Lj6Jfa4tVY=2YSbRm!r}E}Z7alW$jIXQFsy>JG(Q-N9JAz7##f zey6!OWD|9oWOeXZzk@Rxql0Io@_4PoY6A;o^cM7@z;c!NprDojg7p{WnK6M=$T;Y{C-KXFPy5qj)*K&Wn$qXAb|&8V$4q_BJV6}seglRzh{ z#*zhrUG0&hft`qVMQY-hj&y*VsJxc}6ZT+#H1W3hj_lgKZ@$=&T;SD zi>(NM2jLT(7x6LkEusBXy4QN9z!keIryc)bK1SAPV(eZ)b5ZB00A6&gFAv3tihf!4 zbx=ib&t4ee(8e?0piQgT02Zady9&cY<~ss&JdwDTPo;PYP4l5WjDN7x?<7ao>W)xx zPo#r!A7$Z=+l%94I-gtOIbK_QH6CAn4Yl9F5xOfDmlTT3{bsaRQ1-%y%sb&E%~sdc zWM7{5EeMvxED|=&`y5ep!?%wO+>Cc~``AlR5m;qLiuV&HrQ!ImJO0XSdWpz=l5I1y z_5T2Hzsb&gK=9T}7lC|W{SoRLUKzN`&9ue9v=QF~j9>uqjTN%1ca%UDxi}~{9_1{N zGQXg_Dc}_YbD3?gM4|3@!mRmS7AlFgB4kcm*|BQl_nyEv8Gv@&8v1!TpmUpm`YKIp z$YVPAe96Zw3+NrDK$@PRG(E9Wr745NB@P{kZ2>@cxIX#Wdx>7&g#_4WM5h)R^`mBQ zC)vGw=o*&t2OvQ+bYJex7SSwfEFCF2;UsqCEr|$kJFE3_j!BT)e7Wlr_|rTV%`_k3VesgxxAN~LS~ znAN!pnS##EX6G8Ca|+a{s0L~((O;_P$GY}zJMEY3d2-J1zi5fmP{P;(7&O=oZhLZe zmkx^QOHql!wedwCuGM_Zg6k8e04^Tsc1M1uNPiiLDz7}Syo4=cPmQ|Iy}mC& z&8A}W9t_-C#|gkx&$pz3P*u-&%qMkXck+koc`_<3PyXm0-I@td%?Vj*i=8D!eAR6I zSv&6)=t?6|$3TZVgHVmPKZ?4WQIU6U7O1ZSRPTX>mSxVvYrK|N{a*5Es&Ck`(T_@i&Gf=7!2)06R3-%O4zYO7KpIS!vrmA1vp*ir;zLI~9LtA2Xz|>& zhulN32gZ%-g)N6p@ZLr-xs2dIWUJ>gg59Kj20Ph9o^;he&t^%Zr{wiNwP^m_t!84r z1j}+G#NH`Sw#A~&0AN?wkn1;l))?L^u=hfS%^uLyUJC!h>sbM2ok#wl#F^pNx00pk z1Na2Yr7Y$qqPKXz)xJA;cPn=XRrO9DP+J$5u;euiR@+}JE)`zfqM>{GOd(QYo$upMp61|rU~AOjViY)!pmv~} zzU3;{e;<^k1U<+-8BvR;LMin2laz`7UedQ(L-R%|1GX4 zxZSlrw$Rn>Kr>hl0cSh|QwKXGhEa(8>puR;gaQODwDXprbmv6L&>*~xlq8TAl@`X6 z^E5m%IbTd!li@b{gSzCKcD_}5Q1&W9;1bn!(Opj&E9xk0~<0cdll?HOT%jvRerO)jvbQ ztRk3-iyp#H*`Wh9u z?yexOIqh9}G|;-W6bNa_RkXemja!AaHlN?&~-Ga!+H$umKVUSVV$npxE_n8yVPfn%{t(Y?K*IjXpWU&$FkwMOPj4KD>hlF8@s?QvM4kPR zH(ql%fj9xpp%_{mA}z+wlP2=eQ?qM;9wTb~lix?3>58b`k0xNG(R~LJE+XoSo$+KG z1)&}WrQ2daMVhExQEd7JFg` z6%p52XPup<$epQUdrv**mqWAdrP=~~Q;F9Ru$Uu9>QF@-igo!1#)2b98MbDKp_}#@x?+x=8JlKnPk!kx z#5@#h>*lm~))8$i#sPG1IR0fe6C)4ICKQn+eWfS#yMG#mUicl~w7fS~b4(3#%tek+ z7c*Os8D91x>>@I4n!_S8;fzW7qZ@l4iKdSI#EME{G5kcGl^?KqtG%0ih&R#R2dszo z-V8Z#4+MFY-P%KW8g^^W$1HY>AVm*1Edaxj@%Za5c?)}ZYB~WjP9*omN{+Xj>gZc` z!D@xgND0cuYxYKV?+@Ij6R#=8WAMq_!Yg(j1ceo%mjj6A=0P;ghv-EE5r5rcfhcYu znv4p)Ymn0&6ozO@R#_ZiCqx$tL<4+?Senk8k71G6)09_wF46ALa7B3FH-#OIcq{##%m!l;EhJ(~QM+ zLx+1^5x*^{IK;b!y6@thLWpml1yH=^-|VLIhF=&U3PkskE{cuO51#%kTC0;WWVDLz=mDC?!2aad6 zALg)~GaL2BYtHmZK|Fe2B3rnck?hU$NQ~Ev%Fg+MB#!3yNq9szFG2q-raKFYi0Sig zCESAP`7_yktd>92fENpje{|ck8$fSoc$juk5Y-)YJu<{=u4WqtvW?`AXr{5CG1gM* z&BNv^I0R{jTlQbvDBGbPfbv!!fy&isD-9{#mE?1NlUQ?hV_sVd2%S{<;Z*z>6!*?X(~R2CE-2%kvI+H79i-5;CvBQQ*C_ij0081$-a} zknPbkWxp{rSC#!n@-b@=_!m-COTDBp&*iUs{}K)Y6Hpu5ZV2$bo>CT@a8-Od2&^Bl zP)X!)dD%X~t{L$;Q`Rnw_zaSlu@ijp849fg+1U(#tal|C%sma5GTXovYL_ObLj9Ro zpJ91_9VrU+A_FylU3W1hN6w4HYo;0C`=Wa99;wZW%vJ(U@nd4}>Df_*woLUosSH}AsQ6F{&2s5^=%{}$DIXRZEIwO_X^1ku#DMi+w%sljAk1~; zHxw7;*?P{+WHU73l7p4z#9;x>pNx@~4Z0_7%Z5uQhfv4j^RT*AkIW&wurwz%=;ApX z!zw#pHp-U2aZ-&rpPes%3PnkzUkRD~U^;M1B1g%~zWUNxURv`7z+Q^#0bSKKKqXFn zn!`2Tj`*B;7i!QfE3A1Od|x{Z>x>0K3b8~iz$;G;TiH?UW2Ed3WH|M>HPsdydRIC zGQ+uEf7~f5@!tWJh#}TLXlvaDgAVQ6~cd!LUof)QL@F zItg6WOZ(9P{fO5rrncw+vH^mx@QmDLFqFJ43c&=(A0e2;F_PQwVS9Lok~|zm_1i!T z-S`D9%2F-3Yt{~qsp5}PXs!2;6-Ubvv69Fpv>tVCl2P`^CP3CTyOoXK)DRafq+*8x z!`F>z!4uF3yp@XWL5xd`0cv#YQSVrXbL_EZxyfL(;P@G`2HnT3VkH`^*c%Tk_|OIq zFY}?9+Z6pLa}5J5RLoQVj>^2*c~I+y{lR>l*ZCd)H%1B3iD*x z4A?x)2+HCxHisR;QOD^v3pvfji&kLMg&vmhhCUVmp2lth?;sd9?n5MXY2pSrcNt>U z^S%*v_Yk$?#&40~q6WmeZv21nCh8u}U{4OEJ_>lf)zC$hx8f{V^R={BSeSccS3L#ZQfN9yX=WFIxCd=^Fv5|o!xVqLWlCmP`tK_S;7fzjP#xb%H7LDCC{6Il0E8>It-~^ z$!c_Ui~HIifR3Z{z1Ta!xYi6SpIq#gNlDz*j!5)4WAG#C-?syf#PKMCcNX5=maJwV z#vV7yr`7B56ya01_2i{Uoc=$Vyq&u@o~oPO-GZ)K_r2e@wu9Tn&|*f}c^}R~`IiY! z&LqOgptX3-C8502kvCp5Hk5KVQs6o)Vw)vJgTek$=lI{4X5BpF_$F?iGBW(zQt7x* z6@#VH@ko)O*TOXj$w1VDfLajMSrCP@$(RHIQF{u+KvZc1AS(HD)^f;Icm*a7rk_qQ zF|?Cl;@0Nsv^IS2F8FP0qpE0N#%rciRjrpHP>e%&CR;c5q4POv4Q#7;%?##Vgxv9( zxp)jd*%8HBU7W&mrs^$~`C-w@?t-m-@Dp_={~E^Dt9%n|wW5^0gC^rOHEifKX=ni- zb)i03V7e7NXIG9g-Kf0ABE@UOx=JE(Hluq&k}K7=Yoy)Mc~KYc-l21QiXCTgnJyDXeMi3+m_BH}G52kyIsUu4wH%SUt z8gXn*!9E`3veq+Y=Q>h~kYljL@Q4e{p_IJ!0=6F0RhsBHbO%sZ*CL!UnJHMhS%_bF zGA4K%=WN-sKHB8SCg()=j~oN#1}3@;aA43K!=GsBrn2a2+c_q#Kmk{Ib<}DuXhS=gB@he35MEFtMUVQo$jxl$CK7IWbo;vWU)jN1<#iu1W zoZ&X%)8G&B)QC^tLT8yN)ll(-g{M^gkP;lJ1JdU59%pyroQ*JW%aZ-8h|f;Q6tC^c z`DPdJj{D?h;#*bdLyrQ`bx?runjsX`42pXLAlqStP9%3e4I=*Kec(ex$Rb@2Aac=2 z={w-GUSJ5BidfTSN$CXhZdRO2)B5g=uvt@)r*1|aaEkFV@QL>z4%ZNXjmyBRE09NK zo6hR9D4sooGL^^&qHY+2ABllA;A{?It%oz62gSA_ zfRm^*8f6eGlL!COLeB~$$aO`m?geK&0EVhBKaNk^J3@jS?FuX&E!cE{f z5@@|za`^VEB|LG!Fk_bpti$Q_63*3|z^_CqQe=wk4%j40Yy#*2EHYQ!4%zpAhwfAS zy$iVND=|`2yid_SNuMr&--bL|+8sx2U*#=|;=W6>X2^rys%ZQf<7y}kAfGdfpOaH2 z;|C!jAs9Hse6s)(xnvSJFctfJG=3lzxJr673Pqhmkqg2xgr6xK^Z2g9!C6iV&{HNj z#>0X@QKFrZi#LHIZbj*YB~Cf2dTnbIlHCwseH;_Q3;2QwiaU>xQZUGk>(mKO!=s%Pv&wd3HvdG&s@)Y(F;H@FUs8a{rPcK28Ib3D=NlMbgxvjrF%;-RP7eT$Yz#{UB zIy5vz94=xr6-&c@apd?e-gT>FYnfi`4v@$?$R|9 z3EJ_}ZzbIxY)45q*^(}e9d(mII_TcvAB5;OQ0g=uun>KOCxDx@;3o7T4R!<+Lbw)% z2=|B*uDPs9$3|2F79rf%O1N#APQqPIWLj@Ys(9P0k)A`i{g5S0xVJ3f4iG{Zzj+8a zVIlX<9|UR2m{&>G$mBa%eeB~33(iH79;;$H!TFi*3J&GJ&vp6W%tjUg2NVGJydX6g z)P99u2=rlG1L_AI&3-40-(T-ANDv)pi92zbMBKzXY82WfuLH1`GW-hr->7NZ=% z4Nam6am(95f{s_w*4Gh7zQY#U$CaK?-ueSvH$b{S3&)AEj@FQf}QQC-&V>l~HMoZP{e?FH>m+0elj&_srjw;EL#7ahC|_#)SowOeBgJWku>jJ!_ihjEs4e`S7Yvnz-@O!Ad=U(`I3R6QDes{f0 z25Ly=>q{{`8i>yv80^@cGw?b$0-Vro-=hg#ww~F8Gzxb-|6=KA0EY(G6b9hrC|-9ags=O^6q;~71T#-Lkg-z1@Qq|gcOvavs{bE!{Et} z%aSL_2vbBb>sM3rvE#<){AEPDT`ma8jFq!AnLj+fq#NL`JXJXXw%_|0`$M+hV+5H3 zTnUXNZi+r3+b^16QHgD^0sCRLyvrQO?QrowKL2xKX#xrcLmBfEI2AzWTJaR<@q|(G zT!=ZFjQvX*6=7F{MSyc7288(hg>3zW%gC&9^|y3y8OFv?_g?$nbZ^#~1Zy<ZSxsgPDq}mRTNB14;|J+%pwZV zeRvHy)*)+KTQzFtFD4#(8yx2i*{l5ly59fI^MiW-x11!T*|xu6IS;*nnN6|Y+2)o6W% z=@$S)5_Xmb&AJN%a> zHsHd}J~F*AoDX9ml(lkMphQHGp~Row;C&_;s}W~q6(e{|^)grr$6v|OgSU5Azaewv z{A1!WQ(lGfUZNStg2AJ%d;B?#hB*;#R_{*y3(j_+t;##=CI>?iTCBXqw;z5L5=Mq` zH7FIk?gIRX{m@&qKx_chiK*B5&Y?9W6EE<78c-)MWwC5C;wt1+u2(btJ!?jcl`88o zMKzH437!l?X=>`k=aOGd0hvCQwQ$FMD;ZSdy(SroXK>t3HT(S%{9yI=JY+%fs;5<* zgJJaKk=0KsTeYJ5!J(jnjuk#heaq}o*07{BjUP0i79y_m<(p9k7@4qa6gvb%e@Jyl z*$ehyI2+0J8dO{zsBU}hX5}c1*4K!~Z~k5Q%^9`5pC2Ry=1h*A(_ zFUt7D()_)p0*o`!m+UwLc`8IKa*C3G#446{bcB&RBvi3eUGpBhaDOXfUYX=pNk|DX z{p>mS*o6y56HTOC@vac#0!TU@UqeV5$jlZ-U7~#)t5{Lzec7%iTXD40CrGvRAn9_H z$w5*|Dgctcd+{G3>CIuJjv0nS98FXz0-zR`ekGby3GK3kHJ*$p>|zy+It9eAvdYiY z2Ih%F^t!IBqI~7zo}A9o(n+o3NOMl zJorKk(5X?F&u!%KmM%mm0UpJ&c{;u&d~1juC>Mdrwm*2En|P;4UfBz#V<{DI$4@cn z`U-fJ`|g*f=3WBTXvnN@`1eLj!RS#+1#AXn+zL(C9p?#wrrl*X=;6-Z)7%nf^spVj zgG_6hk$G>CZDYc`s$SO$DYKY2P{(sn#%Es5Un&(q9e1t$N9uU2w4(%%CdM@csFu=@ z@@OK3l)lNDX>ji#F;VoFqXVci&S6RLe+eJ5nf?*(f_GRQq{&J7KY^KYr&!Hg!B@I z+HKf5;|uX0?m29qNV*us^IQlOSY_afi^#FM4=T6!1~IFdwogWtZBV5zy??m7+A0r` z?qo@?-W2Rl+f{nUVvyd)<_)CsK!of*i%jf!hFbL?aA0bxFgE6!kaHw>ob$}N?OLf6kfC(P2wqT6 zJoy$vZt%sQMwlAyd>;Y0@Y!pDf0$0nhOG_XV>-!yL7_BSAl(%>=Pc21cJ7f4qulTm zl(eAcPmSRkQDSYW*k1d5Ce#B`g=8=iP3j1w%A)4|vSY7!_w((X`4s3xtSi?uXD+@# z=gd)OI0^>yW^b_W{KG;4S&yZjcN6trF7{>PVd+OIy%w%>*AM}@3oWqRyh`Mf`7)1MM`W{~pF;-9_z z@m%bU^3K7(XVlZMaT8es|E%lb2KY!l2mf;K$63GO#jT=F?Zsgu+BxoM`ayfp58CZ? z%y$tZt!Mt78|kb5U? z=WYglp1DG7vg#B|ro>#3X)i<&53xyGY4$&Kxt0`-mu3$VHfVO3Gz&KAB<}&6oL{in z2Fw*|_7cC@A~t)9?AN0iEwjMKq@|cPyQ92RX|qd)vbShG>;(P28SHzHl&JQq2ZPvq19c@*W`hwW0i;i{yitE7aTT{ATxL zv;Dc1E%_F7Z;npPb1Vk_Ps4|Ko=3}Ul%u@jW;$l(CV6F5xmL#pM1Ym*qGy(G4bykS zT>N0Xxf>!XF$EDsNAKO`;OTyk>*g?&R1FrD$#5$YWG7vVLfl%p4Gzj+$b--bqS<1`ru~fZ6&o*&zrc zb^VzX&nZW(k08_zLko^bn7>a3l}}q`wV2{l?YM_HTeoBe)4Pytf&{ zn$8>;Eo3w@nY)87#s^Lz2)8P?OM{bkSIWR$yzg1y3q1=1`knn8IKrNc$vHQ`HI2v4 zBGYpx-yu@m9#-(W$g45jZKIW`x?8P6G$;HjZ}u9{8mOHi7KM<~+g8ebsZpp0Zo^yMrdD#oO!_tVpx=%*+@r>uMkd`Kvd(kbCBZA!y`;c*C%5is(9N;BP%f&A;wiU57bHBw$`hG4;k3qq%F-~n)>-V_{r{t=aR4S->!=;f||f8IWQW)|ulmEd1Awi;qsua$L-0`)s=niu1Hh_P$p*E)Ye}Ixb#DPB<7sF9y$Z>J1t@4L~Bv+Q>B4@vW&Vs+P`7HC4#CYZg`wbrDv?_nyCxNdx zgC}#YkfU*l)KibcVgSnII4t5)0UV8s9v3`92kMj{Z@)pd!{QKWC*QODHysu|-z3RR zSUKyk_@x0H7A*qTqR#)a)_+=Zize28;J<)z0nX%JS^FgZijvc4_4@CE3*8z^a z2hNMqaX14YCQY6Yi0<`SbovP-Ua`b&<*}W>mm%!(DL%_Es3cs8SGOy6zWVIQ3@HD_ zAVE9ADY>oiIpoJUxuLO7Ff+R;>Ni+`3d)U%a<(z{9sVhj54$U#Ey98?2LgRlN~jNdahLTsvw zqEMTu*&J`@u7Kg;9)B~?ls!$OLFFFZQb+Mig(LH)X+vKTDOB^c{0z>bOd!;;P;-_w zqKO8oEX?4&J>UFk+Sj<(5eelb9nZjNq-f%9w1t<`<>h95Ib2?@v zrbtX?t1vK@N`)>aTvkHu2v14|AU0xzX%dMCM@Ap%gl5>V#3AWLU20048h2o=`ft^u)mz?6uN)dbR7&*XaWzW zoz?(gIsyz#H5epL8Pat(D(_3~|BJ9=AfYtRy(x2vK-S6Hpd4Rc#OC;!0Y1}wS& zUl<}Y-5WcuZ}O|~RIi+yY%txE5B{uA%!7K>kF^Q%GW_3h=8fkuhU%hKP_@YweUsn0 z``sWzM0ld-Lgd{JxIGfaR8^xL$!Yl$y+aV(3x=8w5wD)iOcGs8=60Ouod`J#PxN{; zXC5QaiQaq*NphkO6G~ba<4jRB;Wd$$Zu0V}zU(S5Z}SBcz0(lpt-gs~15}03*sYQC zzd6w(n(PiHT!A3w^pGZ)<%!9Y#9&d~05W8}cQm}}8#)T{Jhj^)I4kQL)AO)MQI?8S zoIyJ%Hv9NVjW$KbxyC1jahL_1r@kJ+~nCa?%n;_F~>w!wA zf_cLG4|kK+v*w{#s(oGKN$io4LR1d?EyK@NjwZCXchnlHJF z$M-`E*giJu9xF~5Sk>p0OUt4DZW5Wgzo*TmX)=XqDY?>Y4%@q09~F|LRqpzEhT9)R z*}v(!sbbc^b<^?j(vSeHav!i&RtPv*uA3YIqQ}Y%n>a7fj|4$>%bq2%&vB>*0`%6- zBmqv1!pCJt*&tH}nWE0)%o7%%F4B6I0D%rhfNtbz9eZ#DLm2q(45}A6pJUC)AfXbS_~r?!dF8Z@Iq2+d1?E zzQpA+z*J7gkUz}o9%`0uES!7^ho-ssgxh1)6OgBBhWdjG)ciF^hS>8D_e4U&%GQ(? zV$U=3J&PxL?<1?7Dx^vSQ6n{+%LK=E(-1#4cRHRepQi!aLi9T{P&|)7 z=mJ}XH2BwiZY=5_?YI)K@TS$m=Wo)s@%cP=pm-0NFzsTVEIyak>*4bUP$q}Zhe-wC z^Ih)}KBsbl1QZx3s9YvMYiKX$^ku`!=ON`Hsy7(b&0E?$0IyG28wqCzm~_# z0A4v(Nebq2Ws(-ana_O9#y$R z@g2@f#J&I;Q^hy+;!uL~L!G&pZe{LAkvYY4d2&-UK@wQtP%^EG<{nK=T*Vi!sT+sKqjzCNk{$5n zLFSx8dn^1sjphRw!~3wbyoI)MSD6hW%!GBi@w+jYKr>7hF|HxNgx@yQ84|go4JPNR z18<>*Hxp;%i*N30y_v7!z6jZlmFLZb+V6r3;?}-99sz}krDO6~=(>QXTYG(8OIVT_BJ>vQ;wV+ ztF6g@fwJD8&HIP;XQ>K61Ou8a-&wQe4Avy8K*ClbY0uKtOJmg4XEEd!?`D6Lz)%+U zLve;x$zBC&jg1(x3iKsUzb;13%AGP(uLnb2d5n+%hq;DR&7Ov8c^7$Opo#S!Z|hwb zX9o-D*;R6+7Kl(;{L3q@DkWD+x+;OGtA}^*XZ)M<9(Y*tQL(cgC8jXF=@v-ceSsdu&SH{yFW-qoIK;a%;Bf3q5z0|d^iQD-9$ zRBpgOyUnpJov?f2pH0{XZe4F{{0ka36Ad$PIPC)U45-rRLC{O5Rn|w-*@D}K3Qo1^ zQ-1X79S)*wI*dAbBb47kx0_{z>{V{DV4s75l&^VxwrSFb5Eri&wgFq^u+CBVtdlWt zqCdGfhJ}10$S%V1I5UIm@N&lb=23 zNLjcb&fQ75$dKbH6tT{XvnIZyrzJgB#&ojpE`8WGj+irKMXGqRSSZ<|`6`O|_>Css zkQ$7-%0F~nJheNU%qP>HXi2J}6D68x&xWlIRv*(>@JdCU6*~|=p#}OkB_WGGfn(%J zIdNm?qw~7EB|m6^ebdkh?mY2QfeQ7Ry`)cI_D<0L=|C9jpU8$D6W({GC?@Slh2+Op zs3hDTMz^>_rb~`#I?f_gfDV-Zmb{UrvWOkKV}DDP6C^#hkm;n#qkLDYV1sn==0k|m zY^n@L7NS#}$b!)kQps3ZKMBXe7X4#;sJimSVpN!1=+-<=6^cmH4T*ErR5U_@Ziju; zY1$D`vD4i1ZXwGDP5+@o7{rECVw^%CY10kxCqf~q7ip@|ipoFO;G?O+yohkBu=jvXXP^s(%1jKX;MH4IV)z8`k#t8D@KrbG~)o`T%1;htbS$Nl`zaz4q zU7axGnv2nv6-ih@fRauWi+xua zz)Q#DX>61jGt#b2Y~tfRc*Gug#;JCeMx7(M zPyPt}6Q3Dvsgl@fSSd!NGEM?YV)L>7gY&cpvf*Y|QcrNjaf-YLD~_Xk^Ly@!;}y&m zT5){53)zZ+gv+oD?VXFruA=_5*{`Lg!P@N6@^W*rG`p2;_G)<#n%$>hvxAu{)a-$N zv+t(RYIZrgv99$s!PDHOA-;4&}9*D#~NWcc_ zxu25uze7y%GFx8O>C0q!`HC;tP5t?!TzYxg`vUJ8DYK!NK-HXWdqdP-L?48^eqYW? z$I%oji4BvN>YjwA+3wVLkKw6a>oPln#r_jZ;J7k~vJcSvRFVdLu_L#7J(0@nZto z2&Cm6zS;4Ti&hUZp``WAACs{cHk6ke=zN)x~RY;zy+A=p0?#v=?j0m6mony0}dzD=qV| z-s@e6b3E>;fDGtKV+_YQ{(pJtzNW!-gxgG1Ed$%7dq^FfD`kIw5%nMJCg5O*<)YH$ z_Yie&pP_aJw(vtU154pLV@93C_BHE?0-ma56Y(67F`9TWB<#71GANuQ=>>Bre;Y9` zn8V7r&gHXFG)y)W>rP_MybG@^*Mk%sBD;?>$;a@o(C(d;S@TCRF=VgYM@UzNzkNvI zp9_p=>P|@YG+uEjxT<((RnhKa*HXH~Z-yuRe87b5t3>~}=JzK%gFe^G^euLVy zY%vBkD3(u*WX1f{gVVDzbE)};Y7x7WLlWo&GFAWN9;vTDMgyIbtV!>ruJJ% z$2S>?p>KfHQ0X8(eop-AiQIBDCi3C0C=u1nK9vbAzHt+dWkL;H$u+N=l{nR*fsSIT z0~l%qt`HOTgyYk;zv;7mgs}T76@=hlp@cH9` zf_?9ihORnYu}%aA@rnX=N=>Ag?Vc6{>3Kne>VL(#PboSV8^U&>(jlO&%Y3$J@GqDT z*w7n*$=&)I5-F5&og)?b4P3;COCJ+~5=?8^#!EgouuzjdiUeKo|H?Xk6A|hm=uRr8 zpo>oBF^+lt09(>c72t}f%u4BhW?osL1l|CV7*uYmh)3q#1cTSvWhEu*-BD5HZ|SOCnry4f4lik|+k{(>jbnXjY-V)_xUr>$LSyEwdFyMRP17ds?>jZrF%1b#{ z1p(id_nGsj98aW9ISs8b&hSt2?#3B@U*1)m;nQ00bK(`X&)u5=Zyn}(;tiKJ#0O(G zm;>&IaJ>=TbdMbF9@!Hr{RAS-qMB0LYyjY}wVB^I3kbAMA{L!pu436VG?v6UkQbvq zh78;8b)?%(Z)MZWvJ<{y!edAs$KzvN_Q%e zF5aIy+8w^Lqdk9`55uwZJBO z-KRl<@uS+M;HX!9YVyELq!a~*;Y0)CrEmfKG>Uw$&7`nd)J`VAJE0}3YXH?9uErNK zBdgqxh8WmE9)3G#YAG5qCrra8?Wpt7%htQOP{>1VkOg;Ts52{!$k7^D4W!oKkjV75fi&8@F$8{$ye{FcQ-l%0|7@+}MaC+#$=jg(C@NWU40=TEtjLpGshF|-YB zyB`UOS)&mzb1Vi@69d7lU5{XA-!?SZ6jY_stXSh z1b9NAge#vwnl>Um-E3nw3`pBj)!_m8r6?+&5>ej~(Q&mU7O|wb0k$QOCmjUjp)nqC zi5*`&6GAkS8;QQpKvmj$z=t(iU=Z~j+l`*B=GdDy7X#_)+oTnWZ#se2JNOt?yfJ=k zPo#W^6wk*j@F5-C-AgfZ!7s$b0%V8E(#KFTaL>&;fP*yP?}K!g5!#ZxbVTsoi&V`B zzw%@^lKC5d$OuoPA+rrZMY9HN2cW-)lutl^|Di7W?Xy8+AR4I1F)Pr7b)P_$0jR9A zP84`LNK3&0|$Jr~{THt09fQ5(Q6StTgMN1-o%!=~qhj|(ovv~jT#DmzgSUC#=rZWqAfT!I?UqUOBMFs3y`~7)PXur(3cM>DB*;|2cNMby#(FTe z=ffbUHYU2Wmv@fX9|l2ioaPYyi$mi-td5qzujbpsX%k?DPs;AnuE>ciWH7WKz*#F9 zR{&#H0RPOJfPTeQ{fI>+hI$G@ykMQIsCL52&}l?oQZuz-~`S!{Gf|KO9uTKxuLS&gz#hq;Z|uoI5T+{(VN{a z{KilcC+fR)CE6B=v01z#wnAcL5@bhW*nNh|t~q)Rvl;7zuAD?YfwSJ&huMI*HqtE* zUE%m4-bC0o#2IyrYz0@(1|-EAD+|TUCoyhC$Zn*bB4j5%#)*ekNKvSP{YR=S<*(VY zha#jO*`cz>h^E!gvTo+hf*(c5Ou;P)+5dPFMhN-Gc|yoT{2?KKBQy;kjVEN5ly?M! zO~|oYF2@n_Z8QKvZeSA*Aq83z@)P8S$|e)SrV7Fp(spn|T2fxwe503;{ZJd=KgwG) zLP$S!Ec}>2$X-Qwa`t{mNcI^jo5ZfDJ40nt`MBU2!Am#kRpG@)9uNl479a#KdwI|j z3I56-;)Oh9R%0g|Mll+Mz|2ez^!ULp&<=yQB3^o$OWA}zeKK+c8&49hlN4NUNQ=Rh z{-oI0G01J$Z+xK?VZjQtDA=g>D%&PDE}w`e+ng$!jt-zK{zk{yJlyjNjw|tdp(}B7 z#BX#}_X*{5VE%9iytUqEesVXgqS?)f;Ac3H9()}pmdhWK?E^Gnc8vlX zB%78?gQa`|J6q7x33BN%Gyrz4L4-Q&EYPySmjuFvgm8WuQI|PS+78x8-bL0xw+p{< z0cr#Ma$cSh0(P3uUPwS=0-oa7nSF-JUQHyW#q0K3@IaS9@LVSCRw;ODG(>p_o>Nu# z8LE34MJ>^*`mjdD#Q^Lt-czAfgP52K9<|9(_6?xGmkrB)#&4q0Cw5X_%s`jt82mt7 z2Cdzl32ZRHP6NR(dhi)MJKk$;tRZd$I_w&qWsw$@8=ILad?#-YPDF$5VeIE|5C6l%qSmz&pCO&gfOlx_MlKUPcIYmb+p@|HIj)yA!#rYeW#OOq?hCaW5F*Sb5R$4vgLo_XxAs-ky-N_APwV%+F;*cn1=2 zyxs%&%xi^*?tEy9hYR^|D$myo3b_TcvLaJ0mM#NEt-I<`?tO=Hr=lEI&Z;p z%N|GT{_xvkSN#3H)jyor7DMDD?A>P(k{{!rLHizdu34V0v8d`*TOJXnY26NK%P9!cov$lK9C z#f|2)hlOkOSN#N9HaK1&oJa_t#k7I2eMMjiPOH>~V^+dY@rOUZ&MR|kp%ILt8}G=7 z%>7_4JEP1!o{;NZI2Tc&vI*$X6=gz4TbecQM4|i`L8>P+c?ut^;n8#F8v;XJbTXR# z$W9h-DwSrD>?F%u>za<_)AAHQ|_CEkEK0Q*A6G(p-Lct%t7Ae+m^Ee3i^T3S{ zvDjKE_Oui`4k=dmm&s4}U;ve1vT^s_B^=9ij__kKbbXIf@+f`t!gy*Teow=CLuHO| zGap8#O(<9$C`4s6AHR_1+|5XhPb0D_b>C87#J4bGX zV7?oCV%7jhsF^jI45w7i2;n`i${ENM%qKWqq?pfLs^(KyB*xwYOrGK67=~r6)D>ua zAxEK?e?}LSR++I?9CSK}5c>>Iy2fIeOsO>m{?zVo6aIC;unYeoz6tyt34cE{XkHe! z;s2T-D)=|?F-|h9WD4NlNcg`FDfnq9$95#Z&oWl`YR2qeL0l6P>pm)n8g=!{kX{Pl~_vIx9wJgXOh*O&lnfv5V2RYP~| z=oaZnJcx_MWBWR3rV0<@yV$sWGgOs-@MPiu>NJ|Z3r4$n{|M0X3^Wp}k1njcDJ_^b*BEUm`J79zf@< zm&cf6T@GUp`*9sW8GB=PF0m}Cb7wV&fj*TDqTpxzAp@--D9?{YNmBl;zQRCdQr=-8 zel-HQ;d#hSV4yJJi~2@l?@W>Tw`Xg}%!BD2*=xNkEGZxEQuG-i<>NlwrQEf-PdW>& zs1J9k!m$jSm{YkCYQ8c|?_AM^pWt^uYgP{a2^K=-T?HjpyH^QRW~=HPcW_Ti()n;R zwovWiAX=aBneXM-?Qyhl#-W&Y=on~*@($=gVSM*10O)#fha%!&0HKN4kB@Og?7|d? zfvqIsfewm@7a}oK-bX<^4y{S}$xwM;m6C@Pr7}b1gV-x8TceN)M1Ap^fXNloFQdV~ z%nOy@jA9iXkzML$Z$P%qzoGJ5S)x{`d?bEl0VOr#VuQ7|_r|QfqNjp&h>}3?DzpiA z9Z|wIUr*wj@bzT_!Pf^dBJ&C`lS0WZm#@D_;Oliv0ZQPxnPPq)*necnM8HHQ9Q_<< z`ZBW3T0nUY7Qe!qtB|s!2xY8(C;;OJj~LhtFc^qzuU-7c!*fynQT)Shr+5pk=?Bn` zVD}a4okUATp;%M}*JJWPUXzE$c(C4V%MMbj5vN+#WEWfe9|3^x5xL6!2+I$KUHKQG zRFlOJf>oC2f#HnOc2jX|MIO)eg(CT%w(|4ZsKa(yI(xkk1S>TClwFF`2!dce4zKP? zSz1imC5E9ysO;lJ{L@n0mef+T0;ppic)(_-QnI5GldlVBdKGQ4vZ9uLNp_mnUd^y5 z5>=2S_ze`qE-L`@)Lm?+#j^3v3~S%pn0(#w<`%XNAPqBVB)7JdX;}Cl2mlGW6zgf% zT&7BOcT3%bQucg{U5#=TzStoAC?7L8bl5&-p1$stR)Wv6l|ayZg%fS@8|>enXcpgO zqHQHNhbVi#y5Gjk9^KXV2l zw`W@uq^N@TqoB3Oc^!?{q_On;#zJf{Sc|#O;4$VKaPLkV^ZVvwWZ`N^v3g(*dyV<| zQcM~1A4##NSnQcf#d_fOoNe=$NU;vQRJU7-xhsf=4!E6;lVZb>VqNk)J9Ud)AS(#9 z(70ZTHQ@?k=^S9A0N7AsEDIc?v3m|5<0N|qQq-F5Yv7l7=C66eMT!Ftg0i8q^Tz>& zZLui;opjG3GL+g$tSK0$iP!lLrpiuY2xs#!@h;^LRoqu-qC4dLpZB5&DYh_$4FwxY z6-PBwz`> z+}zFW#cy;}AYvSMzRcq7aG3TJ5B0^`YeT@bpmw{30D(WL`1ZPB;?2jyt?ebH*KCk zOD+0xKG%JhBQp*#3F~0Je!djH%`H9}#qBYL%5qT6cEyU|dPbjl6|4Hn*MN@Z!)cG^aX@_0ijtN6jF?L>=NXvX`RByIL6y8jK@XiPR)4y zHD_L^81Exw$A%G#@3*pQ<_`xrR>gM{NfEIOKiJPy;kzw71CIo^@`rr42rZa}dC2!L z-E1kJzz#L8blE{uQ{%&Lj6gdT*O?a+V~{TDR-M4icB6!IB;gDyI4>1AgMs87RqNt* zFX7kh|<8NNjz%TkbWnb8#h#SGQGMv>KBmGZl#&h&sC zdjzHJqKIgp5}V4VyW$C4bq^~Ag0UCLRe9^!ovke9@J+btmEM5rOAO6?4TMx&^^VI` zZzpio9Hu~s?IJH-*+%iwBqYXOX5S^B;^`GWy~(FVe42tM5TPpo(TZ~5Js9d@i7oXMEkwt$HEb7VB*!^{l>)&}v0LUhM!xSI=WM>oIN$5VaW2I; z*8+hI5TeHVLkuO<4BF1exEZvbDHyBCvEJNzKh{s#1xvn0-(<|O%b*G7p@>;PSnd6i z_mHyW8^YHg1(tlrr)%&eOGB8URIS_va;{-=Q9BKbvn7*hx)x6(6se0a8gwn6!p<(X zjvdETS1;8(fOoAk-+@=OKfHH8p!p6P6s8Gi)ZpfFt*Qn$Qtsg;(Cr|{2`2&YJ z`g}#wJCGfl@em+-sWuS)6rSADbh5-Gv01Nl6Usi%vIQs$It~O#n$&s2L28K$aihw+ z%+2eIJcq_FqP}hr2GJtCC2Wba$1#OgJ9G!SPi8}b;I`SM`%7_BbE_jY*TX%<>Rtx4 zd@_PC*#|Y(lsl-&;bR=#+cE_RsUSjzo~I9LJ_Jal`*!474e-w_B>Xnr&qd0TkBEda zK7GQcH}Rxwqz7puJr1+MOU3j*@UE$N_ytn222!j^tKy4wKI|6TD8Tdjq74VCQz5D!TVB9xq3Nck_q3_bjwPo9~#rP{dfCmt_In@SEYQ zZJ}Qn2Sn^D_IGfD)PuVJRvHifwugNr=M1#KOG+W9(Kuxf#U&wM@Q)1un!B zM$kk?ppdpr+9uLYkpT(Pa(L7o33lNRk@kp2+Gj%nDUfz<#r@_=LhW95H)fDDce9rd zKe17@Segv3-HoD&s9Mk|IjS`@XFM59>3~tfYhE2N7%9r& z-djVlDSypT=cxH}1+wAN76vjtX^Q-4=39aSh4LYSIikD-gw}leJw71@l<(vZQQiVg z2e#*E~0WG|Hek%L`^(43b=3>-p+fS9BD~7Xd>6j<; zBt7!3=2Gh|Wa%COuulLE9w!hcaQSH+laVerdRL*}xL26Wx9k~?jpPeP@g(GX=yp80 z-oY*g-I)?9I|*oGOV+eAF$+F}I!GoBN38@Q3-GV?TJAI|mph|qGg2>pyi)1_B!tR_ zVJpO1fbaI`orX0K?bekqf@>c_AHqny=cRlaQa@t3JuEU1BG>k;-bnt=0%>CBqYjm- zz8GeiYf+(mA!IU~nL8Z;7=<%XY$Pj`eh2|L0Yp@s)fHM*b5=(_#tFcdNKw-l1OVDr zFXgX!T64u&$00lR5E~teMsp*kzGOo!0+04*XOYRV9)N=PEtMB6gvnz=z(9x^AC#92 zdASQOxX9Id-;s~IFm{k|h1^NH33aT^m!RLzNHP7n0yQo*hSy-_=rM?~6gP$`$W&v% z{FgEC*Sx+N4FdJ)1JxEmx($V6PmM>1Pp)U1rG0@s4B{98H7k7|0bo$mPPPxR0Dq=r zk0~JW-H02_nCk3Y<}jw{Y~0=P8$r2C?^*X=AoabglAT~$Hu6`MX(KC1vJ zZLxzCT2`HpZC)V%oPcroIQv!P0joCVA$pi$JvW{YV`f+d4|^KfD@AdY{9Vq((rfW* zt-^8*p}GRTJx^ggQ*cp7V&pNdjv}qry3YM5J$E&i`i)Pq@PQOv{v?^Oow@ZEF26Xo zpJZ8>U2N5yD^L|%U2zcAW&D^l;O&Hq#jMMy@au#cOeo6E$c?sB-uH?VqFJkdtdY{C z{rSn&&3!*;~vc5wSm0TkWd#1ushg+bH3ohc4#W*5EkyMiwK7g`m!+}q&KU})58qrv+ba}wu}6vB$3Q}R zx)63HltIV0QOR$Fuu75hhn&kqgXKi}<4{rsil{shk)r_<&+zL+9VeTJEa*%`#>&KP z2@KB@c+j5F&i$k&(wOgJIa&^G`yKh z1h}ddGbB6=MUH%IBhHorxoGZJAcvDE+(%l)DJ-F@%?3zUEo@XErssfC2q&=@!%L-n zQDaI475^~9{P;#G0FwX>&XxjMhs7vN@BRa`R+~#u1i6K!oatI}*>R4>DdATv)rU)U z2c!1)k{wiXrphYmC_b5-i-R7-W*+w=W<_)WCh2zW@ATnt2x%I+f~Hccz=?5wkNDoJ z?{_m7K7lu5zmdjQYg7o8b>d@}Q#lTetVH0B`jg2P7fmvW6|9RuMGvg=pgINCu`pgF zm__ulG}!Qr5SRtL^1wH;^~fg>gY0w1D)-l}`$b$Cd(_sa@99s<5N-^&dUaS;3{UXANJ%@_=gPr?!p7`lU6aV>!W5F!E z@3h)T0m;~xH%ueR2tqN2BLiyd&)rBA-$KmRM4vx74RxmeDKhA+{n+6GoQ0L=ad%{k zSy~(_`^}!YJz2-WhZrZdr;v=7OQbB%mg&XPdK?Xlg@%m1_vsTZ4RLdoH2+g?%9~dN zg@9E`Lk~enx;3W@>Ckr4pnKjSBk0~nDXpduL(Q+wE*7kkxjw-jsjF1I6%jQ{>ScXe z1+G3qw%|(1s||QH&+E@IW&?Y_+t^#DTKST#PzFq;kTvV0AfjF73j;>8I_@An5bg3S zI0T^qCE@PD%FgCc+{WW{w2d>(mWV&7Qq_oT@4oQ+DpeGlO?zVl60PQFGxiuHi!@v% z!`PxTNdb2j=?HuYSF0xpdbMIp$kq0qxN9V`s~SjAaOOl{q$u?-$R&Q~WUtw|2{2QH z1NEZbhymeViSF>KtS}0j`Z*>ZxFg?lANpz`i2$8L-dS=kR}Zu_;rcsF1P9^ z)Cnx|zVl7rW)m9etjE@>OCjgzt|OAYJmZUPKfR$GF3~30$Jy!Jn79fI)q2!;&2G+^z~SV?r&pi#!q(Mv%ldZ26&e;@HUk2lol zfE!N31g*Rg4%3XQBYP%?3r-_9WxceE)RV=C*x`1Bb1Ddbcr^+M^-I)#1&+^@ieJat zwh&aYIxl(@>}+h8DJ1e7Xa+1FNis$S^~vED>Vd&Rm_{BOm&l}Y6Ja{u6@34Xa1KXN<2 zt+W^Hz;v3u)A_EKDM0p*BBJBX-tH)(CYVAo4k}R>Bk3t^sgZa&+QW`A|H>x<@8L3* zrj51JyreBL#&7UcsS9cF>)30&Gy1veN<@jLD=8(D2O+u5ugNGQv6$M=lkL*J93sGc z0d?^)z)FVcX>v2d{@&|Kl*~^Hm31_rJyx*-jT2bB_!drZ7#eo0$iK{6?1pa`9aH7F4s@ z)2-4(nn6_WjW`t-apL%iC7O(&maFWDuLZ(7NywTTnIjPbsJWe)rA^DqYaO%QwS-Kp zyBsIP_n#B+xsZDPM&L>Jdpk#CFJ1-51tAI7xK2E8*Fsc*O(PN^9!dgu-}R2Ax$Cq^@i(UWF_rVuYP~;ni%>i=zYk5@A=Xx;wTDEo|c_9YsRr2QgV- z0^KS=!B6#bwvSK2ZiAzYP=*Zzg~STudDlCPug&(n8<8Sn0gWhYaEOh6EiCg#S~bu{ z>@KozzAq)^^=gr+G^~LuzwzR4*zlZ-f41VVXO_J#c-GB`>xc0u;uN+co2RNFr+&lX zB*sl%ZKF&fXdO#Cor+9&xsd$+zW4@tZ0n_x5XbCleMH;(KGd<9UE9_VOL_2MG`-6< z$l`Eko8id=No27rn~3<33`4Q7$YM2oTNaCCu~8hf&XCf!EM`ki@k+ATTM^%}kkzg4 zW2`kGi?7;%AP>H zicM@Hkv+jQ zic|q z6Zj=XppMwa0f82NiXS1+Oi2%($8-{C58s7A%6^V!osdLdzJgLhBiUCCFO)_cgWIFM z5E9pmZjdpWwT+rO@{alWm1>9Q1+H=Q_Xxd%os@zB3#*ZO*MRg#9 z5Y-wPPN|)Ek!*kXVsIQj0K@a7Dojz<$107cJ177nexWQB0{lG%*TJ>4_K<(uu2dX^{kfGA6-{b<(Ek7YiXpYm8+tux8hxX8ny z43(j;KV-)y}`$bM@W7|~(3>`HRSt8Chc*NNlaGoS?LZUScZyqVrN`~+ry-x$F zkB{cyUXe}c^ju0ON|{;m?n;?slaA*;mhuR3-uFobHX*=xLT9g8_ z#Kg7ju#qDFV3g@NsP{@k_QGHc-)zKipDoOUKxXg%P-e7LFFoa@v3j{cUK;QP8~+b< z7CWr65)s{)gEIc`RV?|pRsnMV-lF(hYs4U$?5~Eyq0Nn1IfEGzn!i|{uh*BUTJ@1$U*-E}V>6dPttHp+fz zjMB;h1ML|mXCSn01f#F}& z{Ywme&_9QN=SUNjKAWc`NQi+A-ms@WEjRK?F@Hm)1%L&&FaLY&*CO`wS`Z#Q*1+aB zA!tvGGtjXo0<;eOSkcTj4~%X3>nm`kX&Vu!n7>+=LftCne{wcU&YH(h3jX z{}?WlIt${O5stqA3C&Ty{qS$%;uc{(^FtL^x$ygq$Kcj(O~JpoVfc*+l9c&bKH9^V zV)dxdK(br2SQ*obOJdJfnFP8Q3LC6q?#$Eg^%aJqa#2$+rn83=9b_AN8ej zSW!rr?2qA>&x14w^KmP=*6A0zA=E!KAT+Q)&IMFZ^xBPJW7OTwX{^70a2gVp?jX{{ ziq|%NLFq)`8x5Co&L@5_ORf1!MGSBmpLs7taPr*)@?bK3C{1ABxf?Y1W~%sTDU-0u ztA9Eqw|c{27n$1Gra@!=a06VJB2#ON!EZDLjMkg9YIRui6Odq!@C1&qtH}|H>22+T zORSx_KNFb~z6EP->u9^HzR1ejzZ1I_k*($@)liD_QVES=6dG6K%7p9B8!Br`qw%u? zXz6jMrH{9wCFN569v|bJM&Ce+Y5;p-pxWxC{56~YxsU28JO$ZZBHM9|kqtk9hJj@j zCr^1**GD&~l@s+{y`0z+NA_p8Gcj1qADZT4&`S5nZu8h66PD*SsTgh^!m|aR9JnU7 zW!sI=Hp-y+CM(!bu&%V{?vm=5muG^xxC!S8mDoMP z(t_9>tEQ4R5z$7d>_P$p#SEC*^D!!qm+-Mb9z%RY@M89Kj_QfWULDba@_nj+qVlD= zIZZuX;|2?=Gr&$C{8nDJ$Ae>~NhiVnY$_0(3n}C`+U;S-_NBPn`6ideW{|gH+d%ZE zfmG!wyy*+%Dx$y7$2g)dL5lW}0l|MG!7n_t57#RJ7pQJL`xRvv3YonLe}o<(EX6%l zV9&br@Qflz2OBEmVwj*!w7A)IB4YqSpw}3WcCl)_--_=pzZag18o;R z#zA`#QnW`3prvPu`S2frc7lfX7vx*@@y~oQAkfMdy3q6jBpmRHRWLb7XnoUnxR5v$6@Et%Av9ES8$bh z8X_j!qH?Irk7BHAHCo8mO#3wrujc!xsZdmh-;huQ{WAf|3J1yqBomtFu=G2BV&0ES)d>eUx zMy7e6>)9o5smyGLCvDfb03@f5O!spM(2KHi^PE)OB6mCEPCu~Qp}hvyvtQdk9a}!o z1LsS5?(wUu*;~&BfA5Db3zc<12Nk`5$-nLta3%gDpj5}v5*d;=Uoa5n9K6VdKU5ZC zUC4?n@vEFUj>W;Y_;bKv!!s&t7jDNvUbZ1nPzWI?h5$U0cnegUH3bFD(@6&VX2^V}YV3BD zv|dNC*ibyF_N>LC5#5WTncOVWSBIV)ijjnmMT#}%2g2k=N}DakRB(lRq}XH@TaRL~ zNu1(eZUH2Z0unWOrfoxgHF=_Zj2qs6kP<4xg$Gi0DSyqg_CdbP((>hTv}N@|A@d4S z2<)B15f68&#hzi8cc55oKAu!t`o?tXOn?WO_}v{O%Qd^%xh=uNd=r_tDFbAQxD75~ zgALi>-Nf4HUFdu{I#;8)ffQ1sxr&c*qv<)cdEP`l8bD^*g-ltVcV5LP^VKXC zQmbWyEytdep|EeO7rJ8&m=@1SyTJu-qqye)R+|>jVRzJ(IlNTWO@Q>>Cf9LjRG7Wl z5v5H_cE38i7-A31%#LEyiKwJ%$EVqRdWBC<@#%Fw zO~Ml({Y^krHkKM4@v{3Z0xozNx`~hk@8l2h5(GsAFLN(o%JRIkEABC;5lA~ma!-_q zy~RFSpbw3aiPBGSmNc9og0Mt2q2Im%YM#jN|ZokP<3Ctl5jd=DmBtUhB{h zC+3?Vqt#uiLFMrRQ^5Dw>KzO~9=!LwZCEiT^ zv5$fM+9s%B@o?O{ka$%~6$Nlj7vO`!Gu~^9yO0tp|5F3ZU-P|RC_iPb6Z=NPeHh5L zVyx}l#u_V-WIZCLaN=#O=?c&Sf|)%@cfk=n#SD9iua5g05CcY@4BDgZ!qP;Xwwsh= zYrE~ZXH-esohuEDnPgrA3l+T@Lq>fCD%!?6%HytH3^3IW1e_!TZP=gwpzJBC zhMY8bYv62M%{na3`ob)5E?sSDEwzhP66a}G5zQu$#1kX8+}msnX`}QG4x8|7R?X*=8BQo4kS1{nqA03p8Tds;4I&rz+QaF zMq~&bmQK=}V`TD>VL#CJMDSy4431tYw)CK06r}TYc}7k&gPS@z5lD(?)({HQ_P^#` zAzMHJU!jboRFH5Pj_sC@JyEWgrNL_Z0D0pcKwtWH*?hbMX5KCX=i>-Z-7cF`IXUj* zpeSn3qCoH-6wPY}OK=1qPQycAKBSv3wo+{T5C9S966|hzQD)F%Dc=2J5j=1DfPJd0gv~Kkb2kCNPX3lTF@S;jh{j43{UDore-{g)Q3E&hb~6y zyTwSo)05ibGNd+{i_|`z)a))uJvv z!>C)+Q+LZy)_oJHyU!&y)TrtYL+bvwkh&SER`W7EeaNRSu*kdt?*7x2Ms*GIZX#22VxlzjbCbP_xxJ_Wj8{9P+I3)B@@fd(I@*98+Lsuvhn*w6O(E zx|fS%&v@#bfI6}HNO1G*=KRuJ>NNx;koq)swfx4BgY3dyN1Xo$-eeu|D7kYRx`{3D zH2(HuNO;|oFc%3f^XDzXY{=gOhHi$&^Io)epmnn!2561`83hBr7ujj}8Q>1WSKV;F z6WI`+Q2oFv_W4LYXgumI=8ZPKDo-Fu{dSYfkIPqk#KO zH{IHe1oNG<*|XaIqmBOJCUkTy=BZgyDW}zDAzg60>bLgC7Gu;rzE6Z7yF))@B&&CWPp>T zaj#`&3`U!=oh+4#QnBCoR71+Aj$l85)TK9&!rzmo4uwyoz!3`1uL}x?*~orYT?1tr z`-4wqc-kBCr(KaY*x$;RML`zz4G_?SxADiHeIUo*^?+6`C5lRe-vx@U!9Nc>KyoT} z$RH%)dqGlbD!~c(o(g{pjxKk=gw73nwrI)I)k@Xwsn zj1W=S>gj{Iay~M@pMuOn$@FX-`;DjCAoHB*$Q+uO+4e$YZkmD29*LPH%v}8>GFvBR zzL14X`OwV?iJ9wz$b5%FcmG+0HV&Zel)cmDC>zAtOtgBHp!k}^;-6oR;yn;eLodcp zLClT#)zUFYalhb(-j=Qfqne$+--j3;Ig###oD|(BS)^&}~o=VQo+c3?52yGxeU*~R)@c_Z1@P1HA>M8Ia!~F*CC4=G9Slz8k~H9KM^Bdbg6i-vM$BhCq8M?hnujxWw}NGz00}zCALF&15$zF5;CoM z(wU^M_iA;L`_#Bkv?eFokf-E7!Y`xrS}@eNw3KnupH=~Q)f4k^R~kzT=Wa}-h@J;L z&#Z~gtJ$P4kc)H};VX?nFI>6Xfl|4VMJ6X^`1;lW5c*&xK#K-noQ)ru2~#9Jvj@{T z6Pl6<)J!M=tL}V-<#8OZza0wa6SB${)RO2mf;*;s!FCdPP7tCk*~xuCv~Vl(O!h>? zF;5X|S7-K?%-h&|z_%EiZ28@glNRliHhxD@umEVyzZk2lg;-cG#yDy%1Y8mCR{{Ao zz%J2i(=he+t!V5wW}idmcre47g@;hl*y?8W)1?kr1@L}(1$qK*>*YlHX4sTtc(`hv zBfsQE?p%Wo0<+A#GCZ14HQ#Zq3~?~#O`eWXkO$+T? z4sta=n?o9vVKu=+(F4`ZUX58r+n1ML&Rksdz$5_0aKlVvPbe1IViRmX*;NsmS) zpZO(R;%_iJRrgS)nvO!Qp2^7dh9cL=D~SH!WzXS9$n}$? z2kSDOM~Iur#?^Vv*txk9Wy+7#C*z;i+6Q z2T}*(r3!L^!5wm~Ap`v_x%M>E@l5e-Y2k0DI3SE>UB>Z5-Z47@ED*1-j2n$rvp*0W%{q^S<7LO) ze_JirMW{!l(Cy zdr22XLQfr4CnuUZi8DyOHU=rz%7n_Nl*Xj*ra)98`gGQhybA?{?_IgWbR}SaDs}+{ zHq7ujo_ohT&1^zK{{9v8O=81*fdvo@3}^;?C*;T{EP>L-TCVfXDTIwoxeY6#T5bgB zuxD<-_n#|kV2a{)5?5Hc@^YjLpbPjG^k7ci9t1V@4hj^0DgBS`e0RT;zFFSYm(owf zEn4-3^v{^;`9k{4r^WmMM%u%-$6AkU>R#I-s$|g^tpJW^Hv|q_SXc0>og*bCl#nnU zp^gvpp3M*QQn+L6@K|aD{{x%VjbUeq=0|Mll-SHifR53fI1Y#jx6K~^+~)fSJZ(O% z+C-?Ql-OprS%5Y{U3|tYC6)@D%QjR2H~|}Lva34^+$IlXJ8NBif}oxAwMV4BJL@-k z{mC&)rj>(dA)Q)}{2c#b@WZl^!mk2#dNX_y@k>_g&Nc3HCc*s;V7~IN@ zFVq!>Zfmhm9a-nGhhNF1J)9f83HI$p}#VAimigeP8xr(%dAJ}D`1ctHL@I18kj_n$;WY7yikDr~aJHO(uz zPJFW)2{Z^72z8)Ph43pS!5b(P3W;_gql6Zq4x@;YzS;~Q-E(a;Wru&tYg5sQiw>J%1cypY6WooJW(jKK zr&Ts~NsQX!tCH7~dd_y*I7nDKm9CoR;2 zhbUev@k9_sJbJy8w4j;XGYg#MHxVdS^V}{J+)*h%Rcw2rHjsL^r1#=ZSs?Y3oGPs` zED5?V%!%|~oD)r53Rx2;XA_L)TN{(>U_1}N1Ff->(pe=NT!p!NL1*S7;*hZxE=mN( zv7t46t5<_z9_b}(o?P};wN3V?EjQTm50|m!Dr_=HVSPJP3<9rE5EC0AI3_{I)_W#S zl74*xx@X&ufQkt^Hg5#@#}=kazvkZ*+eh6x(jKLYxN%%C{k?)33%>z-W*a#WjvDIN zX12-wD=qX1YG_s*sBLXf5405Y|BcXBg!sWOXV1YvaO@Q#^sf|wCPLrce+mQ#A=huT zVW#)nA#X`LaYDbCvs(hFwm=G z#L_C8U8>6j!AA8xavqGDDH0+2Oms=ze_Q=_s3 zcpoJkquS95A0icDRH;)?eG9F2S8{Ogi0E5vSEWMnhhuo{9{CZ=UI>D8Bb%gsi|s^* zWQgG73uZB#?>P=zFp;jfqng?a6>PeWnUM?E%MH5~HI=YLv{CyzOu&J%GUm&iQ1YsK zxUKxipV_7nVgs?uZ;1V2{9sali$ls}uA%qCsDCd)k6 zUIbn4C-pU1`yv?*B%)T_MbI0xY1~E7N(d`==i_p^8`&1j*{m;%pyO)_ofP6-h1Q?O zpBB==p))*-pufycgoOP3CpXxzdm6Wqo0lmktM&ruJ(SG%$6k&=n3iNKY%ul`q-pS1 zC}vOWCG$Al?h3RUZ$jg)Sq(z$HKUb8U0|1WC2EUHIkAGQ;L1$gx!~mXho6%QRfx`C zLIAA@VPQHDPMTT%UwHdqDh8>2nKiopGo@a+Iq~)>aZ2@oz6-=kMZZPtO?ZYIlLGd#W^YX%2A)CEVb#9xI*v zbPNuv$WmMm9N}^Rviced)c)X;JD#Kv-GdE@k{>xpxM9%h_k2(gmHgrEYSZLM{@Lz! zMFj#83H2y1U#fV;%|YY&FF5*rzTm>QS$4~UuSIQo>{RJ%m~KFpEv7_N=$NE-oi-kW zEFcH=U^;~)OC69}l{cRP(@@ftySWgT?iS{UN^B?#;4Su2mAQ-zTNmFB>E#bkmeTn% z%pZ0-q6d?-Dw_uN)xy%VV=ZLGsd|an7tgEi6-(Q~p1C%UaLHEXMNtQ*w@Nd^}j+6&`<9(t}~9lWr|s9*4o1b*D&$_$BvFRPl%eO97bN3{c^pE~$goZ9RA)dLYkW zKW#{cIkJ{yDO8^$wnEmkV%Vks{3x?ln>U~c2wC_Jg`nVD?p@C?oBbdt26{neORe$* zPuQ%dCb1_GB?x%fAASg_V2v}#8n)o5ngEQh9X#XlIDL1ZHt~e+xJXP0VhHr12b@#7 ziya0s#JvtA$DW!1pNV?9|JW3~VS`I9)ySGZ;rhE{ss9uIB;zjII>T;$65dnNpeXoT z7KT%ldR#rZCfj?W*=rq8T7(sdigyd?Rmu>9X707>-ur7@1MA4<+*rg0xWpg2Ns&>V z(zTJLeEhxl2OtqCR^a3zq?j%ZDM_t-lpJ#LKy!|)wKMx)Tmy6J3iZ-gUM^NI0eO)d z@woRs-UnA6xRpX^;S(b~N%bBJXG5bF4nRE!gWAGFV7DY#v2n&7nE#R*NnttR8pF|gl` ztBZ5gWe-O2I1XcnLoAN1k3(tPi1*^lZ)^fA)@lM|t5{7P<0em{J*Vhc-w)}bWrb|J zDcTM#o5;tL1;zH}tl~6#1{z~UNvX}*d+;na4pkJU+6*XOk7-#{Q%|)HA{9pc%|czR zn_AiBY#0NWm+|wBMAsi&iHV1KR%Nlb9p5j-`;URYf>>S`YA8 z5JT5+qrzt}nVPA}>Eo!Qt)i5(zK0&-GD;hrT!j!bslbeAnBv%(wi-_(wrrb6ZOiS4 z^zs}2dJg@R^?z8}j-ww?sOk4EC0_h$VHL&-k`weuUM;}j3L=V)Mgvl zMJxZRj{dTh`STuX$i}O(b+8cNY=qw7T+KTL!&Ccy&VnKZ=_z?FD=u}!y%fb)x{9kP zoS!TZ1Dof{6wz9$!NO|FgJP&I9lWI#US&Poj_J{?mLLkuBPJnBi@1bi@!!H~w)-}s?XLY9scZ1h zeD+Tuj9cmwtlt}@WzZ04;l4SMo`Z5C!-pi1U;joM+niJh<)LL$q8v+76Jf~zoQd#L zlK5TPD1u;1CY;q)U1f_$3&BeJepwckW2!~b-V$c0yV?7RPtqpQ=>qe0Qjn^Q_Q5rqZBL32I&PP|{t7H2kDJq8_ z6)G!-{7c_^9$E#NRq&e|s3Fxs*zLI2S4Sqx{ovrCTsb+xM&^8pX{~Q8Da+Q~t)&^8 z#=Us(F?NC{qkY_6iM(Ht?ea55b3fA2S^g6h)7_&nq~An%bkF$@V>^f5g@PNj0kq*p z4D~P6Ft>3ufn8MRWvF%e@$N3AHVl(+x4H+HG@~yXPnt2jstkgYtVXhUHpFtm+LfCQ zNW>0~=a6xHsdxtajYr|6oD=n3(~5M!B9@VBPN(ONM6NlI5+AvSd+Je`j)CC3mXPS- zYkVjf2&T%*z%(|MzUDzR#h8Lu%DWp=aC&3rt9wkRw?5*UQ-k3j-0QClL`r21&z+{9 z?nhH{rzyG(-Wpf!pa_OB5#^ElDs$5&M+ zV*U7yV@&|p0RI5K4V;4KJO$ip%z1w}LpEE}9~!H%SV!Jn;C71hg2Ljdz@qq z#y_{$N+mk5#Q9RfnRji@A(J$s{tpDFp3Rr#;xLikbF}7|h4SulOnx&$Q~Cbj1eWs9 zYTSJ`uQb{WT8&36PsONM&;(Lr($f-Znn3Dl@^V0Ry9Ikga&6I+cb8Y1Chhi}O5N6V zx-Iz}-F~1VNETz(;{r!d$UgJu4bCj*K7-%bNv_$8e;)Ww5s=PN@QrOww0tkTn%>@q zZ=<}s@XZ(XR~an}SjvNzJMOj7Qit$8BKN40a^Be(uW&0CtIPf2b7lByJkq!;Z@*s{HPYN(pRrX*7#BFQgGc|h1Xcbl%k-Y`-nxU=cmHxEb^Uw z5Y}Ijy5JvqC$uC5Ld<+~!M-C1T=I~&B@_#~_!YN@8~&-VL(Xz_jClvNmyqi=n#1NP!V=B%GFIxW7uUHQ=!wnwc| zSaG@OXygvn2qW)2h`OO=jiuy1x{WT+!I6-)>r9FdU&t~xOec@#3w z+-nnV`iH_poj~`Ae2j}+aX(VP`@H-B7F^0-GX}=tKnEZ%)`cx*G#0#EI?^Tbe3DLx z{Np_wx?hw_6BT0(iNn zPNc-T3Mr0Q*(W+_`lb(-9WaMipt;I7eTr%6g~}iZQ{=wS>F5i*3XX+G22Y6K=CJ#W z8kpzu#bfs}$&xX|qxUk2t&(}EMA&_=+3Q1*#iEbH{7!%fuPXPaMDvP@Z2;_9#H@J) zq*2jAn&DMTm{a)}$0T);0zA-9mQ2E5bJ{D4Np@r0v4;gYU^FPvV@Z#jnH-s{x@=(sw?a>B6-`9kobAsPT zzW@m@v+PIVlVSi%J|SLWk7z#WCO!4c$cgYEdjl+RX@~nOSl-F$9Q=&2p%x>1z=Io~ zs({0h)f~ml+b{@4mrGo_T#!JQCWm=Au!0c5@)gH;siFG%7XnROS3B^0@*h~o;5-_+I+f0F;_D?qeE!R3K+9D&<&1j=WQzD~j!3KS? zi}6!=BO>Y51gqUQ976C`wigJ#iYq66<2i&5!pb#mUns4nKl~NnXuz7qIAgWi5*xEg zKy_N9ka7~aLLsG|Fo-uE)gL4xuu+%T2)rmePorRjmR$od;jwj&wV91x$APGeN@#mH z3Lxk;GRk_%pvwB-2YOC60#D<55=S-#`59c)g(AO0?{<#tuJD!Jiek)xq$nXyP^B0g z$l&$ZnSr;Gr?@UxtjlrL^LOR!gDp8E`ar-<<0N3UD0K(~vKsuWkl#5)@B%36 zJtL>6`y`wjne*DI6Y7})tMU-wH5L1WdigFv3&sGetpQCT-udC@Sa+*XNM1$z-}o3eA-+Kh_*-1F!2+s#oEViodY@36(D z;=q~N>~^xd5-MlQuqjk-AHq}-Dgz4f7zqyK4}}WFgW2?ZAV{Ri2s0f(gNMK)%l*c3 zx9`|0c2frP4x)LvG#G3sKMB%=AEUIjo!{tzHUPuMhJ=A)q>nfZP>js{4t>S1Fk>sx z4Gksb$S3LuOa*mxi?mavI(nA~fI14Q?k-W?$+`! z23o9E1W)gXsTQ2b(l}4f;KUyBBL`zo>^XdsiM@IiCic}EfXnxROGVXQpCVULwF@8P zsCp4oK+aT>^Y$0^VX<{S=4&H#OvEqE000e8#xw|_lJ3r&Zi5U}zA*tULSeJNDktWy zk?j;Xods?}0k|+f&mn{t5($BHpS+yNoM`IuJ21xf>-^zb^8UK>#iQ?pt@@;a0%K3a zHdgyw?tSiHs%$*`A$xbf+=}YJ!v^y);$aK2wHvbaH1^T(WqCr;gka7Gmj68et$6i50&sD z^U~&$MnHk$lIK=Iy^`5FIB-Q z;SR_Pm3;=_lzNgv6=#^;IRx7(=!`;=5h~m0l+>C4AExJ46osBKpHC3)k*Pz#j8F(s zd9bD+JyiBBs!A(*wLMl!rw+xKA^zS>=g{wn8~SX%$po4EE{5J1V3_j&m>TnV4ogjt zQGARW^I)c6%ndl^oMJ`#tB@!up|YO=jMW}MVqH7#7I)!&fsC6{Z{*FSwMe~Dj*h)mc!)%_s184(Y4Q$e(cCf89;)pnVlOq7C+aeCE&J$IA z?h5ms&H9Z`Kxb=>9Da&(J|rqUOg1AG7{)ROfgrR4qo`GSL?Cz)T z_HP%S78w`5j#36*BcjMpdPnxQ)cg$pEC)pxplI?x_@=cCK1;*xt#Gy4s2s>TfEzD} z#sEy>a!gx@yFqTptkWgeSxm^no`frU%;P9XN6VBuvpQ|K{p9JTL$vSfydszI7`99!JR6a z!8hZ0yWfW5`9R}gfTv%L+Sovjd4mt5znxFBM5@T_E0zh>Uz)38_Pu~k)a+A*55W;1 z(}c5chWXZdT8cc{5L+1WFVK{AKK{l2!>;5shG9qn#AkpB zDB<{P4xXu);TpF1Fk9RzOqBVa;7BpUwWPA_OH3a?gotcg#sjcOu#`WPZSBzl1HJd$ zrdYz5BeN-Zr&LKm_5-kTY~oA2_CG;?>?x)ay|(^1$%QyJfxrb7aLom{;PJ_uegu0w zcGG@i4%!u$SKm4c1>vG@huI0KIcY1N^m;?%CRWIvY63fULJojq0Tup}*dV$)02HC(%;T(u!f4Dl$bG-ygIO-??rkE>|F(Efj3MS-=#Os33@JJK* ztl}uS43`tZem!o(Mc|u|u=kksxSOuu#(ad~v$o+M1_sg87Z`)rCLHc-$fODExT+xleH^3zZ_+|R$DZuFEn7;2N8lrAJAE>Y^t|^p~$~`tB=1pVq*}1oWR#Tcy$A!`oksMNzlReThycOnuZi>%yt4`Ur7@N z7IUtaoJraKxWd0$0UAdR0OO}~`Y>X3>?}Uz;mO-ugJ0d=%COM|wTTpK0ebTmtN*)O zY`PRnL5kH}JRt0Nt^V*%DW<*vFkFg##$w}8EVOKV6#Z}83Yg||+}C2kJ6t zSPr1$nsEKcj^K<BO66s_d0mlb%b3{HC{}#hII|K=5zW=$c15Vlq;FJ!a zijOyM|A5d^9q6x}@i85b<}(gSz*%5N}ou6f&>1d$&D2jnj~f&myqP=TR(FUWcqU9gk*Xr}yW!IK5Bf zW86w4j1)+V=6dw}HQ#|>!OCM~wnalM<=gvmN6H`*zIny1L7LON}j+=$pF zG;yNxL<{yrIVVZe7EpJ9$^-lZ-Latz*A#U@v=gc_-B!Q&RTIEIjFi?U15mFCJw)jG z4<__a(OH9lt|YF{NzH3T36KOBu|}@}F2;Z4a5nJ3;{zKP@CW}}-|(azBz0`{aJJeS z(HtIYg~%xnS@c$MMMxlzv2JzxxR% zd_UT;DmTH48=?>?))SivlWV}eA;pvdw?K+L$70`BD%S8ITT{gfrC4pGST{gZhL)9M z9#@)E{cze9>qR;9nA{LcJ*9daYu~vT?NL!edlbya)S?f0>$O~1;#L(DjB& z6K%eDt|xvBqbLQ4G_qbN=C9Bn!)S&#krL+gSGixMBH8LGAnU#^FA+=U0~n~Pc1d<~}-U>)rM>%C&YgfQ;;Fw_yP1kp(JuD|Xp@mfK#Gye^K zA9IWue%KlF90A|&K2=#V4~xncOD1m1 zG5kIn(u@{<4=Ziw>~J=afs6k7>`>VbddHEU%(Eq&OhtZk70dVtu$$K!4~2Yaj)!4< zXv8hX*g9p%G{zo@S^-|i^$%}RQx65QdZB2QdjN+3zCT=BLGiEm0Jtq<+g<;#H^S&Z zUSkEpaMJ!kKqr+?*yEVI6pXk6|Fq_ydZ5uHOV`pk3q>tm>6iEx(j5%lL=4Ts(4CaQ zOo1$6iaBp>GQmCsO75Rb7R<$?)hAU+c16Rx0S{b%8?fwHS@MkQOYozs(iyT5$4|74#97hds5#jK`K3k&6hl>SI$Ff@fS#a!joFY)Zt$u zb&MzV5Ud@m1glx|Hl`A+UrUj+!9r3mPr>fXka`|dFY%!t`~wC5s7{#DVeBcyFGue|ipMP$D`JLvH=7#!xLF8XgnOby zXjv*XT1$}Dy}aVY_y4b;`hNNYW5X>Q74M(g1nKVb%(c*qb-G^A_@3?y^$pvv zHV!GyAA)%QXJCYk_fKUdi+$s#Cfwy3ZMTVY1(d`2#0rK&lh_pZoz8ianZk6g1TTae z7B9KyMEbk;XQLAD|3^4?`@@g3LLjvqFB0$nEIu&a|M%U{#J`O9-$X*PG2VYUd~Mu# z|J7#WEor>}XAe|Q67T=Dxwgl(6P#1j!Bqqncf-7q3T(}Y+wk*x@Hle-F3D{dUuUQt z@_2YUt8x3k6BdTvc>gy5lNW&r?AQ~EClT*|9BQmK>}*I@Ah5I@N+USlnciM@nhot< z#-NT|C-wH?58qc?bf4QrcCi38#8cch>I1%Ofe!@NL>=t~3}p^7-hhOpUck!#7nPu1 zxw=sC{-489x3ZGpco>f^74Ki`1;qPb8sI)2-FU7SK<{!)4Kabkw;P#mZ&mtqJ*#KiDYj1a! z$Hs;oziGQr=4;eq%zu7zO-#1%cWkE;B5kC|J^>uAXYJ#3Iu|`K+COx2=QHVtJy?>5 zvg3en?eF0B9?VMf#{0*2F`Rh+C-wwP5xQs}$XT%i5#%?Au+Hid?S(2j;QwHFZ*+-{ zJ`+(e@f0e0u)3M{4hf^o`tVifqBCP#Xjwb3wiEYXowG2AOy|hKTpjnn>SBf3|o`UCL%$LFBr*Qi`$-+a(zcFevu?1Pt(yKUL(};-6^NG z!9NksOv$kNL{>C-1Jhx6ho2FuNzi}5menB_>7K(+&hTqdL@jJW%i3eqLdWZ+9SvAq zun1cSR{Y`Dq`X{(S||zkv86z21H4obOTHxM|Iqd>a8^#=|9H34g~lnF zP!ITU3M@N@D0d%;^}4k`Tuwl3PW{Ofy|oD9N2JgnAy6 za_b_O{_pqNdq2-}E)(DH@Bi)fYR>cQXJ6J{d#$zCUVH7ey@<|NLN4I-0HOcCmhhB_ zUit+d7`^o3#WHNl+_$P7yAAakj9^0l&*mHN6>7{@seSRj5r87|PJO{$_${V$%qH_) zMRrVJ%xq2!DPwjXvY0UonKAp1)T6e5{D2AN*y9!nz7#z^DOm%B3Y5y81{9gm;^D9X zrBJ3oAs;e*8)15HJD22hh;~-i?B0|mw9U_dAEz5X3Ln|4Uu3#lYVWA1!@Y;nsdc1W zO`HG~9ruh#^8*w1Ot|J?pp<|)Lba%uK?CZd9y2GH{jlf|l`5D3TY>a&BcrBdm#4l| zNXZw6h42eK3{tYBfp8b5b9|=r-8Vjc)5qsRWHIB@&5X}LsYj1b3QuXsG*9siRxtXQ z!N6yGgFR(?Ed26d7HvX~0q2^Kr5 zh0JS=K+hRX5q2oBhwVla(9|K0-<6kb44e=OoFXsdI}@TTo5F|@=ts)C7lFR7yr)K> z&ts}D0{s!)9Ck2<2;BNox*2Bxlj1ybzr}NbD!|h<2j91LY^-1 zLMJyRI5mo(W$@2&DSJP$Yj~*vWq`6~Dr=rzw)#0;MhYP{W*5Xy`2sUJ^dP0s?XX`V z#N^irkU|+EiP8N@B8mMC-w0kypdyLgi)3f02rkpQmUD`Z;bQS8F)kmS8S%# z_^B^_5L(Rex^6AzARJkS#wrG*Uojdq3o(NL=t#%xjNM253YZLRDi&fU8YNaA=rRQn6xv7Z%P3Fs(;zij-HQ_ zqz8LuxRjQZOuB?Udm$-S+k7QhXmWgg6|af+O%=r3(G;=0AaqJ0z&HA5a?B=ZzbC>s zU8dJ01r&=gXr7E2Y2}M%IgG#w#cDwd1#}F*#L9Z&2TDFq6vuOGcLRl_E0oXTt4LBM z?4MVe?>mQ?aW`Yiy!fEW4UB@;r%CR9&?U3a!eJgb(MkgDa-v47UdCeNu*Ng;oO=h1 zq|UPHATelyI>2^q3W*q&28Uok zK9_Tgm?VJLLBs8*?ey@qN* zIG`j%W8}>eU6puJjMPy0M#+|7bPn^Hu{PGz=scC`(GsX27=25n3JEaS6N~^o0Eas> zZM6?$U&yU56U5nlF{a28!>YS67{lu8M&awa8$rSL*oMA|s7LZd z#9>pI4@SqeC4|haq@sZ`6fWHc;d`2M6_)wnLLV7WgUjBK`X?Z{+P%MguCT}gs38Kx$W)j4o|q#aGLzNraIEQm(W$e-Zg z_$fMpp{-?S39VXfWjIV6>-Agf)T(ak-T&f`C)kyHpok~||x82@Vz7WPLxL2mc3 z6~Bo@rXSx#MF~_8zl!Ff^o@E$8m<(Wic`VRubKkD$ixZU0$Gm~_wy34icYWJ(wBY% zULXwqi$J2vzM%{!v^o)o34E4$E>Ygw2!dx=#GTn?A#n5e9O+f)o-c5DFj^*+Cyg|a ztw*{C$`~OH=H^Jt=`nDl{o4I9(qMZGU#5}fx=pb(p*%|3QBz#aF$l*J=ZHbrR&omu z$)d|>TLkPw-_)UL-bLY0B5iVe)PSnvP_0H)oHf12?q!h}^$Ely7)g%>F`wt@S zYCzRta-d0HhNMvSp5#ZD)v*-&IJ5TrcNj}3$tk4&&lnpgx&P-Fiztlc)qt_<@mXW6 zkHOfDERu||<~Se}v=++&5YccI240nfbc}I+7A<#^I{uQon5X!mo8;pGPaP@MTyd0!nddbUQ#5FwMCcOlq zhbcP6lqn8vr=mbGdOQa~BP2}$Rmji?P5Ww)DFc%BRS!mr9~QkRT3p$_|Ah-1 z+yHJT`K5(@hd_o4qmt3Il5_W1UU^->+7 zLwt#b&{*?>NRL$IveF5tG*Z=-k2ew1S`SI$0EG}AiCa11_~Gf?!bK@G&$yXjDn#Nl z_x5RS;}odlX8z44G27|5nGHB-6Gg$n5H^(|%>Ah=)kR5!y4}7Ebfwi~?8+uhz|q50oHSkCW4U9PjLAqZ{9GUExEH3UYZhNQ|>%B=r zUP_c@Ag{3$b(A`}9%)s#GhE{iL-E7ak9rwQd&Rs-<}REq0%I^_c?LHNKr&qQB5ha} zjWFFCR+{=TlfuZQYKExkdC01 zFAG|y?gCoQ!k?6klaSFl3vN6$3{qEYr^>)Wh%Lrdpm@a~iR|(Q$;|L(2;d~+bjKfW zkWzBAWsaknLpx*sN-*A`tBOw8!i0X9QcS{!OlSwEN)@fI(I$LKiq^MhBT~x3jc7tF z%bJgEF+}Sd{{jW41XRQ|$B~7(P?PQY!*#SiDhuFE*{I@nDJ~{LCH8=4^+^)zbMWv= zIReIP@aJI(XF4;TW->+V{)vWF&_)1T04=c1)qr(7j;G?d?2Q;J6Rq#tX8?@^a%h?YRRPXUY^(42z}d3DTpX98(@*7i5m2~AZW@1>ylQXaxlK^8tksYq3C z1(9w9Cqwu$S3=Xr_Ir!Ws0om zE%g>3^{`I7qaRY9V+wqv=tE%F1`&}XrXaC$G^<(#E`=Gav=s+@Kx>@U+-m>Kag-77 zh-5wDcVMdnBYr1;IN}pfh5h4`>>aBX3Ho45GFrHVZ4Y1lmCP z#|GQomei3mj^Yeo5Zi)tv18Fh62|gMfyv723H&mMF8eCr$LHf=9nHRt;pgpGD`K*J z>3DV`JX(HyQ2i}X?bQNZjsJ_FBaXid(VWFe5bXm*Tc4;?OWIdGcfQ5)vTuB7YaGWJ z23-pJ=i8{WFg~iaSo39D0(*rj=43={rb6+Z(FiOqpm8fqhE>amhH1Ize6NwLV9NF&7BM?n^^~NK9wmd8%T2~p6tdzr#g|=j-#WT z@Q&eQ5?M873do918upxFimWKjD(3+8W{=VxIOWaZY^Jb`=Nx$)M?@Xzj$(XK5s<#T zB~#@{_i+(+HhesPU_rOuLB)2-OyuN5{Vezz1Nyk+cL&rQp7#geQDk->N>>lEyJ6gb zK^QKLXNmP30e)EkcDgrYtvPo{t>GS-E3c(z7UkaA3B>{UAFu)_X>ofco8WQoC6D9D z==joL<%^jRLkOK!GVMsHAIw+?_0wG{rj^5u1&C?NjRn|+>J&o#9FA=E5Ohlo*va02 z9hWv>K|Nsf(6E0Wq6Taq`@hWxSEPd9oihcXoZ|%vYMeF@`!Y^PAM1`&jD88R@Ff0l zoYoVd&mTihj?>d>oPIlo`P0T}sb)OoJxX!#2ufEEw5JkvGET;u#F|eye*m1$-(L#_ zl?n{u8JVjd1Nlfvqedx$!WgB2>rk!8^iM0;07vO4f~r?!s_T`u4;wN#C)sHGN49;p zYP+$tt+4Wrz)I?^FQ5qZPQ;!9uoC4DvC@ZFS^6kNrQ4%TqLYL_mmq9uxcSUSW&}dP z7PM-su1t~xJB&hcFuFn}g9nLp=v=fy@wk)lJ`0uEK8Ib@?kUzzOmCGx^V=Jn1&=)i z>hJ}b!RX$?kH@H*8?)TT?=Meoe9a69Mz*Z_2{@eN0D@q#JG8aR-E6rVTDG49RElUx z!&=HTmfk77M@?S)*d(M3-B#@07b~Luo}H+Ntrq7SB!gu;3G`|}a;3W*kYWU))8eEK zc1JKEb@{^qc@H(%9RaPMObaD{+E82s<<`&=dxAisC=D|Gk>!OQ3BFZBn0d|v=#zB&pX*+;89 z3;6{OV7FFfK6~FudLQo3nnU5oQ7~w2q+0AAsX3a94mnbD|7}n^?;=e+2!tw{xQ&da zW}X{_=lnD=j47arFlnO0pxyfyUXC^?Z_b8Tbh_iSeE|V9M1L_-7XFuT9ghrluKEU4 zp~y&nyOQ5zi5kkjlfXvb%>s%-*;{b-B^X^QtE{Yo*E+TKBoFY zgso*1HCfJ%Vvj9+F29=%zknzEVF0E2-j>l6Ro`6qjYs2`!kex=Ha>WJHoOg$ir}`0qPG<#cM4VA!NXjEhsB<>zQ`$u3=jnAhKTA)%V}^hI ziJs};6*u5KN-$cD6sHNy7Q#hpnG+N>5DJ~P+joQmu<+s2#Ok~3ka~ZR?>pJmQiZbf zP^T@l+hL>yOg};QL`r!C*d z?){ZHXqZHJRR91SEv0e;n07O5R(=JhCiUbAM@KhNH*)n`*?fCXU{)7?$yO4ybnH9+ z%A7TAzD<`CKYH^`<^Nl6zS#%gBw99|rNnmX+l>)_7~eiKIuX5H+EF`3X&cTkK6Zv+ z$<(o^>DX+AA=Y)T)FnlCWFK2l3p6dhM3pE8WGi1H zm|EnE-Gy5~I*c3bYBZ@QZJx977u146c>pDS)ru}Ub6E~q9B7ZnCR2h?2Se=8eD>u- zBa)-%3Dm$|N;^KsTp78h(#Lv&c;Cpik>W|4fZ`w|8-N?tc_Os|s79__Z2-=;FBqfO zM>UOH!X+Jc_!Y` z6R1J86$)R09t5oq@WJ^Nf9!FnSn*N^Ojnwh+VC-HN!AQ0<-Ig7@z*}IA9(2+%}YlB zNM|P|T8z@~kjI%wZZ1><;icKCA|l~6q`^aMEsn=vE~F0&&OgY@0`>Beyv*hcJb8Yb ztbC{s2ks)gY&~zb^C-UAuT3$%xSK#IiEyjH8*ixW!34V+yYbG2Cdz>%AvC9(V1lYN2$YU4+Vz|aU3G|h1$%au4 z^(g)*3qQuSbXnH*n4l1d<;@Ghxhm{2_oyLz7q#7wuDyzTD?z2&Q-`q&5KiA0h-Jn7 zf_caRkn(mBBs23-P`0HRk7bjHgw3>f2|xb3J?h0U3l_D*E^HMaTH@h3J{-<{>0ipQ z(u=LAZc+IqFzd7i-|_f)DCZ$$!Hz9>LT#1O^qCxxg?^7;(YiX=;+S-kOtodML%>qG|^o~j5u%%3|Rcq9kpt}gqb$HO<+NK z|1KlN~w0b z;2d*hTPlN9)I7P6AB?rR(mN|VQRU1=7Jm%19o(hSy6r>Y++cJAH*d;h?dXNju=X*V zij6T!vfYdnXCnn4wNK-Ds5ke?k=7iXG$zG3e`6YnR1Kk|%%kqx2u}c913gi)Wo@F^ z(E1GqH-8NZ>+PAduLZR<#@bZaF;K5cvm-Pl9z=!4p~~q|A|pmugJfhbj4T>M>U&rO zm?B@ZrO&M;fwZ$2@6AWUbhDv0PX<(!7vTr^0C^F*b*umv1Qeb zd6+GHC2|C(rtCj!*l2-oPSB_`M-~kc`U&*H{t*@c_Rvypx$kgJ0B&{g4pEM+AGw9q z0{V1PY6uCHE5Sg{F4$-FC)ql)R)AY8kLQ3_CvOuDLQ}!$C&Wf5>up$}g3&jr0mQS5 z8QhZFgwM;nw@pZe#%uyhC~evHy^Fbg+l0>{ZW{+|z1^G4JymTJf-glO{2DD4-Hayt zNRu6;%IrF($(Hi&HF;;oCM6!OugOkslOJA(Cch#nYm#Yl4HB9V2A!~S&*MO%&SQU3>mb}Sx!fs0l>d@K_D^d{UCR}03M`R z%PUP6ZlGo-SM0s%;Y=C|L=%#hYd7$X-LVe^M5q(9@nT%C^8rjDHwh2=mNl{WT*bG# zPVBu@T_DBj!^pRP@~X<@Fk-l=Ed10PAmg&EB8cSJCS~V&>s*=s5w>KYiNnTSetRzN zdE@jCHnR3C=K$|(r_bYV!F6W9JZ|^JeU1o^g=b$Dn5=5 z$TZKp{H$*nF-WXoj^1B%0!hS0=N!SL_|HXRdWv_Z zA<@{p5OQ_DeG~9g`J_j6gFcJp1pcPnx?<4Wu{`GFwr8ZYOEJf;G%o6rSU+UUrNG*jwi@nm9dNu@| z^Y%8R&hw@AT7lHMn3(Lxe5r+)x1C*Bn%S15Di*em-=XKc%9iX}9$YKzD^&(>$!ZnC z)?9fVGqgsA%2V+q6Q$D;uTTKrrho}$)x}TH>Wcs`-fHkRzKL+$bp<4SHrli6ng+yB zMOirx$(0@10JorFDb8nA(K9JGLfJ1a;LAmPiDzBikkcW|#^=bpXEtsv@2O_vmQ3}T zji=W&(_!wFfQKO(?VIl+{?&8| zZMUzD*w=4a(*V}A1Nc)84Rk$;RJEmUAeiw*Lt8~Y)~ei7ud~MtP2_ZyCXB{cG=*6Z zSS$MuWGR~H@JwvwC^iz~APwTvo!lDG^XrqBA;Ji*CrY2n!feBGM0%JWe8o2ztv>&i zsZ7>+)*$RURrX-jtx>hin8U#iNmHj-a7pFLm0;|84D^vDL@b$vAA;6QGRlz6_)<&0 zcw3cStMH{Z4V_!>WEto6oUxZ}$guP&&jqVa1?NMTe0*fMKz z?|AY1!P54Co>H)=6BaY!yeO=jYfuf`IohBR`c68X4%YK(2z6jyWkH!+*LdE>)>p;L zr0`A@&W{ILiswQ2;#vSyj?1+{JMa-|f^>;Y^S!hS^JzSHXagF_&cTEzYhlDFlio~0 z4i!}du*ODL1fx?`nWVtvXiNDsgn!&m2JF)!Xl+w%y^dXVY3o&3w;41AZM}7H# z5J!^Tc3UYZ;nrci#c;|&Mruj2NrB76`KX#5io!Bz(MyrYp`3KP9{DF>aDi`5-*|)k ziHiYA1AlbUDhx?2`&#CymqMPzCu?Cj{~}J3=fNh zV<9gDFLR~%^3)!pKlXG3&NIjZ{!Vu%6B2onU*oxJa6kiYyG`=r=e0!Kq~QIZFkOa; zn`xbwqANH6#|*hMn3s9JWS$RyXQ+Yu*Sh)7WBw&3zw-`0c;NwvQR@{5u$6i1>O<{t zn#yNHn*q$wm^60(epO@FdK!5ZCV`a(2sWs38nou)i$lFixfzcBbN_zCn<{)C(!zH$ z@DL=!*D#y=m}OZPV}l01hC$9HWyNzNRp*kz=x)ddd-|E;Zb;qwIt(JNdq-(|=Xhe%2;=r_*nU_u<%^#)X7@gyWplXLPi|xzCDK9uJldMrFBtipd z*@Ct)2|#4aoV3{KBFo~Ovjy<*fMg(yA5|DA^nln-!wuq;xj;-2_XqCEetK(C|D64Q z5nJK!QElJ&Ab1r1Z9gf{5m}q}xyX7JUJ*dnEc^(venu1aW2g)ue-DtQ^C3V1hMz0N ze27xcdyymn-4nUk=tXeOiEZW_Mc2x;ri_xEW zPjt}g49V!Urg)5pvjkn?V=_aOgW5f;9j_qzl8hijHzWn3M{jYvE2HHcN?9Afp#?1i z(OeWSjNgi54v6-|nL?x+y=C{JMo3zS2~10H$>6HUZiXdoVQdfRMr?dRs~*aG*CIH( zpzooNyOaC4TlcXa#E;Vxf9ScW+TV!+oFX&;n8GQMR!BKvxbpxPC=kf>D> zqmN+Ol^9*{8mamZvO_O>o4||_sYPg+tH=^MxX>LQ*^k=L*wQB2r~7l>rlT$P04L4Q2tbOoSDeiy+9?o zA1CLDx3_LW)g}w4n~EFY;V?WXA_7ep9f6Q;`;fc1b@iow@Opx2-8l$(K1H6QZg}{F z51sH(!H4z?+1e0bQDqC3Zj%=4?=NZ%b?tPA8pGA*yfkeexzkZdY#%tVv%#ALX~#SY znW;aZ*F~51<=Q7cY;i$oe3RgPA97;*FTUHwME}?hn22no>4D$K$9Uno{E6e}>b#b( zAkuj8y0?ie`_N8m*cY&xmoZ%Ssk)k?=~6`z%n7=9k!6aW&!V55u8NML{I@vLp+NuH z==d?1o!`a))UuB*q6|?odNy0wi{z_=gBD*M37!h30f$UM31le<_Rf76j|IVVe{#kl zD=34LcYds{KLVl*`?2UPq)ZQp7jS#+>Jv&PypO*1;Fwbk5IJebyFgJi_rr*74oqd< zfao0`T>-OpaetoinYg@5(g7cmFiUT^kLY2;X z;$!{IYKV%SmibkkD)<1LS3SjkLw|#7l{XbvCC~J8Wu_1!# zg$<&gqHn3XBxWg|(o8;b#uHZgl3z_0Dd9gdme3*NLG%bo4d_|K$TNHLWf!xYp!}R1-!orT$`uM7RKml-rmqY+a zCQg60Hq2LVceb_)E~m*Osx%@!-wj70ryonU@|7IJl5YY|jh+@_>UZasMtD^!E@_mi zrv37%P!}rzG|8$yzB}JxzrYizlexY=P`uf_AVtWE3C~hV0PTa{R$5(v3Z&B%i4M!J z+Mo4IlL<+W2MV|d(d+Z!xS!5`?FK#0)(_`#NKTnV#g)QiUhR&HV`cqNcg#8&f6?q2 za-&_i&(CNbt5jTkHv%7m*7XI1D(6^!2FXP)Da5-9xydjZvsL2~fOaHK2nD0%ED*}- zj+dhI@i6OYJY0_!uG}S4Y0-c4<5SeVs_TpL^AQ9SrlC6y?YKL?YwurL6!lhd*M2Vk z3G1q-enOELft86Ur`D!&?c^rA&UvEg0ljc>N|}Fn zq(w*x7?p;_f-q$?r!nf((FJJD3<@P}FuGW!2>vN%d&g&yR553$55frc$kC(?>nCt7 z(9bk%I(7hP)j_Bnz4_|JXUUIuglAmQ_WZ7&W{S@uUUTDFJCy5{Rz0+a`Y_BUgsm5t zrED)7j4fz_JZQe5{7j=Vk{A6BL4Lq#kp*BcGu-PtLO|}XKJ99#7->7p9e>1v1gtSG zL5%(mrJYj!CLCMHj}0tA6+#)T_tY$QD3CY=Y#0we^&|Q&wxla0Jv^D|FeF5G@?E+7 zp~2j?JCM;^SPI>~f-K_P^$6~77zQSg)RkS>fO5oexBB3<<%^Y*yARYTy-0TIdyN&+ zsZV*=l&YG<+s)m#H2h@Wb1jEW?KMV6NY=oYS<Fm{CUaw}OSM7gK z@6|HXtAupt2n9r%k7B}*8u|+7j@A0yQM`&V#i#-{}LUj4ue=?Z@0xqnFW z2yQl~K#a|*#rbD?2rTM^W|X|vr+k>abJZ5SUv22@wm5ZavGauEs>;9L3a)_PG$4?oB2nKc|{7Uzkc zFauJ)at*1${RZ>258O|$(cpg5nOz-=`O%Gk*%ec!7dcIj#78Ed+58WMk9iDgLpz6_ z9l>Ks5eoSnJ1^7kk8%cUEM_e63&vPthhXr*Y&N4`Fz4$4&tS=3w2nNr3>F=X$ZWf7 zZ|N??vM->9B+Q6+2m#OIQC*kml2Zhj=HH>^lb)wjr3Z;v#Q7zHq&&2WaG587XcIEx z+(_$;HxWfTv{_N8x~I{XjOQDx@s%mYrkfs1{cVv_$5h&&A1=MQ7dMfe8_ zWpgup%y&o;73@OE5)Lz+Q|SQCK}rR~pytk^R^#!75cP{FB21wsqM>MAh$}^oc!Lnn zI)o6&M0zsorx4v?$9fpWn<5JwmKqij3{8Fa5~zvzrIWg&{zjsR#Ux@60?I$M>e;A=fREzw0FG!g$p{~^lS{B;$O%5Bn z%Gg1OW*{+K14g%ghs zjDZxh5CTnbL1ce(v@&*0q7~@R%Lr9Y4*RXoQGRx*-~fW*@UNLF$Gz*-25HB_0ser( ztzs0mKN^bfn8&R1E@my^otv58oh8jC+wXePqshQ5cP%>dIC}>Jp4c$9m*-!wS?BX> z(~|_Yy9A2xgPAM8T=t@XAOU0xTw$E2S!*X%tMZjOm({IlFV&qc)u|(++a(jVrjw<1 z>1sRrO~k_O`NOUbXIJeZx~mVOa&)y`W@t{z)YVpOy$6AMf(VP{B?Q*9nEW3F)J&-^ z{K}?`2z&@C94Sfl@niP!r$MML58x{z*onHdG4DG*CK17Uq!`))5l}_9Hyo*m;0*#% z=TgDUI%!>DX1zd4%p5AIf|+CY6Z~*X{tz>>QP^I43Ew~juL2}s=7)_L`*12Gp6P>` znXHj)eJHyUC4TiH+q#>{=e84|LehMAYUWxWfRr<}1}z@AcCrMFe(*{d2wp>+i7Sz+ z6lOQh1Vo@4XJQsb08WaBC0lqRj}e8!@8d{K(0W03rHv!j2EK_SRwYD%GZz+6dnw>n zL+~k$sEQBY6ML$k55<`pxWA0JAASUksn1SP#?&Z!;5>=~_FY7zA&vz|DW8Qr&K1aD z4{@70nj%Rx(^RCBznT58>0+dZOP5x@&0qVM7HXuw#W$zbP^7d_4T%bBO<+UMv!Q*G z8{ecqmbgm91LZ&juvOds+{*Ui^D&9oXjTRYS7{LVYu}(jc#I&tI7G(vkFQX# zmN-`lKqR(Vk}AZu^iQHAyo^62wtG<6zI-s>Ky0@T6k?ko`O_rMCLhBjYeTO52@#g& zsKst{F&k2Iq;(;aUpNt!hq4Ekah`b$n^Jfwhog2d`jTviX5B(|rN86j^6vRNE@b9- zs=wnc%;ocUeEv(eNcaD|5D4i8sU*i?D((f7pR_K)EaRi}37i=Q4`5@mG)&0Sa2cnH z11t@nM<3MEQ04!SMhd9I1+gFO@_ayokdyn%SCAOsnN-XE9@tjI-2iCORQIPe;-|VF zkb)t`?bgf)-9U>~}7Zntay)j7BOZuO{kTv4sCt zdKT9;qvOe#qt2-?x6i(-Pm&H7wBTB^-@#%V)#Wr6xfTB8b9OQf;Il9Q24Eac04q8R zE=0{x5r%sQkBWCXw<^&CNWPt0tu9K9yY<8HZq_%jJi-xluVfIOh=tb z=U~Q>!25MXBcbdMVx;M#P`6Wy159bTNP1>GQ;Vyeg-Ec!9|-vM{BsA+&p6#LK}<0Tee< z0>>f@ zitX&YghHO{g2`C?nOP7d<;UeV$c|H=(|~bQ8_Jo=hvs+~&xb5Jm8|Tqj*1?_&D&7U zP52-OL{m0XfrpbQaIH zoy3p*@zFUFjz)H0J~aTVL@Le%A-j8U8jsG{6M)88VTr6@*LEaMhm~NkT|D=|iVdBB z@i#Df7v)s=n2+%z>;F;w77q_&Iz)1`ekbPDQ5WL5xhazsWOTF&MJUv?)oH2J00!au z-)GYi-cXlo?7x60(yP=H(Sowq#YVKSJNJ`MU?9|d3>%N9?Rub z@^TXK848>vFT45?BUxKNMbo?i?0b3lZUEbMKEJ2l09M6Zz8k;}UoU%}m_-)ABgk2Z z&wlHcMu+TQS`235d2<-?;or%$&X6qUfOU9~$2k$NJ>RSyTg075Y)3$qLyBYJk4AW; z;`s-CyU6*m&tZQZD+~xq#r-entKKhko^Qn-8H3$q5us)ft&r@O%17rkJZmdH2kR)P z48Fl?Lb~E$bryzzUBR>Bhe2E^R(!*{(PQ20fXon4C|rm$Mn$JMM_~DvPfHqzSr-vz z^D?$Z#-R1H*o#DS!!!h={!vnGMx%Z_>nAyylN6?9wp0M4{*@;SohKkCQB$gg3`P^~ z2`VhHx1%}`dzu-2M*W1a-^x58Z&&F1xb+bt+Wz=IKw@mMYst@^3DBw=!=3}Rvjw-B zj>J+bKYj$n3-_ZxD%z&v#gD~Zs^*Dyo#^{C$Ux>`PJrpIs2+$5HwEEAgbR&FdedNH z9q_T->Q>wf8+>Cx6$LT5Too74^o4(TJlul#0ZG6iyD+u_Bv%--;eL%>{5=YHENiBI##?k#D5rWa>dINS((I1Q0K@r3C&V1*l9f zb)y#{zbEj|K36`;;xu};RFylO+A|jm;5i8WlaU1tmCgrA3Nd5T8AAUNd(SDt45HaZ zuTWrU@y<~wq%F%} zv;;NyTveC@+m<&uL|CMv_@Nqwo%5dDykW$f(5efrbpa{Zm3;{`!v2dU7qrgxK04j; ztfmtMKId~E_{|LX&&rr52|wC$JujcUgmm*^lh4eIq41D9An}fOZV^5fiAPDJ01k!2 z_!_h>=12eiNUEMBF$Xfi9>`O?L5!!58X3w8c^ZiI2$^O`{%;^wIdtEG(Puta_gdX%}+QtrSDp9C;cXu#XELw!#>I>oI-v0?f$=*X@ zgRO#*$VdiWB-WBZTLtI~tMOF;?V&_b3j?T-jRKVZ8x5)Lq=+J}XaT6YnMNiv(m{Wz zNO6dN51T5Mu($A5JonRe1Z=6jK2HJGLjcp$q;D2f6oz|oiPQ9}6T8BJL9nHyS2w)E zgM+)fr;H~*dYYQ-f`K(PhE{eBgwE- zgZJ5R7+BHAn?U}M*-(P#im=IWf=)D-r@BE)i2d!@ppo*IAj+Lr&?~sbaSPJwO!G=7 z{3)N$Px!Ao9EXq%h3k)_I^VW25<}r@$MPkYw#ImN>-T_R?p(EzcW>uv@JalhdfmZ( zuIYUHRs-J=dI9jio&XL02UvZ2zEL~2paTU7RqlsqN_h}}%2y=KKL4;p201~;NwaGh z-uZvAdekif$ngJ$tW^i+7B&EFDPsphVBk*MxTtydys66OF;xgvY#yM=!i2GTtUQ~2 z*EWwWr*P)|76Ylw9^bVQEsR_fjE+~Nt|rW=#W!Qlus{g+A)z4DW;NW(p$w{*eift}ul37Jv&Lk5`3=?l!U7%WoVWCc$!RL;eI>ZD>tuDL@XgfViB%?Wi z;hcomNJZnRAa$OLg)=D7H2D^>@F>g#tsk)vbJQsoQw}K6TFZEE#pWLis|e|lifmRK zK*f=YBlx&au@gu`*y+t;j@0Ty03hxYmY00lHOl^k0*ma_MczGj>ICjhXQxA%%g0Xj zml<|?wiVdvZt%0+D}po?JPYJUjnf3r8av{D6+9~w!i@%H)@)j9j#M0n?&AU_Srn&S zpv2fF9lU@hSjn1exiSp5*nPw=B$G7UU(|&w8$FHs{Y4k(*9fGJse+xAJGmD z6Nwl;lIc`q-sij04(KhRxeB)SP=F_Lup&YRI$Lzf;pFA(1I7?@JXoTI=z-p?czFra zQB&VUkwvJim$VL^1?Y%zr3XsZgQw$7_!2!S?&++QoW_m9SEFz?OBAn7vZR=@kVH~6 z&|`~qeez<{_4Se-K8@+@di#^zuA?ux&vO zRao?E2%gaMQwCO-w<)`vph!l||J{tbw#)Sc^ZQIaZP*|7CBnX>`IqLV+2o2(aM~iP zZZ%TzAb5}4P@YXS)XY0CyiFlv&=v^sV!?J2V${1A=v7@*cIZi6Tvg!nQ0f@3(ll91R z{viU-k#;ok_?A^L)_`0Lt7zHoA68{OdKjd^*kJCG>N0>^lD_Y6Bxb@{75EY9d!cY{ zxPs{vK`--NN#EH3we?cw_cl67HdiByh@b>m>Q1vXyjCiL{LRG4N)m1BiptEsz!K#5 zB+=1bT3D zdwz{N9C}DI?7R}WT=t~`X$>K{yC0KbwFY<}9TKwNI8-|s=-tFDfqnz3bc%obF(SWq zC!fEXt@Bkk)Pl>mff4RJiW2LrgIJZ%Q$dwUl2{-FZ3wD`GOomejD*Be26NcEi?a1B zqBm7D8iEoS8P$ho0-Gi>pTwde$ZrJ5yoR;EJCl$kd#`7|FcMO$h2NX8H+$#VzYF63 zY!Bi+>9hxNPc+j(ELph4v>`~W;ncJ!&WaBKKeho3DTD1Uq9+J91dhk<6ms@|3qQiS zZ%BIhP^Ob}yAn4Z=l06Lx$mNgPkC4)HPpbecC0fh23jLkC5Fel3Hoy%pgJAT-b*0@ z^Uo+`BxBYWzn4G^J2L=u&YSoVKnsK=!{eAvKp*G3XZ~rlocWVQ%rIn8B1TAexYUqt z3*jW?tzF}}Dvs(>`^!!WqQ3>A8nh!ww;e>LzPK_4g3ge>0)Y}qXUg7!*nT=*OBU!L z3EK9fUTU!Y)JA?o{^$Zc`|mtdh(3|Q_5=0+tA1X?ai!G$o&$>;?OZ>cuKK(2!2O*7 z?JalT0`?h^H)g=4M<#l4T)T zKyZYy3y~SHG(|EtYz|}-60V7t2|HPrbmij@c*M+0 zzt2d;c}%%Fi+~6AU&W#A!t3x3>xeab#dv&lPj@<{V!Q}^;pN)V0R^<47pa(l+|~6X z6>eU`_qD*E*Lg$bq;FcJVgx=p=im{URmw=FbVf?~ z;~a^1Ie&2PRM{EM2at$>#z`y`o_{4@Mz&;*?9mijv@;BmchAnC_7+pkcDc;uvoky~ zAH~HHuv;^X_l@vjf+0~1cGYn0aDKoa->7hbWfmd4tu9iLd&$%m@q03(}o?*T7yb_nyn~FdS?1+v<^t63|7NLE&N0HhDO6V(plqjjpeWE z*Il&yB@pqtl>?{4-rrxAVH^7m<5uF^cq-w)s*>Re*^ z8>#GYT5~Jro8R(xI}%{H`rr!eX|>10T0R_yhXs5PGibTR`@C~*qFc6RnDs1`PAOq{fUup2n~_5b^A>x!cc&$@#7U| zgR$^mk;Fe43lS$K`BWJil}TM~@8HD07Cosl$3XmlDP^7+f*~l&YKDoecWi5X;C=Ss zog!usTU*2o24@iiEZF^SS7K&{&|LZk!_}~IyJF^US<1-0>vYhNFxz)#Q8U7ezFuRj zVsLSf8>o7C9OZ1I`bsN$nmDjM+`%!76awH!o;?W+21~Z%b$NcY1 z{TTuz88r&O%IK*V^pVP&75A#xAIUf${;zPJLIRmIY@V+^G=0KSabs#=+RV(Fnd~yV zJeP$J87xeB2gDZV4zw+uS!hSK&(!%JLr)X=ZqAgkv|Fu01h$#V4L%~wO%IYSS zr_`=x24>4N4rF3$X!Ir4}BG*8Da%_e*w5!jZN55@N4*?Gka=ti`Q%NO^3vn-E^eGmClR zi-hTc!Q>rh9KQ_#m>LC|MFzVDnYM%Vq2S!z1Me@;TtWytYoPm=SaEV`O z^#eegfNA4Qy$PeCQmcKbtC(ukhO6))ecgk}(7A3sW}AJj+0$WA2?i#h8bCduYLGv? zAl?(gW$@tqSij-^wF zP>0`n29<5@LwZ;L5l8YY$c=7<~cXA{99q#YQ^(PV2SA>VK)Nd_u>B z9vTAOv7prqXtdkuREprBRfr_&UxP5dwe2hy=0>PXAI?(il zXEzDkMAzY4q+$kEKThv;g2;mut}sp=pw+>W)8MRROU^^bh$ZJbR1>MV-@k5BopcUG zMewy<_%!)L#Z*3z1I^9lK>R6=lkmqXTB>8=)%<~d*ct^`>^`Vn_+vik9P`2zlHbQ4 zDwy(Dut<}{c$8Wr4AbRcYOI2&)~Ks`kiCnwnKNSDJv>AzX0po{;4%_G8U&$u++EWM7yI*OWedytwLvH7+fq-nXV@g1pn%photz?SM<;e3QEyWPwQ z0#$*rbW>(AWe!qknB0vi^`yTbfi}at*v&GVS?(nP!~?r{c12kN4+1oiikA=Ee06^m zTI?12QU!xYf_ zXwv)ZxG2jj9jW*f-JukYVsM=*l7V(*R1Lx!eBB(PQf;$(L?OcY_Z&qL+G6!5UNPj}I)dziBLXdng>( z*nm=zwq@q+*Kr29kx=Q?Q)Zu8@?&wy+gOz0{)?m7xbD#Xs;Ju1P1q~IakX|wR-6*FPr#+O`<8N7~qsP0Lez^VUK(6)^SAofz;F}?&mHbcVod#H^{!R#_+30}MBibJ=ZQRH9$cH&gF&hXa;^eB;IG|A z_aG!axQ0ErOZ0)9i8I*)6}%x^28B{{;NwgcsrmFGJjTM$@P|^fC91HSqFW?Q>lLBF z@F|kt6=f!Z$7S%3Gos9unqtQfS{szaT*jKP`v;txlOWb^e2P?zB$T|+633x8O8wz? z9z$jybHp|Ye_VW&*G$lwh|=i7-G$66^FJmOY&~=SZ-FPxIl93}#kFY19Wv)6Y_LWu zu18w+e_MABJ>F;ILsnF3Ssp~c4}#phq`Yp#vJ;$sf{i zchq1Pf`>sqMQ1uClt^b0J7(%WpG`cECKL!RBAg>si*2OE@EJ2uCY>ISJHn$!SG!t^ z&SN;M&t(yk<)|~+AjxuGHl8$Dss_tvv3p&>qUCe=G!ZL6M0AGe8woUH*8qY|<|POQ z*=EEnphdY#)=F+3{FANWtEJ_LYS|uw*02gx`hnz*RQ!VJ$+24qul1EqDQwmiq);N9 z{RrU}i7P*gSJH~4F5Wv zdDA4vNsxUhk^@fi3Wc-#vItSw?hHH$3a@ALy3^$^qZxO|^Z+=0(QKrm34HRLYA~za z6T`3Q@cB;wkfOuK`Itn9laK;YQ3L|ye86A(vyT)ZUXO1uw&-((boDcf;3QQ9f}gFn z#jdRVE>NSS`_&Ly!0SWo45j;A{YAs8ovX!rI(mu+;qhq@Hc=3c)e!R6&eah9hMp!v zsF^)daSdUbYRgzW;bWjC96Vv5eh=eG4f)15nHb*09}f9)Vz6;DzJVdR&*p3tNiBgf zu;T<{i*pD&m=qX8ZTmAY#sKL0T+(xogPGrw%oA{C4*rr@_+ANXN-`##acC1G!Tv=m zZUyvS$DC;*c5*%y(hWa3jew`oR0OJT3QhU3Z2c;{9q8MKrAc1z!o5S0SMX3gX^X21 z!wA5TE*XvdU9cD^`U)sgM0ORR*F<&+ACrhIUv*8KRY7F@wQu@R5!uQ3M$&QzF3N%X z3ik&>@~x1bDqbDL;gErwK9xNXUhVt_6T`Xu;lR~LZFc{rd|O;}O7#T$Z1&8Ey(2w1 zA{C`3o-LL#Y{h{0io>o&^B)AYJ{N* zWuGc9Tbgj(vK&et2IE;T?_MyTx$>SGjOQh$$`0VZ;_cAak9>&DG8oTW*oJmy;dA*? zHvAb@Y%Z7&5zIXb4Xb*igjy_Z400xa#Mj+}aJ3!y;#n`xLgX&;&=EaQ*qZ{0B(0+4vU=*P&*^B_w7!=Vei;C zm{gdeD0Z+XbPCgiPKYTW)$t_Nm54y&m5x*_0gO}*PscpyG)2ysK3O2O19x|b(y2EZ zdt&cLZC6m1%x%uWk!27`O0N)JW2#vUs3p&#(#c=MBSn@xN|1ab2{kNvHc?48OCFW~ zWy!CXJUg%sM4O3xy*rV%U-B@Qau@S2c^Yv%O@}U0MH6DEOhxC%?Hhi;(p+z;8-8kH8 zitEV7BUxF<{3g8isU%BNGABwg zAm7YJ7GZAXO8uhLP?PuML_r~Fzaj7o$)NOBF}*>Z2dMLiK#ZO40UMBmMTQ6I9}_v0N<1Px?Ah*P)r5OT%tbTljj`77D)^=6rPT20~%xqqq1b^U({~$#sTvi|b|d zUXg1N`9;ZxYlU_E@?j7eQ#lJmJkV*_&RYd?y&u4lTzh{3gq$wLa&EtmeO3z68K_=K zhg;%I73t9FWhRC@^M}&mc$BkGZ^*aBMT4D3Nnytl6Glhsgbd|V(3A!t$q!DWz#Vo) zS~$xHQ=_v>tdBX4G#=hJ36-WRsb9eaXLPBc^$5@cx$#Cf=A}w{W;=qyMdR%a@TBF2 z0;T)`K;@i+R?4UHsT-c$&B!fNIM%YU<6M9XcGbq+HeYH8sga7%ROX`+o?%_%Ji?O% z95tvtO}8mRbQUZzi_^7$Qx>PPd+1{YZ#k+}40YBpXw_B5npq*~pj}m;ze+8s*a%RZ z9nh;7^f!DH>Xx9t8NxxiL8(xd)>>T1jq8GexI$g;HK@1z*N0GFuVwsDRg2ayI$&PM zEnIES*>e`9p{GmXj)eYp$%D19JeRqJ@)AWYwgF zF>KJRey6kko~S=kv5$}K(G~kb0ALEAPgOA;7e7f;>_l@XgG6>Y)Z)$PCs z#cqk+txbuLDxr2JD^5pN*Jk4EoX61(ba#tYxy9QKTED8%_=()g302fREiFBn+9jFT4&FZS}N*pbB#=m!4zZ41^%9gMI>S zet@n*R28A9d$hMZJ~&wrZT8Gs98@}IU|li=sYgL9=EqIA)uKb;7*o6xDsE?#4_d=^ z@~cs`&gYw`THUv(DcdLle=PKgC=iM|zfhtk$5jwfYtTQ^kCX!ECJDgd&yeCTEgg>4k8@&zXaA z_EUeeZ^{s2)x&x_Qt<^);qZV!q{8N7OKLL;v+p51VzM|}r~)S5pfSr|JA08DrkVH_ zsTc~y$nA%7iKK03z4TABkCXNlZcm&K+&(Fa;)xXbD_>;!K72eET6d(P6^lI$Ho#^W zALqju28{7B3)4fS;xs;vL8`s_FEeKD2+di5>Ob4c9;B1@#T`l7jE&#A0!L z}2pk@*IFwJCVUI!6!6j(6JV9G#7jTF1-9~eX4 zz$Rm>0>%LL;phV#J@b=$)OhC$2tVtg6NqFYci&0gWGf!+||G?*C7)_wPY* zMNj%>O2+*(Jpy`~bm&rM-~M}=FsV;jwT9wQNyY~twvr{|1g?Yg?km=kk-zpIZz{=n zIlc*CYTYrEYtbMilYJ;!a^8fs-fqaJ`UtxW(b5xiWbfH4+$Se_twJaek&5Lk*NV;} z3W&{e6yHCKu0aZbn4p2+uYHRKVjjNvfH(&d%_uP!J% zfN&}E^lr4S$x*da{yCa7jg`D6CD*$p_a2LqW!Y1LbiJ{!L}^`Wqp#GtC{@16m(W$J zk^M>x7`7m7fvAT4%4gA<+OJfZM+Zc3!Lo?xc5iA+h?ZnQYd)%S-o~Hu?YgJ?aqiu$uxC{Owlc-Pg!dFL2qLuO9`O%-%Uz0 zP9R>h8bQo+Qj)Eng16mCDS=68HYOK49~T*5)-5fA^wN`3g2!M?ptVb-%Q~$0ML?X6 zih|H2YGS(eb3HL}TdRkf67;-O$TvL$%e*uI37B1mw%7C05I%5T>ct0{m+s${G%xKY zJ1j>rH7~VCz5~olb&)X`ZOmr>Xl z@M|FwA^V!$LP4ek?HZjY9>^+YstDR29>!xVT+JT}+HF{s*{gp>Z4k64RgbY3{=%9S zn^=F~Yx#0?SQ#RmXE2+fm6xTyaAgszO_Q*YgFXp62~|MC-bOAK3Hyg^^;5$3WV5dA zn0A8lr5x%Pgo6XOxIvnm_;X9rJ&$vx*$iT|8Gspv znmsX!tI%b020^+r7W6Voo&e7sCDxPMh6RGbe+TK4BriTot*WkLe10NxK>TF3bkhnR;Ii% z&i>?8r6pt|F;e*jxY<==8wC+?7M#g!ucK<6uBreFfyQj{$1PmDhm0LHaeU+i{-7$ zUn#r8NGC~^=--6?RWpridkVaNHwuE_8|23VHasZoR)9xL#8z%=&J3sQn*cX{9J;GL z7eSBzgk)k(vAn6Eo+`Rr#KUjhh#wf+3Suu)ISX2)C<*46&Cfh2JGu?tc`-$7SRy}u z9=HC!gANvqZe+$#7Ej#ZO3hH#F?_fcHE$$ebzM?4GCw|LFl9f^8R4?!bDJQh!W~C- z+zn(z2?sLu{-p)3GL%~oelGqAJDg1kPHZzQ!mq+*r@9-Txj*vr8oZsFACD<>%95f( zP#KLhfd`Jqy@`ltcD7g|ipr&g{nR>Rg(#u*A^HG-U1@be56kLFf8@}U8wyh^NH`qx z$XFhHxC|bEn|U^9^iGUBDWw6?zzqv}Sd=!AZmllL_5#UqO<&x|`I%Ue9b2V;#M_+U zuW_q=l&SF(jYrp!FB*Z3uVO0^=$uK8pAWt>c=xjzLU*d>&As7jBFE)Vcy+nO+03P zW4m0AD(4yGN^nehPB9p5giaU℘B04pqFl-tnuZRyTFWKmMN<47`MhR%`R)O-U!) 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
  • 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.1.0,<5\ngoogle-apitools>=0.5.31,<0.5.32\ngoogle-auth>=1.18.0,<3\n\n# Remaining requirements\nbottle==0.12.20\ndataclasses==0.7;python_version<'3.7'\ndocker==4.3.0\nmarshmallow-jsonapi==0.15.1\nmarshmallow==2.15.1\nsetuptools>=40.0.0\nargcomplete==1.12.3\nindexed_gzip==1.7.0\nratarmountcore==0.1.3\nPyYAML==5.4\npsutil==5.7.2\nsix==1.15.0\nSQLAlchemy==1.3.19\nwatchdog>=2.0.0\nfusepy==2.0.4\npygments>=2.12,<2.13\nclick==8.0.2\npython-dateutil==2.8.1\ndiffimg==0.2.3\nselenium==3.141.0\nrequests==2.25.0\nazure-storage-blob==12.4.0\nazure-core==1.8.0\nsentry-sdk==0.18.0\nrequests-oauthlib==1.1.0\noauthlib==2.1.0\nmarkdown2==2.4.0\nwheel==0.35.1\nurllib3==1.26.5\nretry==0.9.2\nspython==0.1.14\nflufl.lock==6.0\nkubernetes==12.0.1\ngoogle-cloud-storage==2.0.0\n" - with gzip.open(fname, 'wb') as f: - f.write(data.tostring()) + # with gzip.open(fname, 'wb') as f: + # f.write(data) # Test creating the index when file is unseekable, # then using the index when file is seekable. - with open(fname, 'rb') as f: - b = f.read() - fileobj = BytesIO(b) + # with open(fname, 'rb') as f: + # b = f.read() + # fileobj = BytesIO(b) - fileobj = GzipStream(open(tmp_filename, 'rb')) + fileobj = GzipStream(BytesIO(data)) """def new_seek(*args, **kwargs): raise OSError() diff --git a/indexed_gzip/tests/ctest_zran.c b/indexed_gzip/tests/ctest_zran.c deleted file mode 100644 index a6fb9ec3..00000000 --- a/indexed_gzip/tests/ctest_zran.c +++ /dev/null @@ -1,40508 +0,0 @@ -/* Generated by Cython 0.29.33 */ - -/* BEGIN: Cython Metadata -{ - "distutils": { - "define_macros": [ - [ - "CYTHON_TRACE_NOGIL", - "1" - ] - ], - "depends": [ - "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h", - "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/arrayscalars.h", - "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h", - "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h", - "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include/numpy/ufuncobject.h", - "indexed_gzip/zran.h", - "indexed_gzip/zran_file_util.h" - ], - "extra_compile_args": [ - "-Wall", - "-Wno-unused-function" - ], - "include_dirs": [ - "./indexed_gzip", - "indexed_gzip", - "/Users/wangjiani/wjn/Code/codalab/indexed_gzip/venv/lib/python3.7/site-packages/numpy/core/include" - ], - "libraries": [ - "z" - ], - "name": "indexed_gzip.tests.ctest_zran", - "sources": [ - "indexed_gzip/tests/ctest_zran.pyx", - "indexed_gzip/zran.c", - "indexed_gzip/zran_file_util.c" - ] - }, - "module_name": "indexed_gzip.tests.ctest_zran" -} -END: Cython Metadata */ - -#ifndef PY_SSIZE_T_CLEAN -#define PY_SSIZE_T_CLEAN -#endif /* PY_SSIZE_T_CLEAN */ -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.6+ or Python 3.3+. -#else -#define CYTHON_ABI "0_29_33" -#define CYTHON_HEX_VERSION 0x001D21F0 -#define CYTHON_FUTURE_DIVISION 1 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #if PY_VERSION_HEX >= 0x02070000 - #define HAVE_LONG_LONG - #endif -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#ifdef PYPY_VERSION - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif -#elif defined(PYSTON_VERSION) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif -#elif defined(PY_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_PYSTON 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #elif !defined(CYTHON_USE_PYTYPE_LOOKUP) - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #if PY_VERSION_HEX < 0x02070000 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #elif !defined(CYTHON_USE_PYLONG_INTERNALS) - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #if PY_VERSION_HEX >= 0x030B00A4 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #elif !defined(CYTHON_FAST_THREAD_STATE) - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL (PY_VERSION_HEX < 0x030A0000) - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000) - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) - #endif - #ifndef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) - #endif - #if PY_VERSION_HEX >= 0x030B00A4 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3) - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int32 uint32_t; - #endif - #endif -#else - #include -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) && __cplusplus >= 201103L - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #elif __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__ ) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag) - #define Py_OptimizeFlag 0 -#endif -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) - #define __Pyx_DefaultClassType PyClass_Type -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if PY_VERSION_HEX >= 0x030B00A1 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; - PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *call_result=NULL, *empty=NULL; - const char *fn_cstr=NULL; - const char *name_cstr=NULL; - PyCodeObject* co=NULL; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - if (!(kwds=PyDict_New())) goto end; - if (!(argcount=PyLong_FromLong(a))) goto end; - if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; - if (!(posonlyargcount=PyLong_FromLong(0))) goto end; - if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; - if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; - if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; - if (!(nlocals=PyLong_FromLong(l))) goto end; - if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; - if (!(stacksize=PyLong_FromLong(s))) goto end; - if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; - if (!(flags=PyLong_FromLong(f))) goto end; - if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; - if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; - if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; - if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; - if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; - if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto cleanup_code_too; - if (!(empty = PyTuple_New(0))) goto cleanup_code_too; // unfortunately __pyx_empty_tuple isn't available here - if (!(call_result = PyObject_Call(replace, empty, kwds))) goto cleanup_code_too; - Py_XDECREF((PyObject*)co); - co = (PyCodeObject*)call_result; - call_result = NULL; - if (0) { - cleanup_code_too: - Py_XDECREF((PyObject*)co); - co = NULL; - } - end: - Py_XDECREF(kwds); - Py_XDECREF(argcount); - Py_XDECREF(posonlyargcount); - Py_XDECREF(kwonlyargcount); - Py_XDECREF(nlocals); - Py_XDECREF(stacksize); - Py_XDECREF(replace); - Py_XDECREF(call_result); - Py_XDECREF(empty); - if (type) { - PyErr_Restore(type, value, traceback); - } - return co; - } -#else - #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif - #define __Pyx_DefaultClassType PyType_Type -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #define __Pyx_PyCFunctionFast _PyCFunctionFast - #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords -#endif -#if CYTHON_FAST_PYCCALL -#define __Pyx_PyFastCFunction_Check(func)\ - ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))))) -#else -#define __Pyx_PyFastCFunction_Check(func) 0 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1 - #define PyMem_RawMalloc(n) PyMem_Malloc(n) - #define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n) - #define PyMem_RawFree(p) PyMem_Free(p) -#endif -#if CYTHON_COMPILING_IN_PYSTON - #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -#else -#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name) -#endif -#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) - #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains) - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) -#else - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func)) -#else - #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifndef __PYX_EXTERN_C - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__indexed_gzip__tests__ctest_zran -#define __PYX_HAVE_API__indexed_gzip__tests__ctest_zran -/* Early includes */ -#include -#include -#include "numpy/arrayobject.h" -#include "numpy/ndarrayobject.h" -#include "numpy/ndarraytypes.h" -#include "numpy/arrayscalars.h" -#include "numpy/ufuncobject.h" - - /* NumPy API declarations from "numpy/__init__.pxd" */ - -#include -#include -#include -#include "sys/mman.h" -#include "zran.h" -#include "zran_file_util.h" -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s)) -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) { - const Py_UNICODE *u_end = u; - while (*u_end++) ; - return (size_t)(u_end - u - 1); -} -#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u)) -#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x)) -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -static PyObject *__pyx_m = NULL; -static PyObject *__pyx_d; -static PyObject *__pyx_b; -static PyObject *__pyx_cython_runtime = NULL; -static PyObject *__pyx_empty_tuple; -static PyObject *__pyx_empty_bytes; -static PyObject *__pyx_empty_unicode; -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm= __FILE__; -static const char *__pyx_filename; - -/* Header.proto */ -#if !defined(CYTHON_CCOMPLEX) - #if defined(__cplusplus) - #define CYTHON_CCOMPLEX 1 - #elif defined(_Complex_I) - #define CYTHON_CCOMPLEX 1 - #else - #define CYTHON_CCOMPLEX 0 - #endif -#endif -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - #include - #else - #include - #endif -#endif -#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) - #undef _Complex_I - #define _Complex_I 1.0fj -#endif - - -static const char *__pyx_f[] = { - "indexed_gzip/tests/ctest_zran.pyx", - "stringsource", - "venv/lib/python3.7/site-packages/numpy/__init__.pxd", - "venv/lib/python3.7/site-packages/Cython/Includes/cpython/type.pxd", -}; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":690 - * # in Cython to enable them only on the right systems. - * - * ctypedef npy_int8 int8_t # <<<<<<<<<<<<<< - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t - */ -typedef npy_int8 __pyx_t_5numpy_int8_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":691 - * - * ctypedef npy_int8 int8_t - * ctypedef npy_int16 int16_t # <<<<<<<<<<<<<< - * ctypedef npy_int32 int32_t - * ctypedef npy_int64 int64_t - */ -typedef npy_int16 __pyx_t_5numpy_int16_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":692 - * ctypedef npy_int8 int8_t - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t # <<<<<<<<<<<<<< - * ctypedef npy_int64 int64_t - * #ctypedef npy_int96 int96_t - */ -typedef npy_int32 __pyx_t_5numpy_int32_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":693 - * ctypedef npy_int16 int16_t - * ctypedef npy_int32 int32_t - * ctypedef npy_int64 int64_t # <<<<<<<<<<<<<< - * #ctypedef npy_int96 int96_t - * #ctypedef npy_int128 int128_t - */ -typedef npy_int64 __pyx_t_5numpy_int64_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":697 - * #ctypedef npy_int128 int128_t - * - * ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<< - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t - */ -typedef npy_uint8 __pyx_t_5numpy_uint8_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":698 - * - * ctypedef npy_uint8 uint8_t - * ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<< - * ctypedef npy_uint32 uint32_t - * ctypedef npy_uint64 uint64_t - */ -typedef npy_uint16 __pyx_t_5numpy_uint16_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":699 - * ctypedef npy_uint8 uint8_t - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<< - * ctypedef npy_uint64 uint64_t - * #ctypedef npy_uint96 uint96_t - */ -typedef npy_uint32 __pyx_t_5numpy_uint32_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":700 - * ctypedef npy_uint16 uint16_t - * ctypedef npy_uint32 uint32_t - * ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<< - * #ctypedef npy_uint96 uint96_t - * #ctypedef npy_uint128 uint128_t - */ -typedef npy_uint64 __pyx_t_5numpy_uint64_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":704 - * #ctypedef npy_uint128 uint128_t - * - * ctypedef npy_float32 float32_t # <<<<<<<<<<<<<< - * ctypedef npy_float64 float64_t - * #ctypedef npy_float80 float80_t - */ -typedef npy_float32 __pyx_t_5numpy_float32_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":705 - * - * ctypedef npy_float32 float32_t - * ctypedef npy_float64 float64_t # <<<<<<<<<<<<<< - * #ctypedef npy_float80 float80_t - * #ctypedef npy_float128 float128_t - */ -typedef npy_float64 __pyx_t_5numpy_float64_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":714 - * # The int types are mapped a bit surprising -- - * # numpy.int corresponds to 'l' and numpy.long to 'q' - * ctypedef npy_long int_t # <<<<<<<<<<<<<< - * ctypedef npy_longlong long_t - * ctypedef npy_longlong longlong_t - */ -typedef npy_long __pyx_t_5numpy_int_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":715 - * # numpy.int corresponds to 'l' and numpy.long to 'q' - * ctypedef npy_long int_t - * ctypedef npy_longlong long_t # <<<<<<<<<<<<<< - * ctypedef npy_longlong longlong_t - * - */ -typedef npy_longlong __pyx_t_5numpy_long_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":716 - * ctypedef npy_long int_t - * ctypedef npy_longlong long_t - * ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<< - * - * ctypedef npy_ulong uint_t - */ -typedef npy_longlong __pyx_t_5numpy_longlong_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":718 - * ctypedef npy_longlong longlong_t - * - * ctypedef npy_ulong uint_t # <<<<<<<<<<<<<< - * ctypedef npy_ulonglong ulong_t - * ctypedef npy_ulonglong ulonglong_t - */ -typedef npy_ulong __pyx_t_5numpy_uint_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":719 - * - * ctypedef npy_ulong uint_t - * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< - * ctypedef npy_ulonglong ulonglong_t - * - */ -typedef npy_ulonglong __pyx_t_5numpy_ulong_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":720 - * ctypedef npy_ulong uint_t - * ctypedef npy_ulonglong ulong_t - * ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<< - * - * ctypedef npy_intp intp_t - */ -typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":722 - * ctypedef npy_ulonglong ulonglong_t - * - * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< - * ctypedef npy_uintp uintp_t - * - */ -typedef npy_intp __pyx_t_5numpy_intp_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":723 - * - * ctypedef npy_intp intp_t - * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< - * - * ctypedef npy_double float_t - */ -typedef npy_uintp __pyx_t_5numpy_uintp_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":725 - * ctypedef npy_uintp uintp_t - * - * ctypedef npy_double float_t # <<<<<<<<<<<<<< - * ctypedef npy_double double_t - * ctypedef npy_longdouble longdouble_t - */ -typedef npy_double __pyx_t_5numpy_float_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":726 - * - * ctypedef npy_double float_t - * ctypedef npy_double double_t # <<<<<<<<<<<<<< - * ctypedef npy_longdouble longdouble_t - * - */ -typedef npy_double __pyx_t_5numpy_double_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":727 - * ctypedef npy_double float_t - * ctypedef npy_double double_t - * ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<< - * - * ctypedef npy_cfloat cfloat_t - */ -typedef npy_longdouble __pyx_t_5numpy_longdouble_t; -/* Declarations.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - typedef ::std::complex< float > __pyx_t_float_complex; - #else - typedef float _Complex __pyx_t_float_complex; - #endif -#else - typedef struct { float real, imag; } __pyx_t_float_complex; -#endif -static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); - -/* Declarations.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - typedef ::std::complex< double > __pyx_t_double_complex; - #else - typedef double _Complex __pyx_t_double_complex; - #endif -#else - typedef struct { double real, imag; } __pyx_t_double_complex; -#endif -static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); - - -/*--- Type declarations ---*/ -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer; -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__; -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn; -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation; -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":729 - * ctypedef npy_longdouble longdouble_t - * - * ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<< - * ctypedef npy_cdouble cdouble_t - * ctypedef npy_clongdouble clongdouble_t - */ -typedef npy_cfloat __pyx_t_5numpy_cfloat_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":730 - * - * ctypedef npy_cfloat cfloat_t - * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< - * ctypedef npy_clongdouble clongdouble_t - * - */ -typedef npy_cdouble __pyx_t_5numpy_cdouble_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":731 - * ctypedef npy_cfloat cfloat_t - * ctypedef npy_cdouble cdouble_t - * ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<< - * - * ctypedef npy_cdouble complex_t - */ -typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":733 - * ctypedef npy_clongdouble clongdouble_t - * - * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew1(a): - */ -typedef npy_cdouble __pyx_t_5numpy_complex_t; -struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element; -struct __pyx_defaults; -typedef struct __pyx_defaults __pyx_defaults; - -/* "indexed_gzip/tests/ctest_zran.pyx":77 - * np.import_array() - * - * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): # <<<<<<<<<<<<<< - * - * cdef void *buffer - */ -struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element { - int __pyx_n; - PyObject *seek; -}; -struct __pyx_defaults { - PyObject *__pyx_arg_flags; -}; - -/* "indexed_gzip/tests/ctest_zran.pyx":134 - * - * - * cdef class ReadBuffer: # <<<<<<<<<<<<<< - * """Wrapper around a chunk of memory. - * - */ -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer { - PyObject_HEAD - void *buffer; - int use_mmap; - size_t size; - PyObject *mmap_fd; - PyObject *mmap_path; -}; - - -/* "indexed_gzip/tests/ctest_zran.pyx":155 - * - * - * def __cinit__(self, size_t size, use_mmap=False): # <<<<<<<<<<<<<< - * """Allocate ``size`` bytes of memory. """ - * - */ -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ { - PyObject_HEAD - PyObject *__pyx_v_fd; - size_t __pyx_v_size; - PyObject *__pyx_v_th; -}; - - -/* "indexed_gzip/tests/ctest_zran.pyx":236 - * - * - * def return_fn(return_value): # <<<<<<<<<<<<<< - * return lambda *args, **kwargs: return_value - * - */ -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn { - PyObject_HEAD - PyObject *__pyx_v_return_value; -}; - - -/* "indexed_gzip/tests/ctest_zran.pyx":1240 - * - * - * def test_crc_validation(concat): # <<<<<<<<<<<<<< - * """Basic test of CRC validation. """ - * - */ -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation { - PyObject_HEAD - PyObject *__pyx_v__zran_init; - void *__pyx_v_buffer; - PyObject *__pyx_v_cmpdata; - PyObject *__pyx_v_data; - PyObject *__pyx_v_dsize; - PyObject *__pyx_v_f; - zran_index_t __pyx_v_index; -}; - - -/* "indexed_gzip/tests/ctest_zran.pyx":1346 - * - * - * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< - * """Make sure standard usage works with files that have null-padding after - * the GZIP footer. - */ -struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding { - PyObject_HEAD - PyObject *__pyx_v_f; - zran_index_t __pyx_v_index; - PyObject *__pyx_v_paddedcmpdata; -}; - - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, int); - void (*DECREF)(void*, PyObject*, int); - void (*GOTREF)(void*, PyObject*, int); - void (*GIVEREF)(void*, PyObject*, int); - void* (*SetupContext)(const char*, int, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) -#endif - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) - #define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* Profile.proto */ -#ifndef CYTHON_PROFILE -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_PYSTON - #define CYTHON_PROFILE 0 -#else - #define CYTHON_PROFILE 1 -#endif -#endif -#ifndef CYTHON_TRACE_NOGIL - #define CYTHON_TRACE_NOGIL 0 -#else - #if CYTHON_TRACE_NOGIL && !defined(CYTHON_TRACE) - #define CYTHON_TRACE 1 - #endif -#endif -#ifndef CYTHON_TRACE - #define CYTHON_TRACE 0 -#endif -#if CYTHON_TRACE - #undef CYTHON_PROFILE_REUSE_FRAME -#endif -#ifndef CYTHON_PROFILE_REUSE_FRAME - #define CYTHON_PROFILE_REUSE_FRAME 0 -#endif -#if CYTHON_PROFILE || CYTHON_TRACE - #include "compile.h" - #include "frameobject.h" - #include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #if CYTHON_PROFILE_REUSE_FRAME - #define CYTHON_FRAME_MODIFIER static - #define CYTHON_FRAME_DEL(frame) - #else - #define CYTHON_FRAME_MODIFIER - #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame) - #endif - #define __Pyx_TraceDeclarations\ - static PyCodeObject *__pyx_frame_code = NULL;\ - CYTHON_FRAME_MODIFIER PyFrameObject *__pyx_frame = NULL;\ - int __Pyx_use_tracing = 0; - #define __Pyx_TraceFrameInit(codeobj)\ - if (codeobj) __pyx_frame_code = (PyCodeObject*) codeobj; -#if PY_VERSION_HEX >= 0x030b00a2 - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->cframe->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate) PyThreadState_EnterTracing(tstate) - #define __Pyx_LeaveTracing(tstate) PyThreadState_LeaveTracing(tstate) -#elif PY_VERSION_HEX >= 0x030a00b1 - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->cframe->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate)\ - do { tstate->tracing++; tstate->cframe->use_tracing = 0; } while (0) - #define __Pyx_LeaveTracing(tstate)\ - do {\ - tstate->tracing--;\ - tstate->cframe->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ - || tstate->c_profilefunc != NULL);\ - } while (0) -#else - #define __Pyx_IsTracing(tstate, check_tracing, check_funcs)\ - (unlikely((tstate)->use_tracing) &&\ - (!(check_tracing) || !(tstate)->tracing) &&\ - (!(check_funcs) || (tstate)->c_profilefunc || (CYTHON_TRACE && (tstate)->c_tracefunc))) - #define __Pyx_EnterTracing(tstate)\ - do { tstate->tracing++; tstate->use_tracing = 0; } while (0) - #define __Pyx_LeaveTracing(tstate)\ - do {\ - tstate->tracing--;\ - tstate->use_tracing = ((CYTHON_TRACE && tstate->c_tracefunc != NULL)\ - || tstate->c_profilefunc != NULL);\ - } while (0) -#endif - #ifdef WITH_THREAD - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - }\ - PyGILState_Release(state);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } else {\ - PyThreadState* tstate = PyThreadState_GET();\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } - #else - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error)\ - { PyThreadState* tstate = PyThreadState_GET();\ - if (__Pyx_IsTracing(tstate, 1, 1)) {\ - __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&__pyx_frame_code, &__pyx_frame, tstate, funcname, srcfile, firstlineno);\ - if (unlikely(__Pyx_use_tracing < 0)) goto_error;\ - }\ - } - #endif - #define __Pyx_TraceException()\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 1)) {\ - __Pyx_EnterTracing(tstate);\ - PyObject *exc_info = __Pyx_GetExceptionTuple(tstate);\ - if (exc_info) {\ - if (CYTHON_TRACE && tstate->c_tracefunc)\ - tstate->c_tracefunc(\ - tstate->c_traceobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ - tstate->c_profilefunc(\ - tstate->c_profileobj, __pyx_frame, PyTrace_EXCEPTION, exc_info);\ - Py_DECREF(exc_info);\ - }\ - __Pyx_LeaveTracing(tstate);\ - }\ - } - static void __Pyx_call_return_trace_func(PyThreadState *tstate, PyFrameObject *frame, PyObject *result) { - PyObject *type, *value, *traceback; - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - __Pyx_EnterTracing(tstate); - if (CYTHON_TRACE && tstate->c_tracefunc) - tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result); - if (tstate->c_profilefunc) - tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result); - CYTHON_FRAME_DEL(frame); - __Pyx_LeaveTracing(tstate); - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - } - #ifdef WITH_THREAD - #define __Pyx_TraceReturn(result, nogil)\ - if (likely(!__Pyx_use_tracing)); else {\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - PyGILState_Release(state);\ - }\ - } else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - }\ - } - #else - #define __Pyx_TraceReturn(result, nogil)\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0)) {\ - __Pyx_call_return_trace_func(tstate, __pyx_frame, (PyObject*)result);\ - }\ - } - #endif - static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno); - static int __Pyx_TraceSetupAndCall(PyCodeObject** code, PyFrameObject** frame, PyThreadState* tstate, const char *funcname, const char *srcfile, int firstlineno); -#else - #define __Pyx_TraceDeclarations - #define __Pyx_TraceFrameInit(codeobj) - #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) if ((1)); else goto_error; - #define __Pyx_TraceException() - #define __Pyx_TraceReturn(result, nogil) -#endif -#if CYTHON_TRACE - static int __Pyx_call_line_trace_func(PyThreadState *tstate, PyFrameObject *frame, int lineno) { - int ret; - PyObject *type, *value, *traceback; - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - __Pyx_PyFrame_SetLineNumber(frame, lineno); - __Pyx_EnterTracing(tstate); - ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL); - __Pyx_LeaveTracing(tstate); - if (likely(!ret)) { - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - } else { - Py_XDECREF(type); - Py_XDECREF(value); - Py_XDECREF(traceback); - } - return ret; - } - #ifdef WITH_THREAD - #define __Pyx_TraceLine(lineno, nogil, goto_error)\ - if (likely(!__Pyx_use_tracing)); else {\ - if (nogil) {\ - if (CYTHON_TRACE_NOGIL) {\ - int ret = 0;\ - PyThreadState *tstate;\ - PyGILState_STATE state = PyGILState_Ensure();\ - tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - }\ - PyGILState_Release(state);\ - if (unlikely(ret)) goto_error;\ - }\ - } else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - if (unlikely(ret)) goto_error;\ - }\ - }\ - } - #else - #define __Pyx_TraceLine(lineno, nogil, goto_error)\ - if (likely(!__Pyx_use_tracing)); else {\ - PyThreadState* tstate = __Pyx_PyThreadState_Current;\ - if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && __pyx_frame->f_trace) {\ - int ret = __Pyx_call_line_trace_func(tstate, __pyx_frame, lineno);\ - if (unlikely(ret)) goto_error;\ - }\ - } - #endif -#else - #define __Pyx_TraceLine(lineno, nogil, goto_error) if ((1)); else goto_error; -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyCFunctionFastCall.proto */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); -#else -#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#else -#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if CYTHON_FAST_PYCALL - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif // CYTHON_FAST_PYCALL -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\ - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\ - const char* function_name); - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* None.proto */ -static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname); - -/* PyObjectCallNoArg.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); -#else -#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL) -#endif - -/* RaiseTooManyValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); - -/* RaiseNeedMoreValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -/* IterFinish.proto */ -static CYTHON_INLINE int __Pyx_IterFinish(void); - -/* UnpackItemEndCheck.proto */ -static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); - -/* FetchCommonType.proto */ -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED 1 -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { - PyCFunctionObject func; -#if PY_VERSION_HEX < 0x030500A0 - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; - PyObject *func_classobj; - void *defaults; - int defaults_pyobjects; - size_t defaults_size; // used by FusedFunction for copying defaults - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; -} __pyx_CyFunctionObject; -static PyTypeObject *__pyx_CyFunctionType = 0; -#define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType)) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *self, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(void); - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* WriteUnraisableException.proto */ -static void __Pyx_WriteUnraisable(const char *name, int clineno, - int lineno, const char *filename, - int full_traceback, int nogil); - -/* KeywordStringCheck.proto */ -static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); - -/* PyIntCompare.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); - -/* IncludeStringH.proto */ -#include - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* PyObjectSetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); -#else -#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) -#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) -#endif - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); -#if PY_MAJOR_VERSION < 3 - if (unlikely(PyInstance_Check(obj))) - return __Pyx_PyObject_GetAttrStr(obj, attr_name); -#endif - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#else -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* StrEquals.proto */ -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals -#else -#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals -#endif - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_FloorDivideObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_FloorDivideObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceFloorDivide(op1, op2) : PyNumber_FloorDivide(op1, op2)) -#endif - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) -#endif - -/* ListCompAppend.proto */ -#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS -static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { - PyListObject* L = (PyListObject*) list; - Py_ssize_t len = Py_SIZE(list); - if (likely(L->allocated > len)) { - Py_INCREF(x); - PyList_SET_ITEM(list, len, x); - __Pyx_SET_SIZE(list, len + 1); - return 0; - } - return PyList_Append(list, x); -} -#else -#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) -#endif - -/* PyFloatBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyFloat_TrueDivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyFloat_TrueDivideObjC(op1, op2, floatval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceTrueDivide(op1, op2) : PyNumber_TrueDivide(op1, op2)) -#endif - -/* None.proto */ -static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname); - -/* SetItemInt.proto */ -#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\ - __Pyx_SetItemInt_Generic(o, to_py_func(i), v))) -static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v); -static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, - int is_list, int wraparound, int boundscheck); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_RemainderObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_RemainderObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceRemainder(op1, op2) : PyNumber_Remainder(op1, op2)) -#endif - -/* SliceObject.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( - PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** py_start, PyObject** py_stop, PyObject** py_slice, - int has_cstart, int has_cstop, int wraparound); - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* SliceObject.proto */ -#define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)\ - __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound) -static CYTHON_INLINE int __Pyx_PyObject_SetSlice( - PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** py_start, PyObject** py_stop, PyObject** py_slice, - int has_cstart, int has_cstop, int wraparound); - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* PyObject_GenericGetAttr.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr -#endif - -/* PyObjectGetAttrStrNoError.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* SetupReduce.proto */ -static int __Pyx_setup_reduce(PyObject* type_obj); - -/* TypeImport.proto */ -#ifndef __PYX_HAVE_RT_ImportType_proto -#define __PYX_HAVE_RT_ImportType_proto -enum __Pyx_ImportType_CheckSize { - __Pyx_ImportType_CheckSize_Error = 0, - __Pyx_ImportType_CheckSize_Warn = 1, - __Pyx_ImportType_CheckSize_Ignore = 2 -}; -static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); -#endif - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* ImportFrom.proto */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* GCCDiagnostics.proto */ -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* RealImag.proto */ -#if CYTHON_CCOMPLEX - #ifdef __cplusplus - #define __Pyx_CREAL(z) ((z).real()) - #define __Pyx_CIMAG(z) ((z).imag()) - #else - #define __Pyx_CREAL(z) (__real__(z)) - #define __Pyx_CIMAG(z) (__imag__(z)) - #endif -#else - #define __Pyx_CREAL(z) ((z).real) - #define __Pyx_CIMAG(z) ((z).imag) -#endif -#if defined(__cplusplus) && CYTHON_CCOMPLEX\ - && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103) - #define __Pyx_SET_CREAL(z,x) ((z).real(x)) - #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) -#else - #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) - #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX - #define __Pyx_c_eq_float(a, b) ((a)==(b)) - #define __Pyx_c_sum_float(a, b) ((a)+(b)) - #define __Pyx_c_diff_float(a, b) ((a)-(b)) - #define __Pyx_c_prod_float(a, b) ((a)*(b)) - #define __Pyx_c_quot_float(a, b) ((a)/(b)) - #define __Pyx_c_neg_float(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_float(z) ((z)==(float)0) - #define __Pyx_c_conj_float(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_float(z) (::std::abs(z)) - #define __Pyx_c_pow_float(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_float(z) ((z)==0) - #define __Pyx_c_conj_float(z) (conjf(z)) - #if 1 - #define __Pyx_c_abs_float(z) (cabsf(z)) - #define __Pyx_c_pow_float(a, b) (cpowf(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex); - #if 1 - static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex); - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex); - #endif -#endif - -/* Arithmetic.proto */ -#if CYTHON_CCOMPLEX - #define __Pyx_c_eq_double(a, b) ((a)==(b)) - #define __Pyx_c_sum_double(a, b) ((a)+(b)) - #define __Pyx_c_diff_double(a, b) ((a)-(b)) - #define __Pyx_c_prod_double(a, b) ((a)*(b)) - #define __Pyx_c_quot_double(a, b) ((a)/(b)) - #define __Pyx_c_neg_double(a) (-(a)) - #ifdef __cplusplus - #define __Pyx_c_is_zero_double(z) ((z)==(double)0) - #define __Pyx_c_conj_double(z) (::std::conj(z)) - #if 1 - #define __Pyx_c_abs_double(z) (::std::abs(z)) - #define __Pyx_c_pow_double(a, b) (::std::pow(a, b)) - #endif - #else - #define __Pyx_c_is_zero_double(z) ((z)==0) - #define __Pyx_c_conj_double(z) (conj(z)) - #if 1 - #define __Pyx_c_abs_double(z) (cabs(z)) - #define __Pyx_c_pow_double(a, b) (cpow(a, b)) - #endif - #endif -#else - static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex); - static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex); - #if 1 - static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex); - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex); - #endif -#endif - -/* CIntFromPy.proto */ -static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE Py_intptr_t __Pyx_PyInt_As_Py_intptr_t(PyObject *); - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static int __Pyx_check_binary_version(void); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - - -/* Module declarations from 'cpython.buffer' */ - -/* Module declarations from 'libc.string' */ - -/* Module declarations from 'libc.stdio' */ - -/* Module declarations from '__builtin__' */ - -/* Module declarations from 'cpython.type' */ -static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; - -/* Module declarations from 'cpython' */ - -/* Module declarations from 'cpython.object' */ - -/* Module declarations from 'cpython.ref' */ - -/* Module declarations from 'cpython.mem' */ - -/* Module declarations from 'numpy' */ - -/* Module declarations from 'numpy' */ -static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; -static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; -static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; -static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; -static PyTypeObject *__pyx_ptype_5numpy_generic = 0; -static PyTypeObject *__pyx_ptype_5numpy_number = 0; -static PyTypeObject *__pyx_ptype_5numpy_integer = 0; -static PyTypeObject *__pyx_ptype_5numpy_signedinteger = 0; -static PyTypeObject *__pyx_ptype_5numpy_unsignedinteger = 0; -static PyTypeObject *__pyx_ptype_5numpy_inexact = 0; -static PyTypeObject *__pyx_ptype_5numpy_floating = 0; -static PyTypeObject *__pyx_ptype_5numpy_complexfloating = 0; -static PyTypeObject *__pyx_ptype_5numpy_flexible = 0; -static PyTypeObject *__pyx_ptype_5numpy_character = 0; -static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; -static CYTHON_INLINE int __pyx_f_5numpy_import_array(void); /*proto*/ - -/* Module declarations from 'posix.types' */ - -/* Module declarations from 'libc.stdint' */ - -/* Module declarations from 'cpython.exc' */ - -/* Module declarations from 'posix.mman' */ - -/* Module declarations from 'indexed_gzip.zran' */ - -/* Module declarations from 'indexed_gzip.zran_file_util' */ - -/* Module declarations from 'indexed_gzip.tests.ctest_zran' */ -static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer = 0; -static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ = 0; -static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn = 0; -static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation = 0; -static PyTypeObject *__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding = 0; -static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element(zran_index_t *, PyObject *, PyObject *, struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element *__pyx_optional_args); /*proto*/ -static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran__compare_indexes(zran_index_t *, zran_index_t *); /*proto*/ -static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran__write_index_file_v0(zran_index_t *, PyObject *); /*proto*/ -#define __Pyx_MODULE_NAME "indexed_gzip.tests.ctest_zran" -extern int __pyx_module_is_main_indexed_gzip__tests__ctest_zran; -int __pyx_module_is_main_indexed_gzip__tests__ctest_zran = 0; - -/* Implementation of 'indexed_gzip.tests.ctest_zran' */ -static PyObject *__pyx_builtin_ImportError; -static PyObject *__pyx_builtin_print; -static PyObject *__pyx_builtin_id; -static PyObject *__pyx_builtin_RuntimeError; -static PyObject *__pyx_builtin_NotImplementedError; -static PyObject *__pyx_builtin_MemoryError; -static PyObject *__pyx_builtin_TypeError; -static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_builtin_open; -static PyObject *__pyx_builtin_zip; -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_enumerate; -static const char __pyx_k_a[] = "a"; -static const char __pyx_k_f[] = "f"; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k_r[] = "r"; -static const char __pyx_k_s[] = "s"; -static const char __pyx_k_w[] = "w"; -static const char __pyx_k_fn[] = "fn"; -static const char __pyx_k_id[] = "id"; -static const char __pyx_k_io[] = "io"; -static const char __pyx_k_it[] = "it"; -static const char __pyx_k_np[] = "np"; -static const char __pyx_k_op[] = "op"; -static const char __pyx_k_os[] = "os"; -static const char __pyx_k_rb[] = "rb"; -static const char __pyx_k_se[] = "se"; -static const char __pyx_k_sp[] = "sp"; -static const char __pyx_k_wb[] = "wb"; -static const char __pyx_k_zs[] = "zs"; -static const char __pyx_k_zt[] = "zt"; -static const char __pyx_k__30[] = "{} != {}"; -static const char __pyx_k__35[] = ""; -static const char __pyx_k__73[] = "*"; -static const char __pyx_k_a_2[] = "a+"; -static const char __pyx_k_abc[] = "abc"; -static const char __pyx_k_all[] = "all"; -static const char __pyx_k_buf[] = "buf"; -static const char __pyx_k_dbc[] = "dbc"; -static const char __pyx_k_dec[] = "dec"; -static const char __pyx_k_end[] = "end"; -static const char __pyx_k_eof[] = "eof"; -static const char __pyx_k_exp[] = "exp"; -static const char __pyx_k_got[] = "got"; -static const char __pyx_k_inp[] = "inp"; -static const char __pyx_k_mem[] = "mem"; -static const char __pyx_k_off[] = "off"; -static const char __pyx_k_out[] = "out"; -static const char __pyx_k_pad[] = "pad"; -static const char __pyx_k_r_2[] = "r+"; -static const char __pyx_k_ret[] = "ret"; -static const char __pyx_k_sbi[] = "sbi"; -static const char __pyx_k_sum[] = "sum"; -static const char __pyx_k_sys[] = "sys"; -static const char __pyx_k_val[] = "val"; -static const char __pyx_k_w_2[] = "w+"; -static const char __pyx_k_x_x[] = "{:x} != {:x}"; -static const char __pyx_k_zip[] = "zip"; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_cfid[] = "cfid"; -static const char __pyx_k_data[] = "data"; -static const char __pyx_k_exit[] = "__exit__"; -static const char __pyx_k_flag[] = "flag"; -static const char __pyx_k_gzip[] = "gzip"; -static const char __pyx_k_last[] = "last"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_mode[] = "mode"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_open[] = "open"; -static const char __pyx_k_poll[] = "poll"; -static const char __pyx_k_read[] = "read"; -static const char __pyx_k_seed[] = "seed"; -static const char __pyx_k_seek[] = "seek"; -static const char __pyx_k_size[] = "size"; -static const char __pyx_k_sort[] = "sort"; -static const char __pyx_k_stat[] = "stat"; -static const char __pyx_k_strm[] = "strm"; -static const char __pyx_k_tell[] = "tell"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_time[] = "time"; -static const char __pyx_k_wrap[] = "wrap"; -static const char __pyx_k_Error[] = "Error"; -static const char __pyx_k_GZIDX[] = "GZIDX\000\000"; -static const char __pyx_k_bmode[] = "bmode"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_cmode[] = "cmode"; -static const char __pyx_k_dsize[] = "dsize"; -static const char __pyx_k_dtype[] = "dtype"; -static const char __pyx_k_enter[] = "__enter__"; -static const char __pyx_k_files[] = "files"; -static const char __pyx_k_flags[] = "flags"; -static const char __pyx_k_flush[] = "flush"; -static const char __pyx_k_fsize[] = "fsize"; -static const char __pyx_k_ftell[] = "ftell: {}"; -static const char __pyx_k_index[] = "index"; -static const char __pyx_k_iters[] = "iters"; -static const char __pyx_k_modes[] = "modes"; -static const char __pyx_k_numpy[] = "numpy"; -static const char __pyx_k_print[] = "print"; -static const char __pyx_k_pybuf[] = "pybuf"; -static const char __pyx_k_pyfid[] = "pyfid"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_start[] = "start"; -static const char __pyx_k_uint8[] = "uint8"; -static const char __pyx_k_write[] = "write"; -static const char __pyx_k_zeros[] = "zeros"; -static const char __pyx_k_Thread[] = "Thread"; -static const char __pyx_k_arange[] = "arange"; -static const char __pyx_k_buffer[] = "buffer"; -static const char __pyx_k_concat[] = "concat"; -static const char __pyx_k_encode[] = "encode"; -static const char __pyx_k_exists[] = "exists"; -static const char __pyx_k_expval[] = "expval"; -static const char __pyx_k_fileno[] = "fileno"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_index1[] = "index1"; -static const char __pyx_k_index2[] = "index2"; -static const char __pyx_k_kwargs[] = "kwargs"; -static const char __pyx_k_nbytes[] = "nbytes: {}"; -static const char __pyx_k_nelems[] = "nelems: {}"; -static const char __pyx_k_niters[] = "niters"; -static const char __pyx_k_no_fds[] = "no_fds"; -static const char __pyx_k_output[] = "output"; -static const char __pyx_k_padoff[] = "padoff"; -static const char __pyx_k_random[] = "random"; -static const char __pyx_k_reduce[] = "__reduce__"; -static const char __pyx_k_remove[] = "remove"; -static const char __pyx_k_result[] = "result"; -static const char __pyx_k_seek_2[] = "seek: {}"; -static const char __pyx_k_shutil[] = "shutil"; -static const char __pyx_k_target[] = "target"; -static const char __pyx_k_tell_2[] = "tell: {}"; -static const char __pyx_k_uint32[] = "uint32"; -static const char __pyx_k_uint64[] = "uint64"; -static const char __pyx_k_BytesIO[] = "BytesIO"; -static const char __pyx_k_bufSize[] = "bufSize"; -static const char __pyx_k_bufsize[] = "bufsize"; -static const char __pyx_k_cidxfid[] = "cidxfid"; -static const char __pyx_k_cmpdata[] = "cmpdata"; -static const char __pyx_k_curelem[] = "curelem"; -static const char __pyx_k_data_gz[] = "data.gz"; -static const char __pyx_k_element[] = "element: {}"; -static const char __pyx_k_expread[] = "expread: {}"; -static const char __pyx_k_expseek[] = "expseek: {}"; -static const char __pyx_k_exptell[] = "exptell: {}"; -static const char __pyx_k_gotread[] = "gotread: {}"; -static const char __pyx_k_gotseek[] = "gotseek: {}"; -static const char __pyx_k_gottell[] = "gottell: {}"; -static const char __pyx_k_hashlib[] = "hashlib"; -static const char __pyx_k_idx_tmp[] = ".idx.tmp"; -static const char __pyx_k_initmem[] = "initmem"; -static const char __pyx_k_mkstemp[] = "mkstemp"; -static const char __pyx_k_nelemsp[] = "nelemsp"; -static const char __pyx_k_os_path[] = "os.path"; -static const char __pyx_k_padding[] = "padding"; -static const char __pyx_k_product[] = "product"; -static const char __pyx_k_randint[] = "randint"; -static const char __pyx_k_seekloc[] = "seekloc"; -static const char __pyx_k_sp_size[] = "{} != {} [sp={}, size={}]"; -static const char __pyx_k_spacing[] = "spacing"; -static const char __pyx_k_st_size[] = "st_size"; -static const char __pyx_k_tempdir[] = "tempdir"; -static const char __pyx_k_test_gz[] = "test.gz"; -static const char __pyx_k_tobytes[] = "tobytes"; -static const char __pyx_k_towrite[] = "towrite"; -static const char __pyx_k_bufsizes[] = "bufsizes"; -static const char __pyx_k_dummy_gz[] = "dummy.gz"; -static const char __pyx_k_error_fn[] = "error_fn"; -static const char __pyx_k_expected[] = "expected"; -static const char __pyx_k_filename[] = "filename"; -static const char __pyx_k_filesize[] = "filesize"; -static const char __pyx_k_getstate[] = "__getstate__"; -static const char __pyx_k_is_alive[] = "is_alive"; -static const char __pyx_k_nbytes_2[] = "nbytes"; -static const char __pyx_k_nelems_2[] = "nelems"; -static const char __pyx_k_pyidxfid[] = "pyidxfid"; -static const char __pyx_k_resource[] = "resource"; -static const char __pyx_k_seekable[] = "seekable"; -static const char __pyx_k_seekelem[] = "seekelem: {}"; -static const char __pyx_k_seekstep[] = "seekstep"; -static const char __pyx_k_setstate[] = "__setstate__"; -static const char __pyx_k_spacings[] = "spacings"; -static const char __pyx_k_strmoffs[] = "strmoffs"; -static const char __pyx_k_tempfile[] = "tempfile"; -static const char __pyx_k_testfile[] = "testfile"; -static const char __pyx_k_tostring[] = "tostring"; -static const char __pyx_k_use_mmap[] = "use_mmap"; -static const char __pyx_k_TypeError[] = "TypeError"; -static const char __pyx_k_enumerate[] = "enumerate"; -static const char __pyx_k_expread_2[] = "expread"; -static const char __pyx_k_expseek_2[] = "expseek"; -static const char __pyx_k_exptell_2[] = "exptell"; -static const char __pyx_k_getrusage[] = "getrusage"; -static const char __pyx_k_gotread_2[] = "gotread"; -static const char __pyx_k_gottell_2[] = "gottell"; -static const char __pyx_k_itertools[] = "itertools"; -static const char __pyx_k_mmap_fail[] = "mmap fail"; -static const char __pyx_k_readelems[] = "readelems: {}"; -static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; -static const char __pyx_k_return_fn[] = "return_fn"; -static const char __pyx_k_ru_maxrss[] = "ru_maxrss"; -static const char __pyx_k_seekelems[] = "seekelems"; -static const char __pyx_k_should_be[] = " should be: {}"; -static const char __pyx_k_test_feof[] = "test_feof"; -static const char __pyx_k_test_getc[] = "test_getc"; -static const char __pyx_k_test_init[] = "test_init"; -static const char __pyx_k_threading[] = "threading"; -static const char __pyx_k_zran_init[] = "_zran_init"; -static const char __pyx_k_ReadBuffer[] = "ReadBuffer"; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_contextlib[] = "contextlib"; -static const char __pyx_k_elems_read[] = "elems_read"; -static const char __pyx_k_frombuffer[] = "frombuffer"; -static const char __pyx_k_seek_point[] = "seek_point"; -static const char __pyx_k_seekpoints[] = "seekpoints"; -static const char __pyx_k_shouldpass[] = "shouldpass"; -static const char __pyx_k_subprocess[] = "subprocess"; -static const char __pyx_k_test_fread[] = "test_fread"; -static const char __pyx_k_test_fseek[] = "test_fseek"; -static const char __pyx_k_test_ftell[] = "test_ftell"; -static const char __pyx_k_windowSize[] = "windowSize"; -static const char __pyx_k_ImportError[] = "ImportError"; -static const char __pyx_k_MemoryError[] = "MemoryError"; -static const char __pyx_k_RUSAGE_SELF[] = "RUSAGE_SELF"; -static const char __pyx_k_concatenate[] = "concatenate"; -static const char __pyx_k_expect_read[] = "expect_read"; -static const char __pyx_k_expect_seek[] = "expect_seek"; -static const char __pyx_k_pyexportfid[] = "pyexportfid"; -static const char __pyx_k_readbufSize[] = "readbufSize"; -static const char __pyx_k_readelems_2[] = "readelems"; -static const char __pyx_k_seek_points[] = "seek_points"; -static const char __pyx_k_test_ferror[] = "test_ferror"; -static const char __pyx_k_test_fflush[] = "test_fflush"; -static const char __pyx_k_test_fwrite[] = "test_fwrite"; -static const char __pyx_k_0_2f_seconds[] = "{:0.2f} seconds"; -static const char __pyx_k_RuntimeError[] = "RuntimeError"; -static const char __pyx_k_expect_build[] = "expect_build"; -static const char __pyx_k_indexSpacing[] = "indexSpacing"; -static const char __pyx_k_readbuf_mmap[] = "readbuf_mmap_{}"; -static const char __pyx_k_readbuf_size[] = "readbuf_size"; -static const char __pyx_k_return_value[] = "return_value"; -static const char __pyx_k_version_info[] = "version_info"; -static const char __pyx_k_window_sizes[] = "window_sizes"; -static const char __pyx_k_data_gz_index[] = "data.gz.index"; -static const char __pyx_k_elems_written[] = "elems_written"; -static const char __pyx_k_paddedcmpdata[] = "paddedcmpdata"; -static const char __pyx_k_readbuf_sizes[] = "readbuf_sizes"; -static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; -static const char __pyx_k_run_crc_tests[] = "_run_crc_tests"; -static const char __pyx_k_test_read_all[] = "test_read_all"; -static const char __pyx_k_test_seek_cur[] = "test_seek_cur"; -static const char __pyx_k_test_seek_end[] = "test_seek_end"; -static const char __pyx_k_test_seekable[] = "test_seekable"; -static const char __pyx_k_compress_inmem[] = "compress_inmem"; -static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; -static const char __pyx_k_spacing_bufsize[] = "{} / {}: spacing={}, bufsize={} ... "; -static const char __pyx_k_Error_at_point_d[] = "Error at point %d"; -static const char __pyx_k_check_data_valid[] = "check_data_valid"; -static const char __pyx_k_test_random_seek[] = "test_random_seek"; -static const char __pyx_k_test_seek_to_end[] = "test_seek_to_end"; -static const char __pyx_k_PyMem_Realloc_fail[] = "PyMem_Realloc fail"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_test_no_auto_build[] = "test_no_auto_build"; -static const char __pyx_k_NotImplementedError[] = "NotImplementedError"; -static const char __pyx_k_test_crc_validation[] = "test_crc_validation"; -static const char __pyx_k_ReadBuffer_init_fail[] = "ReadBuffer init fail"; -static const char __pyx_k_test_build_then_read[] = "test_build_then_read"; -static const char __pyx_k_test_init_file_modes[] = "test_init_file_modes"; -static const char __pyx_k_test_seek_beyond_end[] = "test_seek_beyond_end"; -static const char __pyx_k_cinit___locals_lambda[] = "__cinit__.."; -static const char __pyx_k_reading_elements_from[] = "{} / {}: reading {} elements from {} ... "; -static const char __pyx_k_Memory_mapping_0_2f_GB[] = "Memory-mapping {:0.2f} GB ({})"; -static const char __pyx_k_cinit___locals_initmem[] = "__cinit__..initmem"; -static const char __pyx_k_return_fn_locals_lambda[] = "return_fn.."; -static const char __pyx_k_test_export_then_import[] = "test_export_then_import"; -static const char __pyx_k_test_read_all_sequential[] = "test_read_all_sequential"; -static const char __pyx_k_Padding_streams_orig_size[] = "Padding streams [orig size: {}] ..."; -static const char __pyx_k_test_random_seek_and_read[] = "test_random_seek_and_read"; -static const char __pyx_k_test_seek_then_read_block[] = "test_seek_then_read_block"; -static const char __pyx_k_test_readbuf_spacing_sizes[] = "test_readbuf_spacing_sizes"; -static const char __pyx_k_test_seekable_locals_lambda[] = "test_seekable.."; -static const char __pyx_k_test_sequential_seek_to_end[] = "test_sequential_seek_to_end"; -static const char __pyx_k_test_export_import_format_v0[] = "test_export_import_format_v0"; -static const char __pyx_k_test_export_import_no_points[] = "test_export_import_no_points"; -static const char __pyx_k_indexed_gzip_tests_ctest_zran[] = "indexed_gzip.tests.ctest_zran"; -static const char __pyx_k_test_inflateInit_leak_on_error[] = "test_inflateInit_leak_on_error"; -static const char __pyx_k_Cannot_resize_a_memmapped_array[] = "Cannot resize a memmapped array!"; -static const char __pyx_k_Copied_stream_from_to_padding_b[] = " Copied stream from [{} - {}] to [{} - {}] ({} padding bytes)"; -static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; -static const char __pyx_k_test_crc_validation_locals__run[] = "test_crc_validation.._run_crc_tests"; -static const char __pyx_k_test_crc_validation_locals_wrap[] = "test_crc_validation..wrap"; -static const char __pyx_k_indexed_gzip_tests_ctest_zran_py[] = "indexed_gzip/tests/ctest_zran.pyx"; -static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__"; -static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; -static const char __pyx_k_test_crc_validation_locals__zran[] = "test_crc_validation.._zran_init"; -static const char __pyx_k_test_read_eof_memmove_rotate_bug[] = "test_read_eof_memmove_rotate_bug"; -static const char __pyx_k_test_standard_usage_with_null_pa[] = "test_standard_usage_with_null_padding.._zran_init"; -static const char __pyx_k_test_standard_usage_with_null_pa_2[] = "test_standard_usage_with_null_padding"; -static PyObject *__pyx_kp_s_0_2f_seconds; -static PyObject *__pyx_n_s_BytesIO; -static PyObject *__pyx_kp_s_Cannot_resize_a_memmapped_array; -static PyObject *__pyx_kp_s_Copied_stream_from_to_padding_b; -static PyObject *__pyx_n_s_Error; -static PyObject *__pyx_kp_s_Error_at_point_d; -static PyObject *__pyx_kp_b_GZIDX; -static PyObject *__pyx_n_s_ImportError; -static PyObject *__pyx_n_s_MemoryError; -static PyObject *__pyx_kp_s_Memory_mapping_0_2f_GB; -static PyObject *__pyx_n_s_NotImplementedError; -static PyObject *__pyx_kp_s_Padding_streams_orig_size; -static PyObject *__pyx_kp_s_PyMem_Realloc_fail; -static PyObject *__pyx_n_s_RUSAGE_SELF; -static PyObject *__pyx_n_s_ReadBuffer; -static PyObject *__pyx_kp_s_ReadBuffer_init_fail; -static PyObject *__pyx_n_s_RuntimeError; -static PyObject *__pyx_n_s_Thread; -static PyObject *__pyx_n_s_TypeError; -static PyObject *__pyx_n_s_ValueError; -static PyObject *__pyx_kp_s__30; -static PyObject *__pyx_kp_s__35; -static PyObject *__pyx_n_s__73; -static PyObject *__pyx_n_s_a; -static PyObject *__pyx_kp_s_a_2; -static PyObject *__pyx_n_b_abc; -static PyObject *__pyx_n_s_all; -static PyObject *__pyx_n_s_arange; -static PyObject *__pyx_n_s_args; -static PyObject *__pyx_n_s_bmode; -static PyObject *__pyx_n_s_buf; -static PyObject *__pyx_n_s_bufSize; -static PyObject *__pyx_n_s_buffer; -static PyObject *__pyx_n_s_bufsize; -static PyObject *__pyx_n_s_bufsizes; -static PyObject *__pyx_n_s_cfid; -static PyObject *__pyx_n_s_check_data_valid; -static PyObject *__pyx_n_s_cidxfid; -static PyObject *__pyx_n_s_cinit___locals_initmem; -static PyObject *__pyx_n_s_cinit___locals_lambda; -static PyObject *__pyx_n_s_cline_in_traceback; -static PyObject *__pyx_n_s_close; -static PyObject *__pyx_n_s_cmode; -static PyObject *__pyx_n_s_cmpdata; -static PyObject *__pyx_n_s_compress_inmem; -static PyObject *__pyx_n_s_concat; -static PyObject *__pyx_n_s_concatenate; -static PyObject *__pyx_n_s_contextlib; -static PyObject *__pyx_n_s_curelem; -static PyObject *__pyx_n_s_data; -static PyObject *__pyx_kp_s_data_gz; -static PyObject *__pyx_kp_s_data_gz_index; -static PyObject *__pyx_n_b_dbc; -static PyObject *__pyx_n_b_dec; -static PyObject *__pyx_n_s_dsize; -static PyObject *__pyx_n_s_dtype; -static PyObject *__pyx_kp_s_dummy_gz; -static PyObject *__pyx_kp_s_element; -static PyObject *__pyx_n_s_elems_read; -static PyObject *__pyx_n_s_elems_written; -static PyObject *__pyx_n_s_encode; -static PyObject *__pyx_n_s_end; -static PyObject *__pyx_n_s_enter; -static PyObject *__pyx_n_s_enumerate; -static PyObject *__pyx_n_s_eof; -static PyObject *__pyx_n_s_error_fn; -static PyObject *__pyx_n_s_exists; -static PyObject *__pyx_n_s_exit; -static PyObject *__pyx_n_s_exp; -static PyObject *__pyx_n_s_expect_build; -static PyObject *__pyx_n_s_expect_read; -static PyObject *__pyx_n_s_expect_seek; -static PyObject *__pyx_n_s_expected; -static PyObject *__pyx_kp_s_expread; -static PyObject *__pyx_n_s_expread_2; -static PyObject *__pyx_kp_s_expseek; -static PyObject *__pyx_n_s_expseek_2; -static PyObject *__pyx_kp_s_exptell; -static PyObject *__pyx_n_s_exptell_2; -static PyObject *__pyx_n_s_expval; -static PyObject *__pyx_n_s_f; -static PyObject *__pyx_n_s_filename; -static PyObject *__pyx_n_s_fileno; -static PyObject *__pyx_n_s_files; -static PyObject *__pyx_n_s_filesize; -static PyObject *__pyx_n_s_flag; -static PyObject *__pyx_n_s_flags; -static PyObject *__pyx_n_s_flush; -static PyObject *__pyx_n_s_fn; -static PyObject *__pyx_n_s_format; -static PyObject *__pyx_n_s_frombuffer; -static PyObject *__pyx_n_s_fsize; -static PyObject *__pyx_kp_s_ftell; -static PyObject *__pyx_n_s_getrusage; -static PyObject *__pyx_n_s_getstate; -static PyObject *__pyx_n_s_got; -static PyObject *__pyx_kp_s_gotread; -static PyObject *__pyx_n_s_gotread_2; -static PyObject *__pyx_kp_s_gotseek; -static PyObject *__pyx_kp_s_gottell; -static PyObject *__pyx_n_s_gottell_2; -static PyObject *__pyx_n_s_gzip; -static PyObject *__pyx_n_s_hashlib; -static PyObject *__pyx_n_s_i; -static PyObject *__pyx_n_s_id; -static PyObject *__pyx_kp_s_idx_tmp; -static PyObject *__pyx_n_s_import; -static PyObject *__pyx_n_s_index; -static PyObject *__pyx_n_s_index1; -static PyObject *__pyx_n_s_index2; -static PyObject *__pyx_n_s_indexSpacing; -static PyObject *__pyx_n_s_indexed_gzip_tests_ctest_zran; -static PyObject *__pyx_kp_s_indexed_gzip_tests_ctest_zran_py; -static PyObject *__pyx_n_s_initmem; -static PyObject *__pyx_n_s_inp; -static PyObject *__pyx_n_s_io; -static PyObject *__pyx_n_s_is_alive; -static PyObject *__pyx_n_s_it; -static PyObject *__pyx_n_s_iters; -static PyObject *__pyx_n_s_itertools; -static PyObject *__pyx_n_s_kwargs; -static PyObject *__pyx_n_s_last; -static PyObject *__pyx_n_s_main; -static PyObject *__pyx_n_s_mem; -static PyObject *__pyx_n_s_mkstemp; -static PyObject *__pyx_kp_s_mmap_fail; -static PyObject *__pyx_n_s_mode; -static PyObject *__pyx_n_s_modes; -static PyObject *__pyx_n_s_name; -static PyObject *__pyx_kp_s_nbytes; -static PyObject *__pyx_n_s_nbytes_2; -static PyObject *__pyx_kp_s_nelems; -static PyObject *__pyx_n_s_nelems_2; -static PyObject *__pyx_n_s_nelemsp; -static PyObject *__pyx_n_s_niters; -static PyObject *__pyx_kp_s_no_default___reduce___due_to_non; -static PyObject *__pyx_n_s_no_fds; -static PyObject *__pyx_n_s_np; -static PyObject *__pyx_n_s_numpy; -static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to; -static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor; -static PyObject *__pyx_n_s_off; -static PyObject *__pyx_n_s_op; -static PyObject *__pyx_n_s_open; -static PyObject *__pyx_n_s_os; -static PyObject *__pyx_n_s_os_path; -static PyObject *__pyx_n_s_out; -static PyObject *__pyx_n_s_output; -static PyObject *__pyx_n_s_pad; -static PyObject *__pyx_n_s_paddedcmpdata; -static PyObject *__pyx_n_s_padding; -static PyObject *__pyx_n_s_padoff; -static PyObject *__pyx_n_s_poll; -static PyObject *__pyx_n_s_print; -static PyObject *__pyx_n_s_product; -static PyObject *__pyx_n_s_pybuf; -static PyObject *__pyx_n_s_pyexportfid; -static PyObject *__pyx_n_s_pyfid; -static PyObject *__pyx_n_s_pyidxfid; -static PyObject *__pyx_n_s_r; -static PyObject *__pyx_kp_s_r_2; -static PyObject *__pyx_n_s_randint; -static PyObject *__pyx_n_s_random; -static PyObject *__pyx_n_s_range; -static PyObject *__pyx_n_s_rb; -static PyObject *__pyx_n_s_read; -static PyObject *__pyx_n_s_readbufSize; -static PyObject *__pyx_kp_s_readbuf_mmap; -static PyObject *__pyx_n_s_readbuf_size; -static PyObject *__pyx_n_s_readbuf_sizes; -static PyObject *__pyx_kp_s_readelems; -static PyObject *__pyx_n_s_readelems_2; -static PyObject *__pyx_kp_s_reading_elements_from; -static PyObject *__pyx_n_s_reduce; -static PyObject *__pyx_n_s_reduce_cython; -static PyObject *__pyx_n_s_reduce_ex; -static PyObject *__pyx_n_s_remove; -static PyObject *__pyx_n_s_resource; -static PyObject *__pyx_n_s_result; -static PyObject *__pyx_n_s_ret; -static PyObject *__pyx_n_s_return_fn; -static PyObject *__pyx_n_s_return_fn_locals_lambda; -static PyObject *__pyx_n_s_return_value; -static PyObject *__pyx_n_s_ru_maxrss; -static PyObject *__pyx_n_s_run_crc_tests; -static PyObject *__pyx_n_s_s; -static PyObject *__pyx_n_s_sbi; -static PyObject *__pyx_n_s_se; -static PyObject *__pyx_n_s_seed; -static PyObject *__pyx_n_s_seek; -static PyObject *__pyx_kp_s_seek_2; -static PyObject *__pyx_n_s_seek_point; -static PyObject *__pyx_n_s_seek_points; -static PyObject *__pyx_n_s_seekable; -static PyObject *__pyx_kp_s_seekelem; -static PyObject *__pyx_n_s_seekelems; -static PyObject *__pyx_n_s_seekloc; -static PyObject *__pyx_n_s_seekpoints; -static PyObject *__pyx_n_s_seekstep; -static PyObject *__pyx_n_s_setstate; -static PyObject *__pyx_n_s_setstate_cython; -static PyObject *__pyx_kp_s_should_be; -static PyObject *__pyx_n_s_shouldpass; -static PyObject *__pyx_n_s_shutil; -static PyObject *__pyx_n_s_size; -static PyObject *__pyx_n_s_sort; -static PyObject *__pyx_n_s_sp; -static PyObject *__pyx_kp_s_sp_size; -static PyObject *__pyx_n_s_spacing; -static PyObject *__pyx_kp_s_spacing_bufsize; -static PyObject *__pyx_n_s_spacings; -static PyObject *__pyx_n_s_st_size; -static PyObject *__pyx_n_s_start; -static PyObject *__pyx_n_s_stat; -static PyObject *__pyx_n_s_strm; -static PyObject *__pyx_n_s_strmoffs; -static PyObject *__pyx_n_s_subprocess; -static PyObject *__pyx_n_s_sum; -static PyObject *__pyx_n_s_sys; -static PyObject *__pyx_n_s_target; -static PyObject *__pyx_n_s_tell; -static PyObject *__pyx_kp_s_tell_2; -static PyObject *__pyx_n_s_tempdir; -static PyObject *__pyx_n_s_tempfile; -static PyObject *__pyx_n_s_test; -static PyObject *__pyx_n_s_test_build_then_read; -static PyObject *__pyx_n_s_test_crc_validation; -static PyObject *__pyx_n_s_test_crc_validation_locals__run; -static PyObject *__pyx_n_s_test_crc_validation_locals__zran; -static PyObject *__pyx_n_s_test_crc_validation_locals_wrap; -static PyObject *__pyx_n_s_test_export_import_format_v0; -static PyObject *__pyx_n_s_test_export_import_no_points; -static PyObject *__pyx_n_s_test_export_then_import; -static PyObject *__pyx_n_s_test_feof; -static PyObject *__pyx_n_s_test_ferror; -static PyObject *__pyx_n_s_test_fflush; -static PyObject *__pyx_n_s_test_fread; -static PyObject *__pyx_n_s_test_fseek; -static PyObject *__pyx_n_s_test_ftell; -static PyObject *__pyx_n_s_test_fwrite; -static PyObject *__pyx_n_s_test_getc; -static PyObject *__pyx_kp_s_test_gz; -static PyObject *__pyx_n_s_test_inflateInit_leak_on_error; -static PyObject *__pyx_n_s_test_init; -static PyObject *__pyx_n_s_test_init_file_modes; -static PyObject *__pyx_n_s_test_no_auto_build; -static PyObject *__pyx_n_s_test_random_seek; -static PyObject *__pyx_n_s_test_random_seek_and_read; -static PyObject *__pyx_n_s_test_read_all; -static PyObject *__pyx_n_s_test_read_all_sequential; -static PyObject *__pyx_n_s_test_read_eof_memmove_rotate_bug; -static PyObject *__pyx_n_s_test_readbuf_spacing_sizes; -static PyObject *__pyx_n_s_test_seek_beyond_end; -static PyObject *__pyx_n_s_test_seek_cur; -static PyObject *__pyx_n_s_test_seek_end; -static PyObject *__pyx_n_s_test_seek_then_read_block; -static PyObject *__pyx_n_s_test_seek_to_end; -static PyObject *__pyx_n_s_test_seekable; -static PyObject *__pyx_n_s_test_seekable_locals_lambda; -static PyObject *__pyx_n_s_test_sequential_seek_to_end; -static PyObject *__pyx_n_s_test_standard_usage_with_null_pa; -static PyObject *__pyx_n_s_test_standard_usage_with_null_pa_2; -static PyObject *__pyx_n_s_testfile; -static PyObject *__pyx_n_s_threading; -static PyObject *__pyx_n_s_time; -static PyObject *__pyx_n_s_tobytes; -static PyObject *__pyx_n_s_tostring; -static PyObject *__pyx_n_s_towrite; -static PyObject *__pyx_n_s_uint32; -static PyObject *__pyx_n_s_uint64; -static PyObject *__pyx_n_s_uint8; -static PyObject *__pyx_n_s_use_mmap; -static PyObject *__pyx_n_s_val; -static PyObject *__pyx_n_s_version_info; -static PyObject *__pyx_n_s_w; -static PyObject *__pyx_kp_s_w_2; -static PyObject *__pyx_n_s_wb; -static PyObject *__pyx_n_s_windowSize; -static PyObject *__pyx_n_s_window_sizes; -static PyObject *__pyx_n_s_wrap; -static PyObject *__pyx_n_s_write; -static PyObject *__pyx_kp_s_x_x; -static PyObject *__pyx_n_s_zeros; -static PyObject *__pyx_n_s_zip; -static PyObject *__pyx_n_s_zran_init; -static PyObject *__pyx_n_s_zs; -static PyObject *__pyx_n_s_zt; -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___initmem(PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self); /* proto */ -static int __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer___cinit__(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, size_t __pyx_v_size, PyObject *__pyx_v_use_mmap); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, size_t __pyx_v_size); /* proto */ -static void __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_4__dealloc__(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_error_fn(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_2return_fn(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_return_value); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_4test_fread(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_6test_ftell(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_8test_fseek(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10test_feof(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_12test_ferror(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_14test_fflush(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_16test_fwrite(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_18test_getc(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_lambda_funcdef_lambda2(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_20test_seekable(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_22test_init(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_24test_init_file_modes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_26test_no_auto_build(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_28test_seek_to_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_30test_seek_cur(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_32test_seek_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_34test_seek_beyond_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_36test_sequential_seek_to_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_38test_random_seek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_40test_read_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_42test_seek_then_read_block(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_use_mmap); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_44test_random_seek_and_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_46test_read_all_sequential(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_48test_build_then_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_use_mmap); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_50test_readbuf_spacing_sizes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_no_fds); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(PyObject *__pyx_self, PyObject *__pyx_v_flags); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_66__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(PyObject *__pyx_self, PyObject *__pyx_v_shouldpass, PyObject *__pyx_v_flags); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_64test_read_eof_memmove_rotate_bug(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_seed); /* proto */ -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_float_8_; -static PyObject *__pyx_int_0; -static PyObject *__pyx_int_1; -static PyObject *__pyx_int_2; -static PyObject *__pyx_int_3; -static PyObject *__pyx_int_4; -static PyObject *__pyx_int_5; -static PyObject *__pyx_int_8; -static PyObject *__pyx_int_10; -static PyObject *__pyx_int_100; -static PyObject *__pyx_int_255; -static PyObject *__pyx_int_500; -static PyObject *__pyx_int_1000; -static PyObject *__pyx_int_1500; -static PyObject *__pyx_int_2000; -static PyObject *__pyx_int_5000; -static PyObject *__pyx_int_8192; -static PyObject *__pyx_int_10000; -static PyObject *__pyx_int_16384; -static PyObject *__pyx_int_24576; -static PyObject *__pyx_int_32768; -static PyObject *__pyx_int_65536; -static PyObject *__pyx_int_131072; -static PyObject *__pyx_int_262144; -static PyObject *__pyx_int_524288; -static PyObject *__pyx_int_525000; -static PyObject *__pyx_int_1000000; -static PyObject *__pyx_int_1048575; -static PyObject *__pyx_int_1048576; -static PyObject *__pyx_int_1048577; -static PyObject *__pyx_int_2097152; -static PyObject *__pyx_int_4194304; -static PyObject *__pyx_int_8388608; -static PyObject *__pyx_int_10485760; -static PyObject *__pyx_tuple_; -static PyObject *__pyx_tuple__2; -static PyObject *__pyx_tuple__4; -static PyObject *__pyx_tuple__5; -static PyObject *__pyx_tuple__6; -static PyObject *__pyx_tuple__7; -static PyObject *__pyx_tuple__8; -static PyObject *__pyx_tuple__9; -static PyObject *__pyx_slice__59; -static PyObject *__pyx_slice__66; -static PyObject *__pyx_tuple__11; -static PyObject *__pyx_tuple__23; -static PyObject *__pyx_tuple__42; -static PyObject *__pyx_tuple__43; -static PyObject *__pyx_tuple__44; -static PyObject *__pyx_tuple__45; -static PyObject *__pyx_tuple__46; -static PyObject *__pyx_tuple__47; -static PyObject *__pyx_tuple__49; -static PyObject *__pyx_tuple__51; -static PyObject *__pyx_tuple__53; -static PyObject *__pyx_tuple__55; -static PyObject *__pyx_tuple__57; -static PyObject *__pyx_tuple__58; -static PyObject *__pyx_tuple__63; -static PyObject *__pyx_tuple__64; -static PyObject *__pyx_tuple__65; -static PyObject *__pyx_tuple__68; -static PyObject *__pyx_tuple__69; -static PyObject *__pyx_tuple__70; -static PyObject *__pyx_tuple__71; -static PyObject *__pyx_tuple__72; -static PyObject *__pyx_tuple__74; -static PyObject *__pyx_tuple__75; -static PyObject *__pyx_tuple__76; -static PyObject *__pyx_tuple__77; -static PyObject *__pyx_tuple__78; -static PyObject *__pyx_tuple__79; -static PyObject *__pyx_tuple__80; -static PyObject *__pyx_tuple__81; -static PyObject *__pyx_tuple__82; -static PyObject *__pyx_tuple__83; -static PyObject *__pyx_tuple__84; -static PyObject *__pyx_tuple__85; -static PyObject *__pyx_tuple__86; -static PyObject *__pyx_tuple__87; -static PyObject *__pyx_tuple__88; -static PyObject *__pyx_tuple__89; -static PyObject *__pyx_tuple__90; -static PyObject *__pyx_tuple__91; -static PyObject *__pyx_tuple__92; -static PyObject *__pyx_tuple__93; -static PyObject *__pyx_tuple__94; -static PyObject *__pyx_tuple__95; -static PyObject *__pyx_tuple__96; -static PyObject *__pyx_tuple__97; -static PyObject *__pyx_tuple__98; -static PyObject *__pyx_tuple__99; -static PyObject *__pyx_codeobj__3; -static PyObject *__pyx_tuple__100; -static PyObject *__pyx_tuple__101; -static PyObject *__pyx_tuple__102; -static PyObject *__pyx_tuple__103; -static PyObject *__pyx_tuple__104; -static PyObject *__pyx_tuple__105; -static PyObject *__pyx_tuple__106; -static PyObject *__pyx_codeobj__10; -static PyObject *__pyx_codeobj__12; -static PyObject *__pyx_codeobj__13; -static PyObject *__pyx_codeobj__14; -static PyObject *__pyx_codeobj__15; -static PyObject *__pyx_codeobj__16; -static PyObject *__pyx_codeobj__17; -static PyObject *__pyx_codeobj__18; -static PyObject *__pyx_codeobj__19; -static PyObject *__pyx_codeobj__20; -static PyObject *__pyx_codeobj__21; -static PyObject *__pyx_codeobj__22; -static PyObject *__pyx_codeobj__24; -static PyObject *__pyx_codeobj__25; -static PyObject *__pyx_codeobj__26; -static PyObject *__pyx_codeobj__27; -static PyObject *__pyx_codeobj__28; -static PyObject *__pyx_codeobj__29; -static PyObject *__pyx_codeobj__31; -static PyObject *__pyx_codeobj__32; -static PyObject *__pyx_codeobj__33; -static PyObject *__pyx_codeobj__34; -static PyObject *__pyx_codeobj__36; -static PyObject *__pyx_codeobj__37; -static PyObject *__pyx_codeobj__38; -static PyObject *__pyx_codeobj__39; -static PyObject *__pyx_codeobj__40; -static PyObject *__pyx_codeobj__41; -static PyObject *__pyx_codeobj__48; -static PyObject *__pyx_codeobj__50; -static PyObject *__pyx_codeobj__52; -static PyObject *__pyx_codeobj__54; -static PyObject *__pyx_codeobj__56; -static PyObject *__pyx_codeobj__60; -static PyObject *__pyx_codeobj__61; -static PyObject *__pyx_codeobj__62; -static PyObject *__pyx_codeobj__67; -/* Late includes */ - -/* "indexed_gzip/tests/ctest_zran.pyx":77 - * np.import_array() - * - * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): # <<<<<<<<<<<<<< - * - * cdef void *buffer - */ - -static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element(zran_index_t *__pyx_v_index, PyObject *__pyx_v_element, PyObject *__pyx_v_nelems, struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element *__pyx_optional_args) { - PyObject *__pyx_v_seek = ((PyObject *)Py_True); - void *__pyx_v_buffer; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; - int __pyx_v_expseek; - PyObject *__pyx_v_exptell = NULL; - int __pyx_v_gotseek; - uint64_t __pyx_v_gottell; - long __pyx_v_expread; - int64_t __pyx_v_gotread; - PyObject *__pyx_v_pybuf = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - void *__pyx_t_2; - int __pyx_t_3; - int64_t __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("read_element", 0); - __Pyx_TraceCall("read_element", __pyx_f[0], 77, 0, __PYX_ERR(0, 77, __pyx_L1_error)); - if (__pyx_optional_args) { - if (__pyx_optional_args->__pyx_n > 0) { - __pyx_v_seek = __pyx_optional_args->seek; - } - } - - /* "indexed_gzip/tests/ctest_zran.pyx":81 - * cdef void *buffer - * - * buf = ReadBuffer(8) # <<<<<<<<<<<<<< - * buffer = buf.buffer - * - */ - __Pyx_TraceLine(81,0,__PYX_ERR(0, 81, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":82 - * - * buf = ReadBuffer(8) - * buffer = buf.buffer # <<<<<<<<<<<<<< - * - * if element >= nelems: expseek = zran.ZRAN_SEEK_EOF - */ - __Pyx_TraceLine(82,0,__PYX_ERR(0, 82, __pyx_L1_error)) - __pyx_t_2 = __pyx_v_buf->buffer; - __pyx_v_buffer = __pyx_t_2; - - /* "indexed_gzip/tests/ctest_zran.pyx":84 - * buffer = buf.buffer - * - * if element >= nelems: expseek = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< - * else: expseek = zran.ZRAN_SEEK_OK - * - */ - __Pyx_TraceLine(84,0,__PYX_ERR(0, 84, __pyx_L1_error)) - __pyx_t_1 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { - __pyx_v_expseek = ZRAN_SEEK_EOF; - goto __pyx_L3; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":85 - * - * if element >= nelems: expseek = zran.ZRAN_SEEK_EOF - * else: expseek = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * - * if element >= nelems: exptell = (nelems * 8) - */ - __Pyx_TraceLine(85,0,__PYX_ERR(0, 85, __pyx_L1_error)) - /*else*/ { - __pyx_v_expseek = ZRAN_SEEK_OK; - } - __pyx_L3:; - - /* "indexed_gzip/tests/ctest_zran.pyx":87 - * else: expseek = zran.ZRAN_SEEK_OK - * - * if element >= nelems: exptell = (nelems * 8) # <<<<<<<<<<<<<< - * else: exptell = element * 8 - * - */ - __Pyx_TraceLine(87,0,__PYX_ERR(0, 87, __pyx_L1_error)) - __pyx_t_1 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_exptell = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L4; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":88 - * - * if element >= nelems: exptell = (nelems * 8) - * else: exptell = element * 8 # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(88,0,__PYX_ERR(0, 88, __pyx_L1_error)) - /*else*/ { - __pyx_t_1 = PyNumber_Multiply(__pyx_v_element, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_exptell = __pyx_t_1; - __pyx_t_1 = 0; - } - __pyx_L4:; - - /* "indexed_gzip/tests/ctest_zran.pyx":91 - * - * - * if seek: # <<<<<<<<<<<<<< - * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) - * gottell = zran.zran_tell(index) - */ - __Pyx_TraceLine(91,0,__PYX_ERR(0, 91, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_seek); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 91, __pyx_L1_error) - if (__pyx_t_3) { - - /* "indexed_gzip/tests/ctest_zran.pyx":92 - * - * if seek: - * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) # <<<<<<<<<<<<<< - * gottell = zran.zran_tell(index) - * try: - */ - __Pyx_TraceLine(92,0,__PYX_ERR(0, 92, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_element, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_As_int64_t(__pyx_t_1); if (unlikely((__pyx_t_4 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_gotseek = zran_seek(__pyx_v_index, __pyx_t_4, SEEK_SET, NULL); - - /* "indexed_gzip/tests/ctest_zran.pyx":93 - * if seek: - * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) - * gottell = zran.zran_tell(index) # <<<<<<<<<<<<<< - * try: - * assert gotseek == expseek - */ - __Pyx_TraceLine(93,0,__PYX_ERR(0, 93, __pyx_L1_error)) - __pyx_v_gottell = zran_tell(__pyx_v_index); - - /* "indexed_gzip/tests/ctest_zran.pyx":94 - * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) - * gottell = zran.zran_tell(index) - * try: # <<<<<<<<<<<<<< - * assert gotseek == expseek - * assert gottell == exptell - */ - __Pyx_TraceLine(94,0,__PYX_ERR(0, 94, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":95 - * gottell = zran.zran_tell(index) - * try: - * assert gotseek == expseek # <<<<<<<<<<<<<< - * assert gottell == exptell - * except: - */ - __Pyx_TraceLine(95,0,__PYX_ERR(0, 95, __pyx_L6_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_gotseek == __pyx_v_expseek) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 95, __pyx_L6_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":96 - * try: - * assert gotseek == expseek - * assert gottell == exptell # <<<<<<<<<<<<<< - * except: - * print('expseek: {}'.format(expseek)) - */ - __Pyx_TraceLine(96,0,__PYX_ERR(0, 96, __pyx_L6_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_v_exptell, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 96, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 96, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_3)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 96, __pyx_L6_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":94 - * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) - * gottell = zran.zran_tell(index) - * try: # <<<<<<<<<<<<<< - * assert gotseek == expseek - * assert gottell == exptell - */ - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L11_try_end; - __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":97 - * assert gotseek == expseek - * assert gottell == exptell - * except: # <<<<<<<<<<<<<< - * print('expseek: {}'.format(expseek)) - * print('exptell: {}'.format(exptell)) - */ - __Pyx_TraceLine(97,0,__PYX_ERR(0, 97, __pyx_L8_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_1, &__pyx_t_9) < 0) __PYX_ERR(0, 97, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_9); - - /* "indexed_gzip/tests/ctest_zran.pyx":98 - * assert gottell == exptell - * except: - * print('expseek: {}'.format(expseek)) # <<<<<<<<<<<<<< - * print('exptell: {}'.format(exptell)) - * print('gotseek: {}'.format(gotseek)) - */ - __Pyx_TraceLine(98,0,__PYX_ERR(0, 98, __pyx_L8_except_error)) - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_expseek, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 98, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_expseek); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 98, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - } - } - __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 98, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 98, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":99 - * except: - * print('expseek: {}'.format(expseek)) - * print('exptell: {}'.format(exptell)) # <<<<<<<<<<<<<< - * print('gotseek: {}'.format(gotseek)) - * print('gottell: {}'.format(gottell)) - */ - __Pyx_TraceLine(99,0,__PYX_ERR(0, 99, __pyx_L8_except_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_exptell, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 99, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_exptell) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_exptell); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 99, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 99, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":100 - * print('expseek: {}'.format(expseek)) - * print('exptell: {}'.format(exptell)) - * print('gotseek: {}'.format(gotseek)) # <<<<<<<<<<<<<< - * print('gottell: {}'.format(gottell)) - * raise - */ - __Pyx_TraceLine(100,0,__PYX_ERR(0, 100, __pyx_L8_except_error)) - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gotseek, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 100, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_gotseek); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 100, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - } - } - __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 100, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 100, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":101 - * print('exptell: {}'.format(exptell)) - * print('gotseek: {}'.format(gotseek)) - * print('gottell: {}'.format(gottell)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(101,0,__PYX_ERR(0, 101, __pyx_L8_except_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gottell, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 101, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 101, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 101, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 101, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":102 - * print('gotseek: {}'.format(gotseek)) - * print('gottell: {}'.format(gottell)) - * raise # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(102,0,__PYX_ERR(0, 102, __pyx_L8_except_error)) - __Pyx_GIVEREF(__pyx_t_8); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestoreWithState(__pyx_t_8, __pyx_t_1, __pyx_t_9); - __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_9 = 0; - __PYX_ERR(0, 102, __pyx_L8_except_error) - } - __pyx_L8_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":94 - * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) - * gottell = zran.zran_tell(index) - * try: # <<<<<<<<<<<<<< - * assert gotseek == expseek - * assert gottell == exptell - */ - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); - goto __pyx_L1_error; - __pyx_L11_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":91 - * - * - * if seek: # <<<<<<<<<<<<<< - * gotseek = zran.zran_seek(index, element * 8, SEEK_SET, NULL) - * gottell = zran.zran_tell(index) - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":105 - * - * - * if element >= nelems: expread = zran.ZRAN_READ_EOF # <<<<<<<<<<<<<< - * else: expread = 8 - * - */ - __Pyx_TraceLine(105,0,__PYX_ERR(0, 105, __pyx_L1_error)) - __pyx_t_9 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 105, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 105, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_3) { - __pyx_v_expread = ZRAN_READ_EOF; - goto __pyx_L14; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":106 - * - * if element >= nelems: expread = zran.ZRAN_READ_EOF - * else: expread = 8 # <<<<<<<<<<<<<< - * - * if element >= nelems: exptell = (nelems * 8) - */ - __Pyx_TraceLine(106,0,__PYX_ERR(0, 106, __pyx_L1_error)) - /*else*/ { - __pyx_v_expread = 8; - } - __pyx_L14:; - - /* "indexed_gzip/tests/ctest_zran.pyx":108 - * else: expread = 8 - * - * if element >= nelems: exptell = (nelems * 8) # <<<<<<<<<<<<<< - * else: exptell = (element + 1) * 8 - * - */ - __Pyx_TraceLine(108,0,__PYX_ERR(0, 108, __pyx_L1_error)) - __pyx_t_9 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 108, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_3) { - __pyx_t_9 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF_SET(__pyx_v_exptell, __pyx_t_9); - __pyx_t_9 = 0; - goto __pyx_L15; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":109 - * - * if element >= nelems: exptell = (nelems * 8) - * else: exptell = (element + 1) * 8 # <<<<<<<<<<<<<< - * - * gotread = zran.zran_read(index, buffer, 8) - */ - __Pyx_TraceLine(109,0,__PYX_ERR(0, 109, __pyx_L1_error)) - /*else*/ { - __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_v_element, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = PyNumber_Multiply(__pyx_t_9, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF_SET(__pyx_v_exptell, __pyx_t_1); - __pyx_t_1 = 0; - } - __pyx_L15:; - - /* "indexed_gzip/tests/ctest_zran.pyx":111 - * else: exptell = (element + 1) * 8 - * - * gotread = zran.zran_read(index, buffer, 8) # <<<<<<<<<<<<<< - * gottell = zran.zran_tell(index) - * - */ - __Pyx_TraceLine(111,0,__PYX_ERR(0, 111, __pyx_L1_error)) - __pyx_v_gotread = zran_read(__pyx_v_index, __pyx_v_buffer, 8); - - /* "indexed_gzip/tests/ctest_zran.pyx":112 - * - * gotread = zran.zran_read(index, buffer, 8) - * gottell = zran.zran_tell(index) # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(112,0,__PYX_ERR(0, 112, __pyx_L1_error)) - __pyx_v_gottell = zran_tell(__pyx_v_index); - - /* "indexed_gzip/tests/ctest_zran.pyx":114 - * gottell = zran.zran_tell(index) - * - * try: # <<<<<<<<<<<<<< - * assert gotread == expread - * assert gottell == exptell - */ - __Pyx_TraceLine(114,0,__PYX_ERR(0, 114, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_5); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":115 - * - * try: - * assert gotread == expread # <<<<<<<<<<<<<< - * assert gottell == exptell - * except: - */ - __Pyx_TraceLine(115,0,__PYX_ERR(0, 115, __pyx_L16_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_gotread == __pyx_v_expread) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 115, __pyx_L16_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":116 - * try: - * assert gotread == expread - * assert gottell == exptell # <<<<<<<<<<<<<< - * except: - * print('nelems: {}'.format(nelems)) - */ - __Pyx_TraceLine(116,0,__PYX_ERR(0, 116, __pyx_L16_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = PyObject_RichCompare(__pyx_t_1, __pyx_v_exptell, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 116, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 116, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_3)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 116, __pyx_L16_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":114 - * gottell = zran.zran_tell(index) - * - * try: # <<<<<<<<<<<<<< - * assert gotread == expread - * assert gottell == exptell - */ - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L21_try_end; - __pyx_L16_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":117 - * assert gotread == expread - * assert gottell == exptell - * except: # <<<<<<<<<<<<<< - * print('nelems: {}'.format(nelems)) - * print('element: {}'.format(element)) - */ - __Pyx_TraceLine(117,0,__PYX_ERR(0, 117, __pyx_L18_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 117, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_8); - - /* "indexed_gzip/tests/ctest_zran.pyx":118 - * assert gottell == exptell - * except: - * print('nelems: {}'.format(nelems)) # <<<<<<<<<<<<<< - * print('element: {}'.format(element)) - * print('expread: {}'.format(expread)) - */ - __Pyx_TraceLine(118,0,__PYX_ERR(0, 118, __pyx_L18_except_error)) - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_nelems, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 118, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - } - } - __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_v_nelems) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_nelems); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 118, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 118, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":119 - * except: - * print('nelems: {}'.format(nelems)) - * print('element: {}'.format(element)) # <<<<<<<<<<<<<< - * print('expread: {}'.format(expread)) - * print('exptell: {}'.format(exptell)) - */ - __Pyx_TraceLine(119,0,__PYX_ERR(0, 119, __pyx_L18_except_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_element, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_element) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_element); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 119, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 119, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":120 - * print('nelems: {}'.format(nelems)) - * print('element: {}'.format(element)) - * print('expread: {}'.format(expread)) # <<<<<<<<<<<<<< - * print('exptell: {}'.format(exptell)) - * print('gotread: {}'.format(gotread)) - */ - __Pyx_TraceLine(120,0,__PYX_ERR(0, 120, __pyx_L18_except_error)) - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_expread, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 120, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_long(__pyx_v_expread); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 120, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - } - } - __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 120, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 120, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":121 - * print('element: {}'.format(element)) - * print('expread: {}'.format(expread)) - * print('exptell: {}'.format(exptell)) # <<<<<<<<<<<<<< - * print('gotread: {}'.format(gotread)) - * print('gottell: {}'.format(gottell)) - */ - __Pyx_TraceLine(121,0,__PYX_ERR(0, 121, __pyx_L18_except_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_exptell, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 121, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_11 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_exptell) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_exptell); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 121, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 121, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":122 - * print('expread: {}'.format(expread)) - * print('exptell: {}'.format(exptell)) - * print('gotread: {}'.format(gotread)) # <<<<<<<<<<<<<< - * print('gottell: {}'.format(gottell)) - * raise - */ - __Pyx_TraceLine(122,0,__PYX_ERR(0, 122, __pyx_L18_except_error)) - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gotread, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 122, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyInt_From_int64_t(__pyx_v_gotread); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 122, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - } - } - __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 122, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 122, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":123 - * print('exptell: {}'.format(exptell)) - * print('gotread: {}'.format(gotread)) - * print('gottell: {}'.format(gottell)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(123,0,__PYX_ERR(0, 123, __pyx_L18_except_error)) - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gottell, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 123, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 123, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - } - } - __pyx_t_11 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_13, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 123, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 123, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":124 - * print('gotread: {}'.format(gotread)) - * print('gottell: {}'.format(gottell)) - * raise # <<<<<<<<<<<<<< - * - * if element < nelems: - */ - __Pyx_TraceLine(124,0,__PYX_ERR(0, 124, __pyx_L18_except_error)) - __Pyx_GIVEREF(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_1, __pyx_t_8); - __pyx_t_9 = 0; __pyx_t_1 = 0; __pyx_t_8 = 0; - __PYX_ERR(0, 124, __pyx_L18_except_error) - } - __pyx_L18_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":114 - * gottell = zran.zran_tell(index) - * - * try: # <<<<<<<<<<<<<< - * assert gotread == expread - * assert gottell == exptell - */ - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_6, __pyx_t_5); - goto __pyx_L1_error; - __pyx_L21_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":126 - * raise - * - * if element < nelems: # <<<<<<<<<<<<<< - * pybuf = (buffer)[:8] - * val = np.ndarray(1, np.uint64, buffer=pybuf) - */ - __Pyx_TraceLine(126,0,__PYX_ERR(0, 126, __pyx_L1_error)) - __pyx_t_8 = PyObject_RichCompare(__pyx_v_element, __pyx_v_nelems, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 126, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_3) { - - /* "indexed_gzip/tests/ctest_zran.pyx":127 - * - * if element < nelems: - * pybuf = (buffer)[:8] # <<<<<<<<<<<<<< - * val = np.ndarray(1, np.uint64, buffer=pybuf) - * return val[0] - */ - __Pyx_TraceLine(127,0,__PYX_ERR(0, 127, __pyx_L1_error)) - __pyx_t_8 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, 8 - 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __pyx_t_8; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_v_pybuf = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":128 - * if element < nelems: - * pybuf = (buffer)[:8] - * val = np.ndarray(1, np.uint64, buffer=pybuf) # <<<<<<<<<<<<<< - * return val[0] - * else: - */ - __Pyx_TraceLine(128,0,__PYX_ERR(0, 128, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_uint64); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_buffer, __pyx_v_pybuf) < 0) __PYX_ERR(0, 128, __pyx_L1_error) - __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_ndarray), __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_v_val = __pyx_t_9; - __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":129 - * pybuf = (buffer)[:8] - * val = np.ndarray(1, np.uint64, buffer=pybuf) - * return val[0] # <<<<<<<<<<<<<< - * else: - * return None - */ - __Pyx_TraceLine(129,0,__PYX_ERR(0, 129, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_r = __pyx_t_9; - __pyx_t_9 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_zran.pyx":126 - * raise - * - * if element < nelems: # <<<<<<<<<<<<<< - * pybuf = (buffer)[:8] - * val = np.ndarray(1, np.uint64, buffer=pybuf) - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":131 - * return val[0] - * else: - * return None # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(131,0,__PYX_ERR(0, 131, __pyx_L1_error)) - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":77 - * np.import_array() - * - * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): # <<<<<<<<<<<<<< - * - * cdef void *buffer - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.read_element", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_exptell); - __Pyx_XDECREF(__pyx_v_pybuf); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":155 - * - * - * def __cinit__(self, size_t size, use_mmap=False): # <<<<<<<<<<<<<< - * """Allocate ``size`` bytes of memory. """ - * - */ - -/* Python wrapper */ -static int __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static int __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - size_t __pyx_v_size; - PyObject *__pyx_v_use_mmap = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - int __pyx_r; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_size,&__pyx_n_s_use_mmap,0}; - PyObject* values[2] = {0,0}; - values[1] = ((PyObject *)Py_False); - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_size)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 155, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_size = __Pyx_PyInt_As_size_t(values[0]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 155, __pyx_L3_error) - __pyx_v_use_mmap = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 155, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return -1; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer___cinit__(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self), __pyx_v_size, __pyx_v_use_mmap); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":175 - * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) - * - * def initmem(): # <<<<<<<<<<<<<< - * - * towrite = size - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem = {"initmem", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("initmem (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___initmem(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___initmem(PyObject *__pyx_self) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_cur_scope; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_outer_scope; - PyObject *__pyx_v_towrite = NULL; - PyObject *__pyx_v_zeros = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - long __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("initmem", 0); - __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *) __Pyx_CyFunction_GetClosure(__pyx_self); - __pyx_cur_scope = __pyx_outer_scope; - __Pyx_TraceCall("initmem", __pyx_f[0], 175, 0, __PYX_ERR(0, 175, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":177 - * def initmem(): - * - * towrite = size # <<<<<<<<<<<<<< - * - * while towrite > 0: - */ - __Pyx_TraceLine(177,0,__PYX_ERR(0, 177, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_cur_scope->__pyx_v_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_towrite = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":179 - * towrite = size - * - * while towrite > 0: # <<<<<<<<<<<<<< - * - * zeros = np.zeros(min(towrite, 134217728), dtype=np.uint8) - */ - __Pyx_TraceLine(179,0,__PYX_ERR(0, 179, __pyx_L1_error)) - while (1) { - __pyx_t_1 = PyObject_RichCompare(__pyx_v_towrite, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 179, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 179, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!__pyx_t_2) break; - - /* "indexed_gzip/tests/ctest_zran.pyx":181 - * while towrite > 0: - * - * zeros = np.zeros(min(towrite, 134217728), dtype=np.uint8) # <<<<<<<<<<<<<< - * towrite -= len(zeros) - * - */ - __Pyx_TraceLine(181,0,__PYX_ERR(0, 181, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = 0x8000000; - __Pyx_INCREF(__pyx_v_towrite); - __pyx_t_1 = __pyx_v_towrite; - __pyx_t_6 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_2) { - __pyx_t_7 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __pyx_t_7; - __pyx_t_7 = 0; - } else { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_5 = __pyx_t_1; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_uint8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_zeros, __pyx_t_6); - __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":182 - * - * zeros = np.zeros(min(towrite, 134217728), dtype=np.uint8) - * towrite -= len(zeros) # <<<<<<<<<<<<<< - * - * os.write(fd, zeros.tostring()) - */ - __Pyx_TraceLine(182,0,__PYX_ERR(0, 182, __pyx_L1_error)) - __pyx_t_8 = PyObject_Length(__pyx_v_zeros); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 182, __pyx_L1_error) - __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyNumber_InPlaceSubtract(__pyx_v_towrite, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_towrite, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":184 - * towrite -= len(zeros) - * - * os.write(fd, zeros.tostring()) # <<<<<<<<<<<<<< - * - * th = threading.Thread(target=initmem) - */ - __Pyx_TraceLine(184,0,__PYX_ERR(0, 184, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_os); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_cur_scope->__pyx_v_fd)) { __Pyx_RaiseClosureNameError("fd"); __PYX_ERR(0, 184, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_zeros, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_6 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_fd, __pyx_t_6}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_fd, __pyx_t_6}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - { - __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_fd); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_fd); - PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_9, __pyx_cur_scope->__pyx_v_fd); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":175 - * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) - * - * def initmem(): # <<<<<<<<<<<<<< - * - * towrite = size - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__cinit__.initmem", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_towrite); - __Pyx_XDECREF(__pyx_v_zeros); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":188 - * th = threading.Thread(target=initmem) - * th.start() - * poll(lambda : not th.is_alive()) # <<<<<<<<<<<<<< - * - * self.mmap_fd = fd - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda = {"lambda", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("lambda (wrapper)", 0); - __pyx_r = __pyx_lambda_funcdef_lambda(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_lambda_funcdef_lambda(PyObject *__pyx_self) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_cur_scope; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_outer_scope; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("lambda", 0); - __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *) __Pyx_CyFunction_GetClosure(__pyx_self); - __pyx_cur_scope = __pyx_outer_scope; - __Pyx_TraceCall("lambda", __pyx_f[0], 188, 0, __PYX_ERR(0, 188, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - if (unlikely(!__pyx_cur_scope->__pyx_v_th)) { __Pyx_RaiseClosureNameError("th"); __PYX_ERR(0, 188, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_th, __pyx_n_s_is_alive); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyBool_FromLong((!__pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__cinit__.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":155 - * - * - * def __cinit__(self, size_t size, use_mmap=False): # <<<<<<<<<<<<<< - * """Allocate ``size`` bytes of memory. """ - * - */ - -static int __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer___cinit__(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, size_t __pyx_v_size, PyObject *__pyx_v_use_mmap) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_cur_scope; - PyObject *__pyx_v_path = NULL; - PyObject *__pyx_v_initmem = 0; - int __pyx_r; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *(*__pyx_t_8)(PyObject *); - int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__cinit__", 0); - __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 155, __pyx_L1_error) - } else { - __Pyx_GOTREF(__pyx_cur_scope); - } - __Pyx_TraceCall("__cinit__", __pyx_f[0], 155, 0, __PYX_ERR(0, 155, __pyx_L1_error)); - __pyx_cur_scope->__pyx_v_size = __pyx_v_size; - - /* "indexed_gzip/tests/ctest_zran.pyx":158 - * """Allocate ``size`` bytes of memory. """ - * - * self.use_mmap = use_mmap # <<<<<<<<<<<<<< - * self.mmap_fd = None - * self.mmap_path = None - */ - __Pyx_TraceLine(158,0,__PYX_ERR(0, 158, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_use_mmap); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 158, __pyx_L1_error) - __pyx_v_self->use_mmap = __pyx_t_1; - - /* "indexed_gzip/tests/ctest_zran.pyx":159 - * - * self.use_mmap = use_mmap - * self.mmap_fd = None # <<<<<<<<<<<<<< - * self.mmap_path = None - * self.size = size - */ - __Pyx_TraceLine(159,0,__PYX_ERR(0, 159, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_self->mmap_fd); - __Pyx_DECREF(__pyx_v_self->mmap_fd); - __pyx_v_self->mmap_fd = Py_None; - - /* "indexed_gzip/tests/ctest_zran.pyx":160 - * self.use_mmap = use_mmap - * self.mmap_fd = None - * self.mmap_path = None # <<<<<<<<<<<<<< - * self.size = size - * self.buffer = NULL - */ - __Pyx_TraceLine(160,0,__PYX_ERR(0, 160, __pyx_L1_error)) - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - __Pyx_GOTREF(__pyx_v_self->mmap_path); - __Pyx_DECREF(__pyx_v_self->mmap_path); - __pyx_v_self->mmap_path = Py_None; - - /* "indexed_gzip/tests/ctest_zran.pyx":161 - * self.mmap_fd = None - * self.mmap_path = None - * self.size = size # <<<<<<<<<<<<<< - * self.buffer = NULL - * - */ - __Pyx_TraceLine(161,0,__PYX_ERR(0, 161, __pyx_L1_error)) - __pyx_v_self->size = __pyx_cur_scope->__pyx_v_size; - - /* "indexed_gzip/tests/ctest_zran.pyx":162 - * self.mmap_path = None - * self.size = size - * self.buffer = NULL # <<<<<<<<<<<<<< - * - * if not self.use_mmap: - */ - __Pyx_TraceLine(162,0,__PYX_ERR(0, 162, __pyx_L1_error)) - __pyx_v_self->buffer = NULL; - - /* "indexed_gzip/tests/ctest_zran.pyx":164 - * self.buffer = NULL - * - * if not self.use_mmap: # <<<<<<<<<<<<<< - * self.buffer = PyMem_Malloc(size) - * - */ - __Pyx_TraceLine(164,0,__PYX_ERR(0, 164, __pyx_L1_error)) - __pyx_t_1 = ((!(__pyx_v_self->use_mmap != 0)) != 0); - if (__pyx_t_1) { - - /* "indexed_gzip/tests/ctest_zran.pyx":165 - * - * if not self.use_mmap: - * self.buffer = PyMem_Malloc(size) # <<<<<<<<<<<<<< - * - * memset(self.buffer, 0, size); - */ - __Pyx_TraceLine(165,0,__PYX_ERR(0, 165, __pyx_L1_error)) - __pyx_v_self->buffer = PyMem_Malloc(__pyx_cur_scope->__pyx_v_size); - - /* "indexed_gzip/tests/ctest_zran.pyx":167 - * self.buffer = PyMem_Malloc(size) - * - * memset(self.buffer, 0, size); # <<<<<<<<<<<<<< - * - * else: - */ - __Pyx_TraceLine(167,0,__PYX_ERR(0, 167, __pyx_L1_error)) - (void)(memset(__pyx_v_self->buffer, 0, __pyx_cur_scope->__pyx_v_size)); - - /* "indexed_gzip/tests/ctest_zran.pyx":164 - * self.buffer = NULL - * - * if not self.use_mmap: # <<<<<<<<<<<<<< - * self.buffer = PyMem_Malloc(size) - * - */ - goto __pyx_L3; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":171 - * else: - * - * fd, path = tempfile.mkstemp('readbuf_mmap_{}'.format(id(self))) # <<<<<<<<<<<<<< - * - * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) - */ - __Pyx_TraceLine(171,0,__PYX_ERR(0, 171, __pyx_L1_error)) - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_tempfile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_mkstemp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_readbuf_mmap, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { - PyObject* sequence = __pyx_t_2; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 171, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_4 = PyList_GET_ITEM(sequence, 0); - __pyx_t_3 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - #else - __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_8 = Py_TYPE(__pyx_t_5)->tp_iternext; - index = 0; __pyx_t_4 = __pyx_t_8(__pyx_t_5); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - index = 1; __pyx_t_3 = __pyx_t_8(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed; - __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_5), 2) < 0) __PYX_ERR(0, 171, __pyx_L1_error) - __pyx_t_8 = NULL; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L5_unpacking_done; - __pyx_L4_unpacking_failed:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 171, __pyx_L1_error) - __pyx_L5_unpacking_done:; - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_fd = __pyx_t_4; - __pyx_t_4 = 0; - __pyx_v_path = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":173 - * fd, path = tempfile.mkstemp('readbuf_mmap_{}'.format(id(self))) - * - * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) # <<<<<<<<<<<<<< - * - * def initmem(): - */ - __Pyx_TraceLine(173,0,__PYX_ERR(0, 173, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Memory_mapping_0_2f_GB, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyFloat_FromDouble((((double)__pyx_cur_scope->__pyx_v_size) / 1073741824.)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_v_path}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_v_path}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else - #endif - { - __pyx_t_6 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_9, __pyx_t_4); - __Pyx_INCREF(__pyx_v_path); - __Pyx_GIVEREF(__pyx_v_path); - PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_9, __pyx_v_path); - __pyx_t_4 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":175 - * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) - * - * def initmem(): # <<<<<<<<<<<<<< - * - * towrite = size - */ - __Pyx_TraceLine(175,0,__PYX_ERR(0, 175, __pyx_L1_error)) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___1initmem, 0, __pyx_n_s_cinit___locals_initmem, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_v_initmem = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":186 - * os.write(fd, zeros.tostring()) - * - * th = threading.Thread(target=initmem) # <<<<<<<<<<<<<< - * th.start() - * poll(lambda : not th.is_alive()) - */ - __Pyx_TraceLine(186,0,__PYX_ERR(0, 186, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_threading); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Thread); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_target, __pyx_v_initmem) < 0) __PYX_ERR(0, 186, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_th = __pyx_t_6; - __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":187 - * - * th = threading.Thread(target=initmem) - * th.start() # <<<<<<<<<<<<<< - * poll(lambda : not th.is_alive()) - * - */ - __Pyx_TraceLine(187,0,__PYX_ERR(0, 187, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_th, __pyx_n_s_start); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":188 - * th = threading.Thread(target=initmem) - * th.start() - * poll(lambda : not th.is_alive()) # <<<<<<<<<<<<<< - * - * self.mmap_fd = fd - */ - __Pyx_TraceLine(188,0,__PYX_ERR(0, 188, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_poll); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__cinit___2lambda, 0, __pyx_n_s_cinit___locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_6 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":190 - * poll(lambda : not th.is_alive()) - * - * self.mmap_fd = fd # <<<<<<<<<<<<<< - * self.mmap_path = path - * self.buffer = mmap(NULL, - */ - __Pyx_TraceLine(190,0,__PYX_ERR(0, 190, __pyx_L1_error)) - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_fd); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_fd); - __Pyx_GOTREF(__pyx_v_self->mmap_fd); - __Pyx_DECREF(__pyx_v_self->mmap_fd); - __pyx_v_self->mmap_fd = __pyx_cur_scope->__pyx_v_fd; - - /* "indexed_gzip/tests/ctest_zran.pyx":191 - * - * self.mmap_fd = fd - * self.mmap_path = path # <<<<<<<<<<<<<< - * self.buffer = mmap(NULL, - * size, - */ - __Pyx_TraceLine(191,0,__PYX_ERR(0, 191, __pyx_L1_error)) - __Pyx_INCREF(__pyx_v_path); - __Pyx_GIVEREF(__pyx_v_path); - __Pyx_GOTREF(__pyx_v_self->mmap_path); - __Pyx_DECREF(__pyx_v_self->mmap_path); - __pyx_v_self->mmap_path = __pyx_v_path; - - /* "indexed_gzip/tests/ctest_zran.pyx":196 - * PROT_READ | PROT_WRITE, - * MAP_SHARED, - * fd, # <<<<<<<<<<<<<< - * 0) - * - */ - __Pyx_TraceLine(196,0,__PYX_ERR(0, 196, __pyx_L1_error)) - __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_cur_scope->__pyx_v_fd); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 196, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":192 - * self.mmap_fd = fd - * self.mmap_path = path - * self.buffer = mmap(NULL, # <<<<<<<<<<<<<< - * size, - * PROT_READ | PROT_WRITE, - */ - __Pyx_TraceLine(192,0,__PYX_ERR(0, 192, __pyx_L1_error)) - __pyx_v_self->buffer = mmap(NULL, __pyx_cur_scope->__pyx_v_size, (PROT_READ | PROT_WRITE), MAP_SHARED, __pyx_t_9, 0); - - /* "indexed_gzip/tests/ctest_zran.pyx":199 - * 0) - * - * if self.buffer == MAP_FAILED: # <<<<<<<<<<<<<< - * raise RuntimeError('mmap fail') - * - */ - __Pyx_TraceLine(199,0,__PYX_ERR(0, 199, __pyx_L1_error)) - __pyx_t_1 = ((__pyx_v_self->buffer == ((void *)MAP_FAILED)) != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":200 - * - * if self.buffer == MAP_FAILED: - * raise RuntimeError('mmap fail') # <<<<<<<<<<<<<< - * - * if not self.buffer: - */ - __Pyx_TraceLine(200,0,__PYX_ERR(0, 200, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_Raise(__pyx_t_6, 0, 0, 0); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __PYX_ERR(0, 200, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":199 - * 0) - * - * if self.buffer == MAP_FAILED: # <<<<<<<<<<<<<< - * raise RuntimeError('mmap fail') - * - */ - } - } - __pyx_L3:; - - /* "indexed_gzip/tests/ctest_zran.pyx":202 - * raise RuntimeError('mmap fail') - * - * if not self.buffer: # <<<<<<<<<<<<<< - * raise RuntimeError('ReadBuffer init fail') - * - */ - __Pyx_TraceLine(202,0,__PYX_ERR(0, 202, __pyx_L1_error)) - __pyx_t_1 = ((!(__pyx_v_self->buffer != 0)) != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":203 - * - * if not self.buffer: - * raise RuntimeError('ReadBuffer init fail') # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(203,0,__PYX_ERR(0, 203, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_Raise(__pyx_t_6, 0, 0, 0); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __PYX_ERR(0, 203, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":202 - * raise RuntimeError('mmap fail') - * - * if not self.buffer: # <<<<<<<<<<<<<< - * raise RuntimeError('ReadBuffer init fail') - * - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":155 - * - * - * def __cinit__(self, size_t size, use_mmap=False): # <<<<<<<<<<<<<< - * """Allocate ``size`` bytes of memory. """ - * - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_path); - __Pyx_XDECREF(__pyx_v_initmem); - __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":206 - * - * - * def resize(self, size_t size): # <<<<<<<<<<<<<< - * """Re-allocate the memory to the given ``size``. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_3resize(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize[] = "Re-allocate the memory to the given ``size``. "; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_3resize(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) { - size_t __pyx_v_size; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("resize (wrapper)", 0); - assert(__pyx_arg_size); { - __pyx_v_size = __Pyx_PyInt_As_size_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 206, __pyx_L3_error) - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.resize", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self), ((size_t)__pyx_v_size)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, size_t __pyx_v_size) { - void *__pyx_v_buf; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("resize", 0); - __Pyx_TraceCall("resize", __pyx_f[0], 206, 0, __PYX_ERR(0, 206, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":209 - * """Re-allocate the memory to the given ``size``. """ - * - * if self.use_mmap: # <<<<<<<<<<<<<< - * raise NotImplementedError('Cannot resize a memmapped array!') - * - */ - __Pyx_TraceLine(209,0,__PYX_ERR(0, 209, __pyx_L1_error)) - __pyx_t_1 = (__pyx_v_self->use_mmap != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":210 - * - * if self.use_mmap: - * raise NotImplementedError('Cannot resize a memmapped array!') # <<<<<<<<<<<<<< - * - * buf = PyMem_Realloc(self.buffer, size) - */ - __Pyx_TraceLine(210,0,__PYX_ERR(0, 210, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 210, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":209 - * """Re-allocate the memory to the given ``size``. """ - * - * if self.use_mmap: # <<<<<<<<<<<<<< - * raise NotImplementedError('Cannot resize a memmapped array!') - * - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":212 - * raise NotImplementedError('Cannot resize a memmapped array!') - * - * buf = PyMem_Realloc(self.buffer, size) # <<<<<<<<<<<<<< - * - * if not buf: - */ - __Pyx_TraceLine(212,0,__PYX_ERR(0, 212, __pyx_L1_error)) - __pyx_v_buf = PyMem_Realloc(__pyx_v_self->buffer, __pyx_v_size); - - /* "indexed_gzip/tests/ctest_zran.pyx":214 - * buf = PyMem_Realloc(self.buffer, size) - * - * if not buf: # <<<<<<<<<<<<<< - * raise MemoryError('PyMem_Realloc fail') - * - */ - __Pyx_TraceLine(214,0,__PYX_ERR(0, 214, __pyx_L1_error)) - __pyx_t_1 = ((!(__pyx_v_buf != 0)) != 0); - if (unlikely(__pyx_t_1)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":215 - * - * if not buf: - * raise MemoryError('PyMem_Realloc fail') # <<<<<<<<<<<<<< - * - * self.buffer = buf - */ - __Pyx_TraceLine(215,0,__PYX_ERR(0, 215, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_MemoryError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 215, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":214 - * buf = PyMem_Realloc(self.buffer, size) - * - * if not buf: # <<<<<<<<<<<<<< - * raise MemoryError('PyMem_Realloc fail') - * - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":217 - * raise MemoryError('PyMem_Realloc fail') - * - * self.buffer = buf # <<<<<<<<<<<<<< - * self.size = size - * - */ - __Pyx_TraceLine(217,0,__PYX_ERR(0, 217, __pyx_L1_error)) - __pyx_v_self->buffer = __pyx_v_buf; - - /* "indexed_gzip/tests/ctest_zran.pyx":218 - * - * self.buffer = buf - * self.size = size # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(218,0,__PYX_ERR(0, 218, __pyx_L1_error)) - __pyx_v_self->size = __pyx_v_size; - - /* "indexed_gzip/tests/ctest_zran.pyx":206 - * - * - * def resize(self, size_t size): # <<<<<<<<<<<<<< - * """Re-allocate the memory to the given ``size``. """ - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.resize", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":221 - * - * - * def __dealloc__(self): # <<<<<<<<<<<<<< - * """Free the mwmory. """ - * - */ - -/* Python wrapper */ -static void __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_5__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_5__dealloc__(PyObject *__pyx_v_self) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_4__dealloc__(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); -} - -static void __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_4__dealloc__(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self) { - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__dealloc__", 0); - __Pyx_TraceCall("__dealloc__", __pyx_f[0], 221, 0, __PYX_ERR(0, 221, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":224 - * """Free the mwmory. """ - * - * if not self.use_mmap: # <<<<<<<<<<<<<< - * PyMem_Free(self.buffer) - * else: - */ - __Pyx_TraceLine(224,0,__PYX_ERR(0, 224, __pyx_L1_error)) - __pyx_t_1 = ((!(__pyx_v_self->use_mmap != 0)) != 0); - if (__pyx_t_1) { - - /* "indexed_gzip/tests/ctest_zran.pyx":225 - * - * if not self.use_mmap: - * PyMem_Free(self.buffer) # <<<<<<<<<<<<<< - * else: - * munmap(self.buffer, self.size) - */ - __Pyx_TraceLine(225,0,__PYX_ERR(0, 225, __pyx_L1_error)) - PyMem_Free(__pyx_v_self->buffer); - - /* "indexed_gzip/tests/ctest_zran.pyx":224 - * """Free the mwmory. """ - * - * if not self.use_mmap: # <<<<<<<<<<<<<< - * PyMem_Free(self.buffer) - * else: - */ - goto __pyx_L3; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":227 - * PyMem_Free(self.buffer) - * else: - * munmap(self.buffer, self.size) # <<<<<<<<<<<<<< - * os.close( self.mmap_fd) - * os.remove(self.mmap_path) - */ - __Pyx_TraceLine(227,0,__PYX_ERR(0, 227, __pyx_L1_error)) - /*else*/ { - (void)(munmap(__pyx_v_self->buffer, __pyx_v_self->size)); - - /* "indexed_gzip/tests/ctest_zran.pyx":228 - * else: - * munmap(self.buffer, self.size) - * os.close( self.mmap_fd) # <<<<<<<<<<<<<< - * os.remove(self.mmap_path) - * - */ - __Pyx_TraceLine(228,0,__PYX_ERR(0, 228, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_v_self->mmap_fd) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_self->mmap_fd); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":229 - * munmap(self.buffer, self.size) - * os.close( self.mmap_fd) - * os.remove(self.mmap_path) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(229,0,__PYX_ERR(0, 229, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_os); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_remove); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_self->mmap_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_self->mmap_path); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_L3:; - - /* "indexed_gzip/tests/ctest_zran.pyx":221 - * - * - * def __dealloc__(self): # <<<<<<<<<<<<<< - * """Free the mwmory. """ - * - */ - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_WriteUnraisable("indexed_gzip.tests.ctest_zran.ReadBuffer.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); -} - -/* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_6__reduce_cython__(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__reduce_cython__", 0); - __Pyx_TraceCall("__reduce_cython__", __pyx_f[1], 1, 0, __PYX_ERR(1, 1, __pyx_L1_error)); - - /* "(tree fragment)":2 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - __Pyx_TraceLine(2,0,__PYX_ERR(1, 2, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(1, 2, __pyx_L1_error) - - /* "(tree fragment)":1 - * def __reduce_cython__(self): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_8__setstate_cython__(((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__setstate_cython__", 0); - __Pyx_TraceCall("__setstate_cython__", __pyx_f[1], 3, 0, __PYX_ERR(1, 3, __pyx_L1_error)); - - /* "(tree fragment)":4 - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< - */ - __Pyx_TraceLine(4,0,__PYX_ERR(1, 4, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(1, 4, __pyx_L1_error) - - /* "(tree fragment)":3 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.ReadBuffer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":232 - * - * - * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< - * raise Exception("Error") - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_1error_fn(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_1error_fn = {"error_fn", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_1error_fn, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_1error_fn(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - CYTHON_UNUSED PyObject *__pyx_v_args = 0; - CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("error_fn (wrapper)", 0); - if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "error_fn", 1))) return NULL; - __Pyx_INCREF(__pyx_args); - __pyx_v_args = __pyx_args; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_error_fn(__pyx_self, __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XDECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_error_fn(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__10) - __Pyx_RefNannySetupContext("error_fn", 0); - __Pyx_TraceCall("error_fn", __pyx_f[0], 232, 0, __PYX_ERR(0, 232, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":233 - * - * def error_fn(*args, **kwargs): - * raise Exception("Error") # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(233,0,__PYX_ERR(0, 233, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_Raise(__pyx_t_1, 0, 0, 0); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 233, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":232 - * - * - * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< - * raise Exception("Error") - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.error_fn", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":236 - * - * - * def return_fn(return_value): # <<<<<<<<<<<<<< - * return lambda *args, **kwargs: return_value - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_3return_fn(PyObject *__pyx_self, PyObject *__pyx_v_return_value); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_3return_fn = {"return_fn", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_3return_fn, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_3return_fn(PyObject *__pyx_self, PyObject *__pyx_v_return_value) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("return_fn (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_2return_fn(__pyx_self, ((PyObject *)__pyx_v_return_value)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":237 - * - * def return_fn(return_value): - * return lambda *args, **kwargs: return_value # <<<<<<<<<<<<<< - * - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1 = {"lambda1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - CYTHON_UNUSED PyObject *__pyx_v_args = 0; - CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("lambda1 (wrapper)", 0); - if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "lambda1", 1))) return NULL; - __Pyx_INCREF(__pyx_args); - __pyx_v_args = __pyx_args; - __pyx_r = __pyx_lambda_funcdef_lambda1(__pyx_self, __pyx_v_args, __pyx_v_kwargs); - - /* function exit code */ - __Pyx_XDECREF(__pyx_v_args); - __Pyx_XDECREF(__pyx_v_kwargs); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_lambda_funcdef_lambda1(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *__pyx_cur_scope; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *__pyx_outer_scope; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("lambda1", 0); - __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *) __Pyx_CyFunction_GetClosure(__pyx_self); - __pyx_cur_scope = __pyx_outer_scope; - __Pyx_TraceCall("lambda1", __pyx_f[0], 237, 0, __PYX_ERR(0, 237, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - if (unlikely(!__pyx_cur_scope->__pyx_v_return_value)) { __Pyx_RaiseClosureNameError("return_value"); __PYX_ERR(0, 237, __pyx_L1_error) } - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_return_value); - __pyx_r = __pyx_cur_scope->__pyx_v_return_value; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.return_fn.lambda1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":236 - * - * - * def return_fn(return_value): # <<<<<<<<<<<<<< - * return lambda *args, **kwargs: return_value - * - */ - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_2return_fn(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_return_value) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__12) - __Pyx_RefNannySetupContext("return_fn", 0); - __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 236, __pyx_L1_error) - } else { - __Pyx_GOTREF(__pyx_cur_scope); - } - __Pyx_TraceCall("return_fn", __pyx_f[0], 236, 0, __PYX_ERR(0, 236, __pyx_L1_error)); - __pyx_cur_scope->__pyx_v_return_value = __pyx_v_return_value; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_return_value); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_return_value); - - /* "indexed_gzip/tests/ctest_zran.pyx":237 - * - * def return_fn(return_value): - * return lambda *args, **kwargs: return_value # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(237,0,__PYX_ERR(0, 237, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_9return_fn_lambda1, 0, __pyx_n_s_return_fn_locals_lambda, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_zran.pyx":236 - * - * - * def return_fn(return_value): # <<<<<<<<<<<<<< - * return lambda *args, **kwargs: return_value - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.return_fn", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":240 - * - * - * def test_fread(): # <<<<<<<<<<<<<< - * """Tests Python wrapper C function for fread.""" - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_5test_fread(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_4test_fread[] = "Tests Python wrapper C function for fread."; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_5test_fread = {"test_fread", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_5test_fread, METH_NOARGS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_4test_fread}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_5test_fread(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_fread (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_4test_fread(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_4test_fread(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - char __pyx_v_buf[3]; - size_t __pyx_v_elems_read; - PyObject *__pyx_v_fn = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - Py_ssize_t __pyx_t_6; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__13) - __Pyx_RefNannySetupContext("test_fread", 0); - __Pyx_TraceCall("test_fread", __pyx_f[0], 240, 0, __PYX_ERR(0, 240, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":243 - * """Tests Python wrapper C function for fread.""" - * - * f = BytesIO(b"abc") # <<<<<<<<<<<<<< - * cdef char buf[3] - * elems_read = zran_file_util._fread_python(buf, 1, 3, f) - */ - __Pyx_TraceLine(243,0,__PYX_ERR(0, 243, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":245 - * f = BytesIO(b"abc") - * cdef char buf[3] - * elems_read = zran_file_util._fread_python(buf, 1, 3, f) # <<<<<<<<<<<<<< - * assert elems_read == 3 - * assert f.tell() == 3 - */ - __Pyx_TraceLine(245,0,__PYX_ERR(0, 245, __pyx_L1_error)) - __pyx_v_elems_read = _fread_python(__pyx_v_buf, 1, 3, ((PyObject *)__pyx_v_f)); - - /* "indexed_gzip/tests/ctest_zran.pyx":246 - * cdef char buf[3] - * elems_read = zran_file_util._fread_python(buf, 1, 3, f) - * assert elems_read == 3 # <<<<<<<<<<<<<< - * assert f.tell() == 3 - * assert buf[0:3] == b"abc" - */ - __Pyx_TraceLine(246,0,__PYX_ERR(0, 246, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_elems_read == 3) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 246, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":247 - * elems_read = zran_file_util._fread_python(buf, 1, 3, f) - * assert elems_read == 3 - * assert f.tell() == 3 # <<<<<<<<<<<<<< - * assert buf[0:3] == b"abc" - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(247,0,__PYX_ERR(0, 247, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 247, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 247, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":248 - * assert elems_read == 3 - * assert f.tell() == 3 - * assert buf[0:3] == b"abc" # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * - */ - __Pyx_TraceLine(248,0,__PYX_ERR(0, 248, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_buf) + 0, 3 - 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_n_b_abc, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 248, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!(__pyx_t_4 != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 248, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":249 - * assert f.tell() == 3 - * assert buf[0:3] == b"abc" - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * - * # fread error conditions: - */ - __Pyx_TraceLine(249,0,__PYX_ERR(0, 249, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 249, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":252 - * - * # fread error conditions: - * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< - * f.read = fn - * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 - */ - __Pyx_TraceLine(252,0,__PYX_ERR(0, 252, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_return_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_3, Py_None); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); - __pyx_t_2 = 0; - __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (__pyx_t_6 >= 2) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 252, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":253 - * # fread error conditions: - * for fn in [error_fn, return_fn(None)]: - * f.read = fn # <<<<<<<<<<<<<< - * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 - * assert zran_file_util._ferror_python(f) == 1 - */ - __Pyx_TraceLine(253,0,__PYX_ERR(0, 253, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_read, __pyx_v_fn) < 0) __PYX_ERR(0, 253, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":254 - * for fn in [error_fn, return_fn(None)]: - * f.read = fn - * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() - */ - __Pyx_TraceLine(254,0,__PYX_ERR(0, 254, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_fread_python(__pyx_v_buf, 1, 3, ((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 254, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":255 - * f.read = fn - * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 - * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< - * PyErr_Clear() - * - */ - __Pyx_TraceLine(255,0,__PYX_ERR(0, 255, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 255, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":256 - * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(256,0,__PYX_ERR(0, 256, __pyx_L1_error)) - PyErr_Clear(); - - /* "indexed_gzip/tests/ctest_zran.pyx":252 - * - * # fread error conditions: - * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< - * f.read = fn - * assert zran_file_util._fread_python(buf, 1, 3, f) == 0 - */ - __Pyx_TraceLine(252,0,__PYX_ERR(0, 252, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":240 - * - * - * def test_fread(): # <<<<<<<<<<<<<< - * """Tests Python wrapper C function for fread.""" - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_fread", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fn); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":259 - * - * - * def test_ftell(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_7test_ftell(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_7test_ftell = {"test_ftell", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_7test_ftell, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_7test_ftell(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_ftell (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_6test_ftell(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_6test_ftell(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_fn = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - Py_ssize_t __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__14) - __Pyx_RefNannySetupContext("test_ftell", 0); - __Pyx_TraceCall("test_ftell", __pyx_f[0], 259, 0, __PYX_ERR(0, 259, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":261 - * def test_ftell(): - * - * f = BytesIO(b"abc") # <<<<<<<<<<<<<< - * assert zran_file_util._ftell_python(f) == 0 - * f.seek(2) - */ - __Pyx_TraceLine(261,0,__PYX_ERR(0, 261, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":262 - * - * f = BytesIO(b"abc") - * assert zran_file_util._ftell_python(f) == 0 # <<<<<<<<<<<<<< - * f.seek(2) - * assert zran_file_util._ftell_python(f) == 2 - */ - __Pyx_TraceLine(262,0,__PYX_ERR(0, 262, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ftell_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 262, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":263 - * f = BytesIO(b"abc") - * assert zran_file_util._ftell_python(f) == 0 - * f.seek(2) # <<<<<<<<<<<<<< - * assert zran_file_util._ftell_python(f) == 2 - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(263,0,__PYX_ERR(0, 263, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_2) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":264 - * assert zran_file_util._ftell_python(f) == 0 - * f.seek(2) - * assert zran_file_util._ftell_python(f) == 2 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * - */ - __Pyx_TraceLine(264,0,__PYX_ERR(0, 264, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ftell_python(((PyObject *)__pyx_v_f)) == 2) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 264, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":265 - * f.seek(2) - * assert zran_file_util._ftell_python(f) == 2 - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * - * # ftell error conditions - */ - __Pyx_TraceLine(265,0,__PYX_ERR(0, 265, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 265, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":268 - * - * # ftell error conditions - * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< - * f.tell = fn - * assert zran_file_util._ftell_python(f) == -1 - */ - __Pyx_TraceLine(268,0,__PYX_ERR(0, 268, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_return_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_3, Py_None); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); - __pyx_t_1 = 0; - __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (__pyx_t_5 >= 2) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 268, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":269 - * # ftell error conditions - * for fn in [error_fn, return_fn(None)]: - * f.tell = fn # <<<<<<<<<<<<<< - * assert zran_file_util._ftell_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 - */ - __Pyx_TraceLine(269,0,__PYX_ERR(0, 269, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_tell, __pyx_v_fn) < 0) __PYX_ERR(0, 269, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":270 - * for fn in [error_fn, return_fn(None)]: - * f.tell = fn - * assert zran_file_util._ftell_python(f) == -1 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() - */ - __Pyx_TraceLine(270,0,__PYX_ERR(0, 270, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ftell_python(((PyObject *)__pyx_v_f)) == -1L) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 270, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":271 - * f.tell = fn - * assert zran_file_util._ftell_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< - * PyErr_Clear() - * - */ - __Pyx_TraceLine(271,0,__PYX_ERR(0, 271, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 271, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":272 - * assert zran_file_util._ftell_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(272,0,__PYX_ERR(0, 272, __pyx_L1_error)) - PyErr_Clear(); - - /* "indexed_gzip/tests/ctest_zran.pyx":268 - * - * # ftell error conditions - * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< - * f.tell = fn - * assert zran_file_util._ftell_python(f) == -1 - */ - __Pyx_TraceLine(268,0,__PYX_ERR(0, 268, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":259 - * - * - * def test_ftell(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_ftell", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fn); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":275 - * - * - * def test_fseek(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9test_fseek(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_9test_fseek = {"test_fseek", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9test_fseek, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_9test_fseek(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_fseek (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_8test_fseek(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_8test_fseek(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_fn = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - Py_ssize_t __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__15) - __Pyx_RefNannySetupContext("test_fseek", 0); - __Pyx_TraceCall("test_fseek", __pyx_f[0], 275, 0, __PYX_ERR(0, 275, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":277 - * def test_fseek(): - * - * f = BytesIO(b"abc") # <<<<<<<<<<<<<< - * zran_file_util._fseek_python(f, 1, SEEK_SET) - * assert f.tell() == 1 - */ - __Pyx_TraceLine(277,0,__PYX_ERR(0, 277, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":278 - * - * f = BytesIO(b"abc") - * zran_file_util._fseek_python(f, 1, SEEK_SET) # <<<<<<<<<<<<<< - * assert f.tell() == 1 - * zran_file_util._fseek_python(f, -1, SEEK_END) - */ - __Pyx_TraceLine(278,0,__PYX_ERR(0, 278, __pyx_L1_error)) - (void)(_fseek_python(((PyObject *)__pyx_v_f), 1, SEEK_SET)); - - /* "indexed_gzip/tests/ctest_zran.pyx":279 - * f = BytesIO(b"abc") - * zran_file_util._fseek_python(f, 1, SEEK_SET) - * assert f.tell() == 1 # <<<<<<<<<<<<<< - * zran_file_util._fseek_python(f, -1, SEEK_END) - * assert f.tell() == 2 - */ - __Pyx_TraceLine(279,0,__PYX_ERR(0, 279, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 279, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 279, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 279, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":280 - * zran_file_util._fseek_python(f, 1, SEEK_SET) - * assert f.tell() == 1 - * zran_file_util._fseek_python(f, -1, SEEK_END) # <<<<<<<<<<<<<< - * assert f.tell() == 2 - * zran_file_util._fseek_python(f, 100, SEEK_SET) - */ - __Pyx_TraceLine(280,0,__PYX_ERR(0, 280, __pyx_L1_error)) - (void)(_fseek_python(((PyObject *)__pyx_v_f), -1L, SEEK_END)); - - /* "indexed_gzip/tests/ctest_zran.pyx":281 - * assert f.tell() == 1 - * zran_file_util._fseek_python(f, -1, SEEK_END) - * assert f.tell() == 2 # <<<<<<<<<<<<<< - * zran_file_util._fseek_python(f, 100, SEEK_SET) - * assert f.tell() == 100 - */ - __Pyx_TraceLine(281,0,__PYX_ERR(0, 281, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 281, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 281, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 281, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":282 - * zran_file_util._fseek_python(f, -1, SEEK_END) - * assert f.tell() == 2 - * zran_file_util._fseek_python(f, 100, SEEK_SET) # <<<<<<<<<<<<<< - * assert f.tell() == 100 - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(282,0,__PYX_ERR(0, 282, __pyx_L1_error)) - (void)(_fseek_python(((PyObject *)__pyx_v_f), 0x64, SEEK_SET)); - - /* "indexed_gzip/tests/ctest_zran.pyx":283 - * assert f.tell() == 2 - * zran_file_util._fseek_python(f, 100, SEEK_SET) - * assert f.tell() == 100 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * - */ - __Pyx_TraceLine(283,0,__PYX_ERR(0, 283, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_100, 0x64, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 283, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 283, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":284 - * zran_file_util._fseek_python(f, 100, SEEK_SET) - * assert f.tell() == 100 - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * - * # fseek error conditions - */ - __Pyx_TraceLine(284,0,__PYX_ERR(0, 284, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 284, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":287 - * - * # fseek error conditions - * for fn in [error_fn]: # <<<<<<<<<<<<<< - * f.seek = fn - * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 - */ - __Pyx_TraceLine(287,0,__PYX_ERR(0, 287, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (__pyx_t_5 >= 1) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 287, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":288 - * # fseek error conditions - * for fn in [error_fn]: - * f.seek = fn # <<<<<<<<<<<<<< - * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 - * assert zran_file_util._ferror_python(f) == 1 - */ - __Pyx_TraceLine(288,0,__PYX_ERR(0, 288, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_seek, __pyx_v_fn) < 0) __PYX_ERR(0, 288, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":289 - * for fn in [error_fn]: - * f.seek = fn - * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() - */ - __Pyx_TraceLine(289,0,__PYX_ERR(0, 289, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_fseek_python(((PyObject *)__pyx_v_f), 1, SEEK_SET) == -1L) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 289, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":290 - * f.seek = fn - * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 - * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< - * PyErr_Clear() - * - */ - __Pyx_TraceLine(290,0,__PYX_ERR(0, 290, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 290, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":291 - * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(291,0,__PYX_ERR(0, 291, __pyx_L1_error)) - PyErr_Clear(); - - /* "indexed_gzip/tests/ctest_zran.pyx":287 - * - * # fseek error conditions - * for fn in [error_fn]: # <<<<<<<<<<<<<< - * f.seek = fn - * assert zran_file_util._fseek_python(f, 1, SEEK_SET) == -1 - */ - __Pyx_TraceLine(287,0,__PYX_ERR(0, 287, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":275 - * - * - * def test_fseek(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_fseek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fn); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":294 - * - * - * def test_feof(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_11test_feof(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_11test_feof = {"test_feof", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_11test_feof, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_11test_feof(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_feof (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_10test_feof(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_10test_feof(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__16) - __Pyx_RefNannySetupContext("test_feof", 0); - __Pyx_TraceCall("test_feof", __pyx_f[0], 294, 0, __PYX_ERR(0, 294, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":296 - * def test_feof(): - * - * f = BytesIO(b"abc") # <<<<<<<<<<<<<< - * f.seek(0) - * # the EOF indicator shouldn't be set... - */ - __Pyx_TraceLine(296,0,__PYX_ERR(0, 296, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":297 - * - * f = BytesIO(b"abc") - * f.seek(0) # <<<<<<<<<<<<<< - * # the EOF indicator shouldn't be set... - * assert zran_file_util._feof_python(f, 2) == 0 - */ - __Pyx_TraceLine(297,0,__PYX_ERR(0, 297, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":299 - * f.seek(0) - * # the EOF indicator shouldn't be set... - * assert zran_file_util._feof_python(f, 2) == 0 # <<<<<<<<<<<<<< - * # ...unless f_read is zero. - * assert zran_file_util._feof_python(f, 0) == 1 - */ - __Pyx_TraceLine(299,0,__PYX_ERR(0, 299, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_feof_python(((PyObject *)__pyx_v_f), 2) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 299, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":301 - * assert zran_file_util._feof_python(f, 2) == 0 - * # ...unless f_read is zero. - * assert zran_file_util._feof_python(f, 0) == 1 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * - */ - __Pyx_TraceLine(301,0,__PYX_ERR(0, 301, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_feof_python(((PyObject *)__pyx_v_f), 0) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 301, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":302 - * # ...unless f_read is zero. - * assert zran_file_util._feof_python(f, 0) == 1 - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(302,0,__PYX_ERR(0, 302, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 302, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":294 - * - * - * def test_feof(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_feof", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":305 - * - * - * def test_ferror(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_ferror(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_13test_ferror = {"test_ferror", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_ferror, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_ferror(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_ferror (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_12test_ferror(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_12test_ferror(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__17) - __Pyx_RefNannySetupContext("test_ferror", 0); - __Pyx_TraceCall("test_ferror", __pyx_f[0], 305, 0, __PYX_ERR(0, 305, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":307 - * def test_ferror(): - * - * f = BytesIO(b"abc") # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * PyErr_SetString(ValueError, "Error") - */ - __Pyx_TraceLine(307,0,__PYX_ERR(0, 307, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":308 - * - * f = BytesIO(b"abc") - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * PyErr_SetString(ValueError, "Error") - * assert zran_file_util._ferror_python(f) == 1 - */ - __Pyx_TraceLine(308,0,__PYX_ERR(0, 308, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 308, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":309 - * f = BytesIO(b"abc") - * assert zran_file_util._ferror_python(f) == 0 - * PyErr_SetString(ValueError, "Error") # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() - */ - __Pyx_TraceLine(309,0,__PYX_ERR(0, 309, __pyx_L1_error)) - PyErr_SetString(__pyx_builtin_ValueError, ((char *)"Error")); - - /* "indexed_gzip/tests/ctest_zran.pyx":310 - * assert zran_file_util._ferror_python(f) == 0 - * PyErr_SetString(ValueError, "Error") - * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< - * PyErr_Clear() - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(310,0,__PYX_ERR(0, 310, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 310, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":311 - * PyErr_SetString(ValueError, "Error") - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * - */ - __Pyx_TraceLine(311,0,__PYX_ERR(0, 311, __pyx_L1_error)) - PyErr_Clear(); - - /* "indexed_gzip/tests/ctest_zran.pyx":312 - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(312,0,__PYX_ERR(0, 312, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 312, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":305 - * - * - * def test_ferror(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_ferror", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":315 - * - * - * def test_fflush(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_15test_fflush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_15test_fflush = {"test_fflush", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_15test_fflush, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_15test_fflush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_fflush (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_14test_fflush(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_14test_fflush(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_fn = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__18) - __Pyx_RefNannySetupContext("test_fflush", 0); - __Pyx_TraceCall("test_fflush", __pyx_f[0], 315, 0, __PYX_ERR(0, 315, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":317 - * def test_fflush(): - * - * f = BytesIO(b"abc") # <<<<<<<<<<<<<< - * zran_file_util._fflush_python(f) - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(317,0,__PYX_ERR(0, 317, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":318 - * - * f = BytesIO(b"abc") - * zran_file_util._fflush_python(f) # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * - */ - __Pyx_TraceLine(318,0,__PYX_ERR(0, 318, __pyx_L1_error)) - (void)(_fflush_python(((PyObject *)__pyx_v_f))); - - /* "indexed_gzip/tests/ctest_zran.pyx":319 - * f = BytesIO(b"abc") - * zran_file_util._fflush_python(f) - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * - * # fflush error conditions - */ - __Pyx_TraceLine(319,0,__PYX_ERR(0, 319, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 319, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":322 - * - * # fflush error conditions - * for fn in [error_fn]: # <<<<<<<<<<<<<< - * f.flush = fn - * assert zran_file_util._fflush_python(f) == -1 - */ - __Pyx_TraceLine(322,0,__PYX_ERR(0, 322, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { - if (__pyx_t_4 >= 1) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 322, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":323 - * # fflush error conditions - * for fn in [error_fn]: - * f.flush = fn # <<<<<<<<<<<<<< - * assert zran_file_util._fflush_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 - */ - __Pyx_TraceLine(323,0,__PYX_ERR(0, 323, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_flush, __pyx_v_fn) < 0) __PYX_ERR(0, 323, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":324 - * for fn in [error_fn]: - * f.flush = fn - * assert zran_file_util._fflush_python(f) == -1 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() - */ - __Pyx_TraceLine(324,0,__PYX_ERR(0, 324, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_fflush_python(((PyObject *)__pyx_v_f)) == -1L) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 324, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":325 - * f.flush = fn - * assert zran_file_util._fflush_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< - * PyErr_Clear() - * - */ - __Pyx_TraceLine(325,0,__PYX_ERR(0, 325, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 325, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":326 - * assert zran_file_util._fflush_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(326,0,__PYX_ERR(0, 326, __pyx_L1_error)) - PyErr_Clear(); - - /* "indexed_gzip/tests/ctest_zran.pyx":322 - * - * # fflush error conditions - * for fn in [error_fn]: # <<<<<<<<<<<<<< - * f.flush = fn - * assert zran_file_util._fflush_python(f) == -1 - */ - __Pyx_TraceLine(322,0,__PYX_ERR(0, 322, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":315 - * - * - * def test_fflush(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_fflush", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fn); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":329 - * - * - * def test_fwrite(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_17test_fwrite(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_17test_fwrite = {"test_fwrite", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_17test_fwrite, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_17test_fwrite(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_fwrite (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_16test_fwrite(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_16test_fwrite(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - char *__pyx_v_inp; - size_t __pyx_v_elems_written; - PyObject *__pyx_v_fn = NULL; - size_t __pyx_v_result; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__19) - __Pyx_RefNannySetupContext("test_fwrite", 0); - __Pyx_TraceCall("test_fwrite", __pyx_f[0], 329, 0, __PYX_ERR(0, 329, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":331 - * def test_fwrite(): - * - * f = BytesIO(b"abc") # <<<<<<<<<<<<<< - * cdef char* inp = 'de' - * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) - */ - __Pyx_TraceLine(331,0,__PYX_ERR(0, 331, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 331, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":332 - * - * f = BytesIO(b"abc") - * cdef char* inp = 'de' # <<<<<<<<<<<<<< - * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) - * assert elems_written == 2 - */ - __Pyx_TraceLine(332,0,__PYX_ERR(0, 332, __pyx_L1_error)) - __pyx_v_inp = ((char *)"de"); - - /* "indexed_gzip/tests/ctest_zran.pyx":333 - * f = BytesIO(b"abc") - * cdef char* inp = 'de' - * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) # <<<<<<<<<<<<<< - * assert elems_written == 2 - * assert f.tell() == 2 - */ - __Pyx_TraceLine(333,0,__PYX_ERR(0, 333, __pyx_L1_error)) - __pyx_v_elems_written = _fwrite_python(__pyx_v_inp, 1, 2, ((PyObject *)__pyx_v_f)); - - /* "indexed_gzip/tests/ctest_zran.pyx":334 - * cdef char* inp = 'de' - * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) - * assert elems_written == 2 # <<<<<<<<<<<<<< - * assert f.tell() == 2 - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(334,0,__PYX_ERR(0, 334, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_elems_written == 2) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 334, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":335 - * elems_written = zran_file_util._fwrite_python(inp, 1, 2, f) - * assert elems_written == 2 - * assert f.tell() == 2 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * f.seek(0) - */ - __Pyx_TraceLine(335,0,__PYX_ERR(0, 335, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 335, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 335, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 335, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":336 - * assert elems_written == 2 - * assert f.tell() == 2 - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * f.seek(0) - * assert f.read() == b"dec" - */ - __Pyx_TraceLine(336,0,__PYX_ERR(0, 336, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 336, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":337 - * assert f.tell() == 2 - * assert zran_file_util._ferror_python(f) == 0 - * f.seek(0) # <<<<<<<<<<<<<< - * assert f.read() == b"dec" - * - */ - __Pyx_TraceLine(337,0,__PYX_ERR(0, 337, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_seek); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_int_0) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_0); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":338 - * assert zran_file_util._ferror_python(f) == 0 - * f.seek(0) - * assert f.read() == b"dec" # <<<<<<<<<<<<<< - * - * # fwrite error conditions - */ - __Pyx_TraceLine(338,0,__PYX_ERR(0, 338, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = (__Pyx_PyBytes_Equals(__pyx_t_2, __pyx_n_b_dec, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 338, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 338, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":343 - * # In Python 2, .write() returns None, so its return value - * # is ignored by _fwrite_python and can't cause an error. - * for fn in [error_fn, return_fn(None)] if sys.version_info[0] >= 3 else [error_fn]: # <<<<<<<<<<<<<< - * f.write = fn - * result = zran_file_util._fwrite_python(inp, 1, 2, f) - */ - __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_int_3, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_4) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_return_fn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_5, Py_None); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_3); - PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); - __pyx_t_3 = 0; - __pyx_t_1 = 0; - __pyx_t_2 = __pyx_t_5; - __pyx_t_5 = 0; - } else { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - } - if (unlikely(__pyx_t_2 == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); - __PYX_ERR(0, 343, __pyx_L1_error) - } - __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { - if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 343, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":344 - * # is ignored by _fwrite_python and can't cause an error. - * for fn in [error_fn, return_fn(None)] if sys.version_info[0] >= 3 else [error_fn]: - * f.write = fn # <<<<<<<<<<<<<< - * result = zran_file_util._fwrite_python(inp, 1, 2, f) - * assert result == 0, result - */ - __Pyx_TraceLine(344,0,__PYX_ERR(0, 344, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_write, __pyx_v_fn) < 0) __PYX_ERR(0, 344, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":345 - * for fn in [error_fn, return_fn(None)] if sys.version_info[0] >= 3 else [error_fn]: - * f.write = fn - * result = zran_file_util._fwrite_python(inp, 1, 2, f) # <<<<<<<<<<<<<< - * assert result == 0, result - * assert zran_file_util._ferror_python(f) == 1 - */ - __Pyx_TraceLine(345,0,__PYX_ERR(0, 345, __pyx_L1_error)) - __pyx_v_result = _fwrite_python(__pyx_v_inp, 1, 2, ((PyObject *)__pyx_v_f)); - - /* "indexed_gzip/tests/ctest_zran.pyx":346 - * f.write = fn - * result = zran_file_util._fwrite_python(inp, 1, 2, f) - * assert result == 0, result # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() - */ - __Pyx_TraceLine(346,0,__PYX_ERR(0, 346, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_result == 0) != 0))) { - __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_result); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); - __pyx_t_2 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __PYX_ERR(0, 346, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":347 - * result = zran_file_util._fwrite_python(inp, 1, 2, f) - * assert result == 0, result - * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< - * PyErr_Clear() - * - */ - __Pyx_TraceLine(347,0,__PYX_ERR(0, 347, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 347, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":348 - * assert result == 0, result - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(348,0,__PYX_ERR(0, 348, __pyx_L1_error)) - PyErr_Clear(); - - /* "indexed_gzip/tests/ctest_zran.pyx":343 - * # In Python 2, .write() returns None, so its return value - * # is ignored by _fwrite_python and can't cause an error. - * for fn in [error_fn, return_fn(None)] if sys.version_info[0] >= 3 else [error_fn]: # <<<<<<<<<<<<<< - * f.write = fn - * result = zran_file_util._fwrite_python(inp, 1, 2, f) - */ - __Pyx_TraceLine(343,0,__PYX_ERR(0, 343, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":329 - * - * - * def test_fwrite(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_fwrite", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fn); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":351 - * - * - * def test_getc(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"dbc") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_getc(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_getc = {"test_getc", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_getc, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_getc(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_getc (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_18test_getc(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_18test_getc(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_fn = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - Py_ssize_t __pyx_t_5; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__20) - __Pyx_RefNannySetupContext("test_getc", 0); - __Pyx_TraceCall("test_getc", __pyx_f[0], 351, 0, __PYX_ERR(0, 351, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":353 - * def test_getc(): - * - * f = BytesIO(b"dbc") # <<<<<<<<<<<<<< - * assert zran_file_util._getc_python(f) == ord(b"d") - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(353,0,__PYX_ERR(0, 353, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_dbc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_dbc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 353, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":354 - * - * f = BytesIO(b"dbc") - * assert zran_file_util._getc_python(f) == ord(b"d") # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == ord(b"b") - */ - __Pyx_TraceLine(354,0,__PYX_ERR(0, 354, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == 0x64) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 354, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":355 - * f = BytesIO(b"dbc") - * assert zran_file_util._getc_python(f) == ord(b"d") - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * assert zran_file_util._getc_python(f) == ord(b"b") - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(355,0,__PYX_ERR(0, 355, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 355, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":356 - * assert zran_file_util._getc_python(f) == ord(b"d") - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == ord(b"b") # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == ord(b"c") - */ - __Pyx_TraceLine(356,0,__PYX_ERR(0, 356, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == 98) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 356, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":357 - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == ord(b"b") - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * assert zran_file_util._getc_python(f) == ord(b"c") - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(357,0,__PYX_ERR(0, 357, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 357, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":358 - * assert zran_file_util._getc_python(f) == ord(b"b") - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == ord(b"c") # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == -1 # reached EOF - */ - __Pyx_TraceLine(358,0,__PYX_ERR(0, 358, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == 99) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 358, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":359 - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == ord(b"c") - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * assert zran_file_util._getc_python(f) == -1 # reached EOF - * assert zran_file_util._ferror_python(f) == 0 - */ - __Pyx_TraceLine(359,0,__PYX_ERR(0, 359, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 359, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":360 - * assert zran_file_util._getc_python(f) == ord(b"c") - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == -1 # reached EOF # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._feof_python(f, 0) == 1 - */ - __Pyx_TraceLine(360,0,__PYX_ERR(0, 360, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == -1L) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 360, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":361 - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._getc_python(f) == -1 # reached EOF - * assert zran_file_util._ferror_python(f) == 0 # <<<<<<<<<<<<<< - * assert zran_file_util._feof_python(f, 0) == 1 - * - */ - __Pyx_TraceLine(361,0,__PYX_ERR(0, 361, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 361, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":362 - * assert zran_file_util._getc_python(f) == -1 # reached EOF - * assert zran_file_util._ferror_python(f) == 0 - * assert zran_file_util._feof_python(f, 0) == 1 # <<<<<<<<<<<<<< - * - * # getc error conditions - */ - __Pyx_TraceLine(362,0,__PYX_ERR(0, 362, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_feof_python(((PyObject *)__pyx_v_f), 0) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 362, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":365 - * - * # getc error conditions - * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< - * f.read = fn - * assert zran_file_util._getc_python(f) == -1 - */ - __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_error_fn); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_return_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, Py_None) : __Pyx_PyObject_CallOneArg(__pyx_t_3, Py_None); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); - __pyx_t_1 = 0; - __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (__pyx_t_5 >= 2) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 365, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 365, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_XDECREF_SET(__pyx_v_fn, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":366 - * # getc error conditions - * for fn in [error_fn, return_fn(None)]: - * f.read = fn # <<<<<<<<<<<<<< - * assert zran_file_util._getc_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 - */ - __Pyx_TraceLine(366,0,__PYX_ERR(0, 366, __pyx_L1_error)) - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_read, __pyx_v_fn) < 0) __PYX_ERR(0, 366, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":367 - * for fn in [error_fn, return_fn(None)]: - * f.read = fn - * assert zran_file_util._getc_python(f) == -1 # <<<<<<<<<<<<<< - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() - */ - __Pyx_TraceLine(367,0,__PYX_ERR(0, 367, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_getc_python(((PyObject *)__pyx_v_f)) == -1L) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 367, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":368 - * f.read = fn - * assert zran_file_util._getc_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 # <<<<<<<<<<<<<< - * PyErr_Clear() - * - */ - __Pyx_TraceLine(368,0,__PYX_ERR(0, 368, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_ferror_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 368, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":369 - * assert zran_file_util._getc_python(f) == -1 - * assert zran_file_util._ferror_python(f) == 1 - * PyErr_Clear() # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(369,0,__PYX_ERR(0, 369, __pyx_L1_error)) - PyErr_Clear(); - - /* "indexed_gzip/tests/ctest_zran.pyx":365 - * - * # getc error conditions - * for fn in [error_fn, return_fn(None)]: # <<<<<<<<<<<<<< - * f.read = fn - * assert zran_file_util._getc_python(f) == -1 - */ - __Pyx_TraceLine(365,0,__PYX_ERR(0, 365, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":351 - * - * - * def test_getc(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"dbc") - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_getc", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fn); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":372 - * - * - * def test_seekable(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_21test_seekable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_21test_seekable = {"test_seekable", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_21test_seekable, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_21test_seekable(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seekable (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_20test_seekable(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":376 - * f = BytesIO(b"abc") - * assert zran_file_util._seekable_python(f) == 1 - * f.seekable = lambda: False # <<<<<<<<<<<<<< - * assert zran_file_util._seekable_python(f) == 0 - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2 = {"lambda2", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("lambda2 (wrapper)", 0); - __pyx_r = __pyx_lambda_funcdef_lambda2(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_lambda_funcdef_lambda2(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("lambda2", 0); - __Pyx_TraceCall("lambda2", __pyx_f[0], 376, 0, __PYX_ERR(0, 376, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(Py_False); - __pyx_r = Py_False; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seekable.lambda2", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":372 - * - * - * def test_seekable(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_20test_seekable(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__21) - __Pyx_RefNannySetupContext("test_seekable", 0); - __Pyx_TraceCall("test_seekable", __pyx_f[0], 372, 0, __PYX_ERR(0, 372, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":374 - * def test_seekable(): - * - * f = BytesIO(b"abc") # <<<<<<<<<<<<<< - * assert zran_file_util._seekable_python(f) == 1 - * f.seekable = lambda: False - */ - __Pyx_TraceLine(374,0,__PYX_ERR(0, 374, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_b_abc) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_b_abc); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":375 - * - * f = BytesIO(b"abc") - * assert zran_file_util._seekable_python(f) == 1 # <<<<<<<<<<<<<< - * f.seekable = lambda: False - * assert zran_file_util._seekable_python(f) == 0 - */ - __Pyx_TraceLine(375,0,__PYX_ERR(0, 375, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_seekable_python(((PyObject *)__pyx_v_f)) == 1) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 375, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":376 - * f = BytesIO(b"abc") - * assert zran_file_util._seekable_python(f) == 1 - * f.seekable = lambda: False # <<<<<<<<<<<<<< - * assert zran_file_util._seekable_python(f) == 0 - * - */ - __Pyx_TraceLine(376,0,__PYX_ERR(0, 376, __pyx_L1_error)) - __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_13test_seekable_lambda2, 0, __pyx_n_s_test_seekable_locals_lambda, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (__Pyx_PyObject_SetAttrStr(__pyx_v_f, __pyx_n_s_seekable, __pyx_t_1) < 0) __PYX_ERR(0, 376, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":377 - * assert zran_file_util._seekable_python(f) == 1 - * f.seekable = lambda: False - * assert zran_file_util._seekable_python(f) == 0 # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(377,0,__PYX_ERR(0, 377, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((_seekable_python(((PyObject *)__pyx_v_f)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 377, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":372 - * - * - * def test_seekable(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seekable", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":380 - * - * - * def test_init(testfile, no_fds): # <<<<<<<<<<<<<< - * """Tests a bunch of permutations of the parameters to zran_init. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_23test_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_22test_init[] = "Tests a bunch of permutations of the parameters to zran_init. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_23test_init = {"test_init", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_23test_init, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_22test_init}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_23test_init(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_init (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_init", 1, 2, 2, 1); __PYX_ERR(0, 380, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init") < 0)) __PYX_ERR(0, 380, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_init", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 380, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_22test_init(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_22test_init(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds) { - PyObject *__pyx_v_spacings = NULL; - PyObject *__pyx_v_window_sizes = NULL; - PyObject *__pyx_v_readbuf_sizes = NULL; - PyObject *__pyx_v_flags = NULL; - zran_index_t __pyx_v_index; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_pyfid = NULL; - PyObject *__pyx_v_s = NULL; - PyObject *__pyx_v_w = NULL; - PyObject *__pyx_v_r = NULL; - PyObject *__pyx_v_f = NULL; - int __pyx_v_result; - PyObject *__pyx_v_expected = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - Py_ssize_t __pyx_t_10; - PyObject *(*__pyx_t_11)(PyObject *); - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *(*__pyx_t_15)(PyObject *); - void *__pyx_t_16; - int __pyx_t_17; - PyObject *__pyx_t_18; - uint32_t __pyx_t_19; - uint32_t __pyx_t_20; - uint32_t __pyx_t_21; - uint16_t __pyx_t_22; - PyObject *__pyx_t_23 = NULL; - int __pyx_t_24; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__22) - __Pyx_RefNannySetupContext("test_init", 0); - __Pyx_TraceCall("test_init", __pyx_f[0], 380, 0, __PYX_ERR(0, 380, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":383 - * """Tests a bunch of permutations of the parameters to zran_init. """ - * - * spacings = [0, 16384, 32768, 65536, 524288, 1048576, 2097152, 4194304] # <<<<<<<<<<<<<< - * window_sizes = [0, 8192, 16384, 32768, 65536, 131072] - * readbuf_sizes = [0, 8192, 16384, 24576, 32768, 65536, 131072] - */ - __Pyx_TraceLine(383,0,__PYX_ERR(0, 383, __pyx_L1_error)) - __pyx_t_1 = PyList_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); - __Pyx_INCREF(__pyx_int_16384); - __Pyx_GIVEREF(__pyx_int_16384); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_16384); - __Pyx_INCREF(__pyx_int_32768); - __Pyx_GIVEREF(__pyx_int_32768); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_32768); - __Pyx_INCREF(__pyx_int_65536); - __Pyx_GIVEREF(__pyx_int_65536); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_65536); - __Pyx_INCREF(__pyx_int_524288); - __Pyx_GIVEREF(__pyx_int_524288); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_524288); - __Pyx_INCREF(__pyx_int_1048576); - __Pyx_GIVEREF(__pyx_int_1048576); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_1048576); - __Pyx_INCREF(__pyx_int_2097152); - __Pyx_GIVEREF(__pyx_int_2097152); - PyList_SET_ITEM(__pyx_t_1, 6, __pyx_int_2097152); - __Pyx_INCREF(__pyx_int_4194304); - __Pyx_GIVEREF(__pyx_int_4194304); - PyList_SET_ITEM(__pyx_t_1, 7, __pyx_int_4194304); - __pyx_v_spacings = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":384 - * - * spacings = [0, 16384, 32768, 65536, 524288, 1048576, 2097152, 4194304] - * window_sizes = [0, 8192, 16384, 32768, 65536, 131072] # <<<<<<<<<<<<<< - * readbuf_sizes = [0, 8192, 16384, 24576, 32768, 65536, 131072] - * flags = [0, zran.ZRAN_AUTO_BUILD] - */ - __Pyx_TraceLine(384,0,__PYX_ERR(0, 384, __pyx_L1_error)) - __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); - __Pyx_INCREF(__pyx_int_8192); - __Pyx_GIVEREF(__pyx_int_8192); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_8192); - __Pyx_INCREF(__pyx_int_16384); - __Pyx_GIVEREF(__pyx_int_16384); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_16384); - __Pyx_INCREF(__pyx_int_32768); - __Pyx_GIVEREF(__pyx_int_32768); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_32768); - __Pyx_INCREF(__pyx_int_65536); - __Pyx_GIVEREF(__pyx_int_65536); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_65536); - __Pyx_INCREF(__pyx_int_131072); - __Pyx_GIVEREF(__pyx_int_131072); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_131072); - __pyx_v_window_sizes = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":385 - * spacings = [0, 16384, 32768, 65536, 524288, 1048576, 2097152, 4194304] - * window_sizes = [0, 8192, 16384, 32768, 65536, 131072] - * readbuf_sizes = [0, 8192, 16384, 24576, 32768, 65536, 131072] # <<<<<<<<<<<<<< - * flags = [0, zran.ZRAN_AUTO_BUILD] - * - */ - __Pyx_TraceLine(385,0,__PYX_ERR(0, 385, __pyx_L1_error)) - __pyx_t_1 = PyList_New(7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); - __Pyx_INCREF(__pyx_int_8192); - __Pyx_GIVEREF(__pyx_int_8192); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_8192); - __Pyx_INCREF(__pyx_int_16384); - __Pyx_GIVEREF(__pyx_int_16384); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_16384); - __Pyx_INCREF(__pyx_int_24576); - __Pyx_GIVEREF(__pyx_int_24576); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_24576); - __Pyx_INCREF(__pyx_int_32768); - __Pyx_GIVEREF(__pyx_int_32768); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_32768); - __Pyx_INCREF(__pyx_int_65536); - __Pyx_GIVEREF(__pyx_int_65536); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_65536); - __Pyx_INCREF(__pyx_int_131072); - __Pyx_GIVEREF(__pyx_int_131072); - PyList_SET_ITEM(__pyx_t_1, 6, __pyx_int_131072); - __pyx_v_readbuf_sizes = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":386 - * window_sizes = [0, 8192, 16384, 32768, 65536, 131072] - * readbuf_sizes = [0, 8192, 16384, 24576, 32768, 65536, 131072] - * flags = [0, zran.ZRAN_AUTO_BUILD] # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(386,0,__PYX_ERR(0, 386, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_From_int(ZRAN_AUTO_BUILD); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 386, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); - __Pyx_GIVEREF(__pyx_t_1); - PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); - __pyx_t_1 = 0; - __pyx_v_flags = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":391 - * cdef FILE *cfid - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * - * cfid = fdopen(pyfid.fileno(), 'rb') - */ - __Pyx_TraceLine(391,0,__PYX_ERR(0, 391, __pyx_L1_error)) - /*with:*/ { - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 391, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 391, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":393 - * with open(testfile, 'rb') as pyfid: - * - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * for s, w, r, f in it.product(spacings, - */ - __Pyx_TraceLine(393,0,__PYX_ERR(0, 393, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 393, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 393, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 393, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":395 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * for s, w, r, f in it.product(spacings, # <<<<<<<<<<<<<< - * window_sizes, - * readbuf_sizes, - */ - __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_it); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_product); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":398 - * window_sizes, - * readbuf_sizes, - * flags): # <<<<<<<<<<<<<< - * - * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, s, w, r, f) - */ - __Pyx_TraceLine(398,0,__PYX_ERR(0, 398, __pyx_L7_error)) - __pyx_t_1 = NULL; - __pyx_t_9 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_9 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[5] = {__pyx_t_1, __pyx_v_spacings, __pyx_v_window_sizes, __pyx_v_readbuf_sizes, __pyx_v_flags}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 4+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[5] = {__pyx_t_1, __pyx_v_spacings, __pyx_v_window_sizes, __pyx_v_readbuf_sizes, __pyx_v_flags}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 4+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - { - __pyx_t_5 = PyTuple_New(4+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_INCREF(__pyx_v_spacings); - __Pyx_GIVEREF(__pyx_v_spacings); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_spacings); - __Pyx_INCREF(__pyx_v_window_sizes); - __Pyx_GIVEREF(__pyx_v_window_sizes); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_window_sizes); - __Pyx_INCREF(__pyx_v_readbuf_sizes); - __Pyx_GIVEREF(__pyx_v_readbuf_sizes); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_9, __pyx_v_readbuf_sizes); - __Pyx_INCREF(__pyx_v_flags); - __Pyx_GIVEREF(__pyx_v_flags); - PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_9, __pyx_v_flags); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":395 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * for s, w, r, f in it.product(spacings, # <<<<<<<<<<<<<< - * window_sizes, - * readbuf_sizes, - */ - __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L7_error)) - if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { - __pyx_t_2 = __pyx_t_4; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0; - __pyx_t_11 = NULL; - } else { - __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 395, __pyx_L7_error) - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - for (;;) { - if (likely(!__pyx_t_11)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 395, __pyx_L7_error) - #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } else { - if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 395, __pyx_L7_error) - #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } - } else { - __pyx_t_4 = __pyx_t_11(__pyx_t_2); - if (unlikely(!__pyx_t_4)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 395, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_4); - } - if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { - PyObject* sequence = __pyx_t_4; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 4)) { - if (size > 4) __Pyx_RaiseTooManyValuesError(4); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 395, __pyx_L7_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); - __pyx_t_12 = PyTuple_GET_ITEM(sequence, 2); - __pyx_t_13 = PyTuple_GET_ITEM(sequence, 3); - } else { - __pyx_t_5 = PyList_GET_ITEM(sequence, 0); - __pyx_t_1 = PyList_GET_ITEM(sequence, 1); - __pyx_t_12 = PyList_GET_ITEM(sequence, 2); - __pyx_t_13 = PyList_GET_ITEM(sequence, 3); - } - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); - #else - { - Py_ssize_t i; - PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_1,&__pyx_t_12,&__pyx_t_13}; - for (i=0; i < 4; i++) { - PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(item); - *(temps[i]) = item; - } - } - #endif - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else { - Py_ssize_t index = -1; - PyObject** temps[4] = {&__pyx_t_5,&__pyx_t_1,&__pyx_t_12,&__pyx_t_13}; - __pyx_t_14 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 395, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_15 = Py_TYPE(__pyx_t_14)->tp_iternext; - for (index=0; index < 4; index++) { - PyObject* item = __pyx_t_15(__pyx_t_14); if (unlikely(!item)) goto __pyx_L15_unpacking_failed; - __Pyx_GOTREF(item); - *(temps[index]) = item; - } - if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_14), 4) < 0) __PYX_ERR(0, 395, __pyx_L7_error) - __pyx_t_15 = NULL; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L16_unpacking_done; - __pyx_L15_unpacking_failed:; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_15 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 395, __pyx_L7_error) - __pyx_L16_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_s, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1); - __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_r, __pyx_t_12); - __pyx_t_12 = 0; - __Pyx_XDECREF_SET(__pyx_v_f, __pyx_t_13); - __pyx_t_13 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":400 - * flags): - * - * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, s, w, r, f) # <<<<<<<<<<<<<< - * - * expected = True - */ - __Pyx_TraceLine(400,0,__PYX_ERR(0, 400, __pyx_L7_error)) - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 400, __pyx_L7_error) - if (__pyx_t_17) { - __pyx_t_16 = NULL; - } else { - __pyx_t_16 = __pyx_v_cfid; - } - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 400, __pyx_L7_error) - if (__pyx_t_17) { - __pyx_t_18 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_18 = NULL; - } - __pyx_t_19 = __Pyx_PyInt_As_uint32_t(__pyx_v_s); if (unlikely((__pyx_t_19 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L7_error) - __pyx_t_20 = __Pyx_PyInt_As_uint32_t(__pyx_v_w); if (unlikely((__pyx_t_20 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L7_error) - __pyx_t_21 = __Pyx_PyInt_As_uint32_t(__pyx_v_r); if (unlikely((__pyx_t_21 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L7_error) - __pyx_t_22 = __Pyx_PyInt_As_uint16_t(__pyx_v_f); if (unlikely((__pyx_t_22 == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L7_error) - __pyx_v_result = (!(zran_init((&__pyx_v_index), __pyx_t_16, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22) != 0)); - - /* "indexed_gzip/tests/ctest_zran.pyx":402 - * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, s, w, r, f) - * - * expected = True # <<<<<<<<<<<<<< - * - * # zran_init should fail if the point spacing - */ - __Pyx_TraceLine(402,0,__PYX_ERR(0, 402, __pyx_L7_error)) - __Pyx_INCREF(Py_True); - __Pyx_XDECREF_SET(__pyx_v_expected, Py_True); - - /* "indexed_gzip/tests/ctest_zran.pyx":407 - * # is less than the window size - * - * if w == 0: w = 32768 # <<<<<<<<<<<<<< - * if s == 0: s = 1048576 - * if r == 0: r = 16384 - */ - __Pyx_TraceLine(407,0,__PYX_ERR(0, 407, __pyx_L7_error)) - __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_w, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 407, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 407, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_17) { - __Pyx_INCREF(__pyx_int_32768); - __Pyx_DECREF_SET(__pyx_v_w, __pyx_int_32768); - } - - /* "indexed_gzip/tests/ctest_zran.pyx":408 - * - * if w == 0: w = 32768 - * if s == 0: s = 1048576 # <<<<<<<<<<<<<< - * if r == 0: r = 16384 - * - */ - __Pyx_TraceLine(408,0,__PYX_ERR(0, 408, __pyx_L7_error)) - __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_s, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 408, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 408, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_17) { - __Pyx_INCREF(__pyx_int_1048576); - __Pyx_DECREF_SET(__pyx_v_s, __pyx_int_1048576); - } - - /* "indexed_gzip/tests/ctest_zran.pyx":409 - * if w == 0: w = 32768 - * if s == 0: s = 1048576 - * if r == 0: r = 16384 # <<<<<<<<<<<<<< - * - * expected = (w >= 32768) and (s > w) - */ - __Pyx_TraceLine(409,0,__PYX_ERR(0, 409, __pyx_L7_error)) - __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_r, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 409, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 409, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_17) { - __Pyx_INCREF(__pyx_int_16384); - __Pyx_DECREF_SET(__pyx_v_r, __pyx_int_16384); - } - - /* "indexed_gzip/tests/ctest_zran.pyx":411 - * if r == 0: r = 16384 - * - * expected = (w >= 32768) and (s > w) # <<<<<<<<<<<<<< - * - * assert result == expected - */ - __Pyx_TraceLine(411,0,__PYX_ERR(0, 411, __pyx_L7_error)) - __pyx_t_13 = PyObject_RichCompare(__pyx_v_w, __pyx_int_32768, Py_GE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 411, __pyx_L7_error) - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 411, __pyx_L7_error) - if (__pyx_t_17) { - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } else { - __Pyx_INCREF(__pyx_t_13); - __pyx_t_4 = __pyx_t_13; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L20_bool_binop_done; - } - __pyx_t_13 = PyObject_RichCompare(__pyx_v_s, __pyx_v_w, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 411, __pyx_L7_error) - __Pyx_INCREF(__pyx_t_13); - __pyx_t_4 = __pyx_t_13; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_L20_bool_binop_done:; - __Pyx_DECREF_SET(__pyx_v_expected, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":413 - * expected = (w >= 32768) and (s > w) - * - * assert result == expected # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(413,0,__PYX_ERR(0, 413, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_result); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 413, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = PyObject_RichCompare(__pyx_t_4, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 413, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 413, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 413, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":415 - * assert result == expected - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(415,0,__PYX_ERR(0, 415, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":395 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * for s, w, r, f in it.product(spacings, # <<<<<<<<<<<<<< - * window_sizes, - * readbuf_sizes, - */ - __Pyx_TraceLine(395,0,__PYX_ERR(0, 395, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":391 - * cdef FILE *cfid - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * - * cfid = fdopen(pyfid.fileno(), 'rb') - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_13, &__pyx_t_4) < 0) __PYX_ERR(0, 391, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_13); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_13, __pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 391, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_12, NULL); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 391, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_23); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 391, __pyx_L9_except_error) - __pyx_t_24 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_24) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_13, __pyx_t_4); - __pyx_t_2 = 0; __pyx_t_13 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 391, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_3) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L25; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L1_error; - __pyx_L25:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":380 - * - * - * def test_init(testfile, no_fds): # <<<<<<<<<<<<<< - * """Tests a bunch of permutations of the parameters to zran_init. """ - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_spacings); - __Pyx_XDECREF(__pyx_v_window_sizes); - __Pyx_XDECREF(__pyx_v_readbuf_sizes); - __Pyx_XDECREF(__pyx_v_flags); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_s); - __Pyx_XDECREF(__pyx_v_w); - __Pyx_XDECREF(__pyx_v_r); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_expected); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":418 - * - * - * def test_init_file_modes(testfile, no_fds): # <<<<<<<<<<<<<< - * - * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes = {"test_init_file_modes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_init_file_modes (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_init_file_modes", 1, 2, 2, 1); __PYX_ERR(0, 418, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_init_file_modes") < 0)) __PYX_ERR(0, 418, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_init_file_modes", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 418, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init_file_modes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_24test_init_file_modes(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_24test_init_file_modes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds) { - PyObject *__pyx_v_modes = NULL; - PyObject *__pyx_v_files = NULL; - zran_index_t __pyx_v_index; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_bmode = 0; - char *__pyx_v_cmode; - PyObject *__pyx_v_filename = NULL; - PyObject *__pyx_v_mode = NULL; - PyObject *__pyx_v_pyfid = NULL; - PyObject *__pyx_v_expected = NULL; - int __pyx_v_result; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; - PyObject *(*__pyx_t_4)(PyObject *); - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *(*__pyx_t_8)(PyObject *); - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - char *__pyx_t_13; - int __pyx_t_14; - int __pyx_t_15; - void *__pyx_t_16; - PyObject *__pyx_t_17; - PyObject *__pyx_t_18 = NULL; - int __pyx_t_19; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__24) - __Pyx_RefNannySetupContext("test_init_file_modes", 0); - __Pyx_TraceCall("test_init_file_modes", __pyx_f[0], 418, 0, __PYX_ERR(0, 418, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":420 - * def test_init_file_modes(testfile, no_fds): - * - * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] # <<<<<<<<<<<<<< - * - * files = [testfile, testfile, - */ - __Pyx_TraceLine(420,0,__PYX_ERR(0, 420, __pyx_L1_error)) - __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 420, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s_r); - __Pyx_GIVEREF(__pyx_n_s_r); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_r); - __Pyx_INCREF(__pyx_kp_s_r_2); - __Pyx_GIVEREF(__pyx_kp_s_r_2); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_kp_s_r_2); - __Pyx_INCREF(__pyx_n_s_w); - __Pyx_GIVEREF(__pyx_n_s_w); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_w); - __Pyx_INCREF(__pyx_kp_s_w_2); - __Pyx_GIVEREF(__pyx_kp_s_w_2); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_kp_s_w_2); - __Pyx_INCREF(__pyx_n_s_a); - __Pyx_GIVEREF(__pyx_n_s_a); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_s_a); - __Pyx_INCREF(__pyx_kp_s_a_2); - __Pyx_GIVEREF(__pyx_kp_s_a_2); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_kp_s_a_2); - __pyx_v_modes = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":422 - * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] - * - * files = [testfile, testfile, # <<<<<<<<<<<<<< - * 'dummy.gz', 'dummy.gz', 'dummy.gz', 'dummy.gz'] - * - */ - __Pyx_TraceLine(422,0,__PYX_ERR(0, 422, __pyx_L1_error)) - __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 422, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_v_testfile); - __Pyx_INCREF(__pyx_kp_s_dummy_gz); - __Pyx_GIVEREF(__pyx_kp_s_dummy_gz); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_kp_s_dummy_gz); - __Pyx_INCREF(__pyx_kp_s_dummy_gz); - __Pyx_GIVEREF(__pyx_kp_s_dummy_gz); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_kp_s_dummy_gz); - __Pyx_INCREF(__pyx_kp_s_dummy_gz); - __Pyx_GIVEREF(__pyx_kp_s_dummy_gz); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_kp_s_dummy_gz); - __Pyx_INCREF(__pyx_kp_s_dummy_gz); - __Pyx_GIVEREF(__pyx_kp_s_dummy_gz); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_kp_s_dummy_gz); - __pyx_v_files = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":430 - * cdef char *cmode - * - * for filename, mode in zip(files, modes): # <<<<<<<<<<<<<< - * - * with open(filename, mode) as pyfid: - */ - __Pyx_TraceLine(430,0,__PYX_ERR(0, 430, __pyx_L1_error)) - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_files); - __Pyx_GIVEREF(__pyx_v_files); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_files); - __Pyx_INCREF(__pyx_v_modes); - __Pyx_GIVEREF(__pyx_v_modes); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_modes); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { - __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; - __pyx_t_4 = NULL; - } else { - __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { - if (likely(!__pyx_t_4)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 430, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 430, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_4(__pyx_t_1); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 430, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { - PyObject* sequence = __pyx_t_2; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 430, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_5 = PyList_GET_ITEM(sequence, 0); - __pyx_t_6 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - #else - __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - #endif - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 430, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext; - index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed; - __Pyx_GOTREF(__pyx_t_5); - index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed; - __Pyx_GOTREF(__pyx_t_6); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 430, __pyx_L1_error) - __pyx_t_8 = NULL; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L6_unpacking_done; - __pyx_L5_unpacking_failed:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_8 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 430, __pyx_L1_error) - __pyx_L6_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_filename, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_mode, __pyx_t_6); - __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":432 - * for filename, mode in zip(files, modes): - * - * with open(filename, mode) as pyfid: # <<<<<<<<<<<<<< - * - * bmode = mode.encode() - */ - __Pyx_TraceLine(432,0,__PYX_ERR(0, 432, __pyx_L1_error)) - /*with:*/ { - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_filename); - __Pyx_GIVEREF(__pyx_v_filename); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_filename); - __Pyx_INCREF(__pyx_v_mode); - __Pyx_GIVEREF(__pyx_v_mode); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_mode); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_6, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 432, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":434 - * with open(filename, mode) as pyfid: - * - * bmode = mode.encode() # <<<<<<<<<<<<<< - * cmode = bmode - * cfid = fdopen(pyfid.fileno(), cmode) - */ - __Pyx_TraceLine(434,0,__PYX_ERR(0, 434, __pyx_L13_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_mode, __pyx_n_s_encode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 434, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 434, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (!(likely(PyBytes_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 434, __pyx_L13_error) - __Pyx_XDECREF_SET(__pyx_v_bmode, ((PyObject*)__pyx_t_5)); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":435 - * - * bmode = mode.encode() - * cmode = bmode # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), cmode) - * - */ - __Pyx_TraceLine(435,0,__PYX_ERR(0, 435, __pyx_L13_error)) - if (unlikely(__pyx_v_bmode == Py_None)) { - PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found"); - __PYX_ERR(0, 435, __pyx_L13_error) - } - __pyx_t_13 = __Pyx_PyBytes_AsWritableString(__pyx_v_bmode); if (unlikely((!__pyx_t_13) && PyErr_Occurred())) __PYX_ERR(0, 435, __pyx_L13_error) - __pyx_v_cmode = __pyx_t_13; - - /* "indexed_gzip/tests/ctest_zran.pyx":436 - * bmode = mode.encode() - * cmode = bmode - * cfid = fdopen(pyfid.fileno(), cmode) # <<<<<<<<<<<<<< - * - * # If no_fds is set, we can't detect the mode, so reading is always allowed. - */ - __Pyx_TraceLine(436,0,__PYX_ERR(0, 436, __pyx_L13_error)) - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 436, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 436, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_14 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 436, __pyx_L13_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_cfid = fdopen(__pyx_t_14, __pyx_v_cmode); - - /* "indexed_gzip/tests/ctest_zran.pyx":439 - * - * # If no_fds is set, we can't detect the mode, so reading is always allowed. - * expected = 1 if no_fds else mode == 'r' # <<<<<<<<<<<<<< - * - * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, 0, 0, 0, 0) - */ - __Pyx_TraceLine(439,0,__PYX_ERR(0, 439, __pyx_L13_error)) - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 439, __pyx_L13_error) - if (__pyx_t_15) { - __Pyx_INCREF(__pyx_int_1); - __pyx_t_5 = __pyx_int_1; - } else { - __pyx_t_6 = PyObject_RichCompare(__pyx_v_mode, __pyx_n_s_r, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 439, __pyx_L13_error) - __pyx_t_5 = __pyx_t_6; - __pyx_t_6 = 0; - } - __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":441 - * expected = 1 if no_fds else mode == 'r' - * - * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, 0, 0, 0, 0) # <<<<<<<<<<<<<< - * - * assert result == expected - */ - __Pyx_TraceLine(441,0,__PYX_ERR(0, 441, __pyx_L13_error)) - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 441, __pyx_L13_error) - if (__pyx_t_15) { - __pyx_t_16 = NULL; - } else { - __pyx_t_16 = __pyx_v_cfid; - } - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 441, __pyx_L13_error) - if (__pyx_t_15) { - __pyx_t_17 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_17 = NULL; - } - __pyx_v_result = (!(zran_init((&__pyx_v_index), __pyx_t_16, __pyx_t_17, 0, 0, 0, 0) != 0)); - - /* "indexed_gzip/tests/ctest_zran.pyx":443 - * result = not zran.zran_init(&index, NULL if no_fds else cfid, pyfid if no_fds else NULL, 0, 0, 0, 0) - * - * assert result == expected # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(443,0,__PYX_ERR(0, 443, __pyx_L13_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_result); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 443, __pyx_L13_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 443, __pyx_L13_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_15)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 443, __pyx_L13_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":445 - * assert result == expected - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * if filename == 'dummy.gz' and op.exists(filename): - */ - __Pyx_TraceLine(445,0,__PYX_ERR(0, 445, __pyx_L13_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":432 - * for filename, mode in zip(files, modes): - * - * with open(filename, mode) as pyfid: # <<<<<<<<<<<<<< - * - * bmode = mode.encode() - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L20_try_end; - __pyx_L13_error:; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init_file_modes", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(0, 432, __pyx_L15_except_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = PyTuple_Pack(3, __pyx_t_6, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 432, __pyx_L15_except_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_7, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 432, __pyx_L15_except_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_18); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 432, __pyx_L15_except_error) - __pyx_t_19 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_19) { - __Pyx_GIVEREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_6, __pyx_t_5, __pyx_t_2); - __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 432, __pyx_L15_except_error) - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L14_exception_handled; - } - __pyx_L15_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L1_error; - __pyx_L14_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L20_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 432, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L12; - } - __pyx_L12:; - } - goto __pyx_L24; - __pyx_L7_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L1_error; - __pyx_L24:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":447 - * zran.zran_free(&index) - * - * if filename == 'dummy.gz' and op.exists(filename): # <<<<<<<<<<<<<< - * os.remove(filename) - * - */ - __Pyx_TraceLine(447,0,__PYX_ERR(0, 447, __pyx_L1_error)) - __pyx_t_15 = (__Pyx_PyString_Equals(__pyx_v_filename, __pyx_kp_s_dummy_gz, Py_EQ)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 447, __pyx_L1_error) - if (__pyx_t_15) { - } else { - __pyx_t_19 = __pyx_t_15; - goto __pyx_L26_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_op); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_exists); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_filename); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 447, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 447, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_19 = __pyx_t_15; - __pyx_L26_bool_binop_done:; - if (__pyx_t_19) { - - /* "indexed_gzip/tests/ctest_zran.pyx":448 - * - * if filename == 'dummy.gz' and op.exists(filename): - * os.remove(filename) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(448,0,__PYX_ERR(0, 448, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_os); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_remove); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_filename); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":447 - * zran.zran_free(&index) - * - * if filename == 'dummy.gz' and op.exists(filename): # <<<<<<<<<<<<<< - * os.remove(filename) - * - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":430 - * cdef char *cmode - * - * for filename, mode in zip(files, modes): # <<<<<<<<<<<<<< - * - * with open(filename, mode) as pyfid: - */ - __Pyx_TraceLine(430,0,__PYX_ERR(0, 430, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":418 - * - * - * def test_init_file_modes(testfile, no_fds): # <<<<<<<<<<<<<< - * - * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_init_file_modes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_modes); - __Pyx_XDECREF(__pyx_v_files); - __Pyx_XDECREF(__pyx_v_bmode); - __Pyx_XDECREF(__pyx_v_filename); - __Pyx_XDECREF(__pyx_v_mode); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_expected); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":451 - * - * - * def test_no_auto_build(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build = {"test_no_auto_build", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_no_auto_build (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_no_auto_build", 1, 3, 3, 1); __PYX_ERR(0, 451, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_no_auto_build", 1, 3, 3, 2); __PYX_ERR(0, 451, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_no_auto_build") < 0)) __PYX_ERR(0, 451, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_no_auto_build", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 451, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_no_auto_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_26test_no_auto_build(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_26test_no_auto_build(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { - zran_index_t __pyx_v_index; - void *__pyx_v_buffer; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - long __pyx_v_bufSize; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_gotread = NULL; - uint64_t __pyx_v_gottell; - PyObject *__pyx_v_expread = NULL; - PyObject *__pyx_v_exptell = NULL; - PyObject *__pyx_v_pybuf = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - void *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - PyObject *__pyx_t_13; - uint32_t __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - Py_ssize_t __pyx_t_21; - Py_ssize_t __pyx_t_22; - int __pyx_t_23; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__25) - __Pyx_RefNannySetupContext("test_no_auto_build", 0); - __Pyx_TraceCall("test_no_auto_build", __pyx_f[0], 451, 0, __PYX_ERR(0, 451, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":456 - * cdef void *buffer - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * indexSpacing = max(1048576, filesize // 1500) - * bufSize = 1048576 - */ - __Pyx_TraceLine(456,0,__PYX_ERR(0, 456, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":457 - * - * filesize = nelems * 8 - * indexSpacing = max(1048576, filesize // 1500) # <<<<<<<<<<<<<< - * bufSize = 1048576 - * buf = ReadBuffer(bufSize) - */ - __Pyx_TraceLine(457,0,__PYX_ERR(0, 457, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x100000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 457, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 457, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 457, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":458 - * filesize = nelems * 8 - * indexSpacing = max(1048576, filesize // 1500) - * bufSize = 1048576 # <<<<<<<<<<<<<< - * buf = ReadBuffer(bufSize) - * buffer = buf.buffer - */ - __Pyx_TraceLine(458,0,__PYX_ERR(0, 458, __pyx_L1_error)) - __pyx_v_bufSize = 0x100000; - - /* "indexed_gzip/tests/ctest_zran.pyx":459 - * indexSpacing = max(1048576, filesize // 1500) - * bufSize = 1048576 - * buf = ReadBuffer(bufSize) # <<<<<<<<<<<<<< - * buffer = buf.buffer - * - */ - __Pyx_TraceLine(459,0,__PYX_ERR(0, 459, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":460 - * bufSize = 1048576 - * buf = ReadBuffer(bufSize) - * buffer = buf.buffer # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(460,0,__PYX_ERR(0, 460, __pyx_L1_error)) - __pyx_t_7 = __pyx_v_buf->buffer; - __pyx_v_buffer = __pyx_t_7; - - /* "indexed_gzip/tests/ctest_zran.pyx":462 - * buffer = buf.buffer - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(462,0,__PYX_ERR(0, 462, __pyx_L1_error)) - /*with:*/ { - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 462, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 462, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":463 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(463,0,__PYX_ERR(0, 463, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 463, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 463, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 463, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_cfid = fdopen(__pyx_t_12, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":465 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":466 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(466,0,__PYX_ERR(0, 466, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 466, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_7 = NULL; - } else { - __pyx_t_7 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":467 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(467,0,__PYX_ERR(0, 467, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 467, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_13 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":468 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(468,0,__PYX_ERR(0, 468, __pyx_L7_error)) - __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 468, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":465 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(465,0,__PYX_ERR(0, 465, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_7, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, 0) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 465, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":473 - * 0) - * - * assert zran.zran_seek(&index, 0, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == 0 - * assert zran.zran_seek(&index, 1, SEEK_SET, NULL) == zran.ZRAN_SEEK_NOT_COVERED - */ - __Pyx_TraceLine(473,0,__PYX_ERR(0, 473, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), 0, SEEK_SET, NULL) == ZRAN_SEEK_OK) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 473, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":474 - * - * assert zran.zran_seek(&index, 0, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == 0 # <<<<<<<<<<<<<< - * assert zran.zran_seek(&index, 1, SEEK_SET, NULL) == zran.ZRAN_SEEK_NOT_COVERED - * assert zran.zran_tell(&index) == 0 - */ - __Pyx_TraceLine(474,0,__PYX_ERR(0, 474, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_tell((&__pyx_v_index)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 474, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":475 - * assert zran.zran_seek(&index, 0, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == 0 - * assert zran.zran_seek(&index, 1, SEEK_SET, NULL) == zran.ZRAN_SEEK_NOT_COVERED # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == 0 - * - */ - __Pyx_TraceLine(475,0,__PYX_ERR(0, 475, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), 1, SEEK_SET, NULL) == ZRAN_SEEK_NOT_COVERED) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 475, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":476 - * assert zran.zran_tell(&index) == 0 - * assert zran.zran_seek(&index, 1, SEEK_SET, NULL) == zran.ZRAN_SEEK_NOT_COVERED - * assert zran.zran_tell(&index) == 0 # <<<<<<<<<<<<<< - * - * gotread = zran.zran_read(&index, buffer, bufSize) - */ - __Pyx_TraceLine(476,0,__PYX_ERR(0, 476, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_tell((&__pyx_v_index)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 476, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":478 - * assert zran.zran_tell(&index) == 0 - * - * gotread = zran.zran_read(&index, buffer, bufSize) # <<<<<<<<<<<<<< - * gottell = zran.zran_tell(&index) - * - */ - __Pyx_TraceLine(478,0,__PYX_ERR(0, 478, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyInt_From_int64_t(zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_v_bufSize)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 478, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_gotread = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":479 - * - * gotread = zran.zran_read(&index, buffer, bufSize) - * gottell = zran.zran_tell(&index) # <<<<<<<<<<<<<< - * - * if bufSize > filesize: expread = filesize - */ - __Pyx_TraceLine(479,0,__PYX_ERR(0, 479, __pyx_L7_error)) - __pyx_v_gottell = zran_tell((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":481 - * gottell = zran.zran_tell(&index) - * - * if bufSize > filesize: expread = filesize # <<<<<<<<<<<<<< - * else: expread = bufSize - * - */ - __Pyx_TraceLine(481,0,__PYX_ERR(0, 481, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 481, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_v_filesize, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 481, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_v_filesize); - __pyx_v_expread = __pyx_v_filesize; - goto __pyx_L13; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":482 - * - * if bufSize > filesize: expread = filesize - * else: expread = bufSize # <<<<<<<<<<<<<< - * - * if bufSize > filesize: exptell = filesize - */ - __Pyx_TraceLine(482,0,__PYX_ERR(0, 482, __pyx_L7_error)) - /*else*/ { - __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 482, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_expread = __pyx_t_1; - __pyx_t_1 = 0; - } - __pyx_L13:; - - /* "indexed_gzip/tests/ctest_zran.pyx":484 - * else: expread = bufSize - * - * if bufSize > filesize: exptell = filesize # <<<<<<<<<<<<<< - * else: exptell = bufSize - * - */ - __Pyx_TraceLine(484,0,__PYX_ERR(0, 484, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_v_filesize, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 484, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_v_filesize); - __pyx_v_exptell = __pyx_v_filesize; - goto __pyx_L14; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":485 - * - * if bufSize > filesize: exptell = filesize - * else: exptell = bufSize # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(485,0,__PYX_ERR(0, 485, __pyx_L7_error)) - /*else*/ { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 485, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_exptell = __pyx_t_5; - __pyx_t_5 = 0; - } - __pyx_L14:; - - /* "indexed_gzip/tests/ctest_zran.pyx":487 - * else: exptell = bufSize - * - * try: # <<<<<<<<<<<<<< - * assert gotread == expread - * assert gottell == exptell - */ - __Pyx_TraceLine(487,0,__PYX_ERR(0, 487, __pyx_L7_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":488 - * - * try: - * assert gotread == expread # <<<<<<<<<<<<<< - * assert gottell == exptell - * except: - */ - __Pyx_TraceLine(488,0,__PYX_ERR(0, 488, __pyx_L15_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = PyObject_RichCompare(__pyx_v_gotread, __pyx_v_expread, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 488, __pyx_L15_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 488, __pyx_L15_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 488, __pyx_L15_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":489 - * try: - * assert gotread == expread - * assert gottell == exptell # <<<<<<<<<<<<<< - * except: - * print("expread: {}".format(expread)) - */ - __Pyx_TraceLine(489,0,__PYX_ERR(0, 489, __pyx_L15_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 489, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_v_exptell, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L15_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 489, __pyx_L15_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 489, __pyx_L15_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":487 - * else: exptell = bufSize - * - * try: # <<<<<<<<<<<<<< - * assert gotread == expread - * assert gottell == exptell - */ - } - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - goto __pyx_L20_try_end; - __pyx_L15_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":490 - * assert gotread == expread - * assert gottell == exptell - * except: # <<<<<<<<<<<<<< - * print("expread: {}".format(expread)) - * print("gotread: {}".format(gotread)) - */ - __Pyx_TraceLine(490,0,__PYX_ERR(0, 490, __pyx_L17_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_no_auto_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 490, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/tests/ctest_zran.pyx":491 - * assert gottell == exptell - * except: - * print("expread: {}".format(expread)) # <<<<<<<<<<<<<< - * print("gotread: {}".format(gotread)) - * print("exptell: {}".format(exptell)) - */ - __Pyx_TraceLine(491,0,__PYX_ERR(0, 491, __pyx_L17_except_error)) - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_expread, __pyx_n_s_format); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 491, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_19 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_18, function); - } - } - __pyx_t_4 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_19, __pyx_v_expread) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_v_expread); - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 491, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 491, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":492 - * except: - * print("expread: {}".format(expread)) - * print("gotread: {}".format(gotread)) # <<<<<<<<<<<<<< - * print("exptell: {}".format(exptell)) - * print("gottell: {}".format(gottell)) - */ - __Pyx_TraceLine(492,0,__PYX_ERR(0, 492, __pyx_L17_except_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gotread, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 492, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_19 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_18 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_19, __pyx_v_gotread) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_gotread); - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 492, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 492, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":493 - * print("expread: {}".format(expread)) - * print("gotread: {}".format(gotread)) - * print("exptell: {}".format(exptell)) # <<<<<<<<<<<<<< - * print("gottell: {}".format(gottell)) - * raise - */ - __Pyx_TraceLine(493,0,__PYX_ERR(0, 493, __pyx_L17_except_error)) - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_exptell, __pyx_n_s_format); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 493, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_19 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_18, function); - } - } - __pyx_t_4 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_19, __pyx_v_exptell) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_v_exptell); - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 493, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 493, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":494 - * print("gotread: {}".format(gotread)) - * print("exptell: {}".format(exptell)) - * print("gottell: {}".format(gottell)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(494,0,__PYX_ERR(0, 494, __pyx_L17_except_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_gottell, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 494, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_19 = __Pyx_PyInt_From_uint64_t(__pyx_v_gottell); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 494, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_20 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_20)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_20); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_18 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_20, __pyx_t_19) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_19); - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 494, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 494, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":495 - * print("exptell: {}".format(exptell)) - * print("gottell: {}".format(gottell)) - * raise # <<<<<<<<<<<<<< - * - * pybuf = (buffer)[:gotread] - */ - __Pyx_TraceLine(495,0,__PYX_ERR(0, 495, __pyx_L17_except_error)) - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_5, __pyx_t_3); - __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 495, __pyx_L17_except_error) - } - __pyx_L17_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":487 - * else: exptell = bufSize - * - * try: # <<<<<<<<<<<<<< - * assert gotread == expread - * assert gottell == exptell - */ - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_16, __pyx_t_17); - goto __pyx_L7_error; - __pyx_L20_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":497 - * raise - * - * pybuf = (buffer)[:gotread] # <<<<<<<<<<<<<< - * data = np.ndarray(gotread // 8, np.uint64, pybuf) - * - */ - __Pyx_TraceLine(497,0,__PYX_ERR(0, 497, __pyx_L7_error)) - __Pyx_INCREF(__pyx_v_gotread); - __pyx_t_3 = __pyx_v_gotread; - __pyx_t_6 = (__pyx_t_3 == Py_None); - if (__pyx_t_6) { - __pyx_t_21 = PY_SSIZE_T_MAX; - } else { - __pyx_t_22 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_22 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 497, __pyx_L7_error) - __pyx_t_21 = __pyx_t_22; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, __pyx_t_21 - 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_pybuf = ((PyObject*)__pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":498 - * - * pybuf = (buffer)[:gotread] - * data = np.ndarray(gotread // 8, np.uint64, pybuf) # <<<<<<<<<<<<<< - * - * assert check_data_valid(data, 0) - */ - __Pyx_TraceLine(498,0,__PYX_ERR(0, 498, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_gotread, __pyx_int_8, 8, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 498, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); - __Pyx_INCREF(__pyx_v_pybuf); - __Pyx_GIVEREF(__pyx_v_pybuf); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_v_pybuf); - __pyx_t_5 = 0; - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_ndarray), __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":500 - * data = np.ndarray(gotread // 8, np.uint64, pybuf) - * - * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< - * - * if bufSize < filesize: - */ - __Pyx_TraceLine(500,0,__PYX_ERR(0, 500, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_12 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_12 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_data, __pyx_int_0}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - { - __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_data); - __Pyx_GIVEREF(__pyx_v_data); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_v_data); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_int_0); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 500, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 500, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":502 - * assert check_data_valid(data, 0) - * - * if bufSize < filesize: # <<<<<<<<<<<<<< - * assert zran.zran_read(&index, buffer, bufSize) == zran.ZRAN_READ_NOT_COVERED - * - */ - __Pyx_TraceLine(502,0,__PYX_ERR(0, 502, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v_bufSize); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_filesize, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 502, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 502, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - - /* "indexed_gzip/tests/ctest_zran.pyx":503 - * - * if bufSize < filesize: - * assert zran.zran_read(&index, buffer, bufSize) == zran.ZRAN_READ_NOT_COVERED # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(503,0,__PYX_ERR(0, 503, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_v_bufSize) == ZRAN_READ_NOT_COVERED) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 503, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":502 - * assert check_data_valid(data, 0) - * - * if bufSize < filesize: # <<<<<<<<<<<<<< - * assert zran.zran_read(&index, buffer, bufSize) == zran.ZRAN_READ_NOT_COVERED - * - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":462 - * buffer = buf.buffer - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_no_auto_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 462, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 462, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 462, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 462, __pyx_L9_except_error) - __pyx_t_23 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_23) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_4); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 462, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_8) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 462, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L27; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L1_error; - __pyx_L27:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":451 - * - * - * def test_no_auto_build(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_no_auto_build", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_gotread); - __Pyx_XDECREF(__pyx_v_expread); - __Pyx_XDECREF(__pyx_v_exptell); - __Pyx_XDECREF(__pyx_v_pybuf); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":506 - * - * - * def test_seek_to_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end = {"test_seek_to_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seek_to_end (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_to_end", 1, 3, 3, 1); __PYX_ERR(0, 506, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_to_end", 1, 3, 3, 2); __PYX_ERR(0, 506, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_to_end") < 0)) __PYX_ERR(0, 506, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_to_end", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 506, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_28test_seek_to_end(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_28test_seek_to_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_seek_point = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - uint64_t __pyx_v_zt; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - void *__pyx_t_12; - PyObject *__pyx_t_13; - uint32_t __pyx_t_14; - int64_t __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__26) - __Pyx_RefNannySetupContext("test_seek_to_end", 0); - __Pyx_TraceCall("test_seek_to_end", __pyx_f[0], 506, 0, __PYX_ERR(0, 506, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":510 - * cdef zran.zran_index_t index - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * - * seek_point = filesize - 1 - */ - __Pyx_TraceLine(510,0,__PYX_ERR(0, 510, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 510, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":512 - * filesize = nelems * 8 - * - * seek_point = filesize - 1 # <<<<<<<<<<<<<< - * indexSpacing = max(524288, filesize // 1500) - * - */ - __Pyx_TraceLine(512,0,__PYX_ERR(0, 512, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_seek_point = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":513 - * - * seek_point = filesize - 1 - * indexSpacing = max(524288, filesize // 1500) # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(513,0,__PYX_ERR(0, 513, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x80000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 513, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 513, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 513, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":515 - * indexSpacing = max(524288, filesize // 1500) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(515,0,__PYX_ERR(0, 515, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 515, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":516 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(516,0,__PYX_ERR(0, 516, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 516, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 516, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 516, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_cfid = fdopen(__pyx_t_11, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":518 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":519 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(519,0,__PYX_ERR(0, 519, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 519, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_12 = NULL; - } else { - __pyx_t_12 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":520 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(520,0,__PYX_ERR(0, 520, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 520, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_13 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":521 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(521,0,__PYX_ERR(0, 521, __pyx_L7_error)) - __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 521, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":518 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(518,0,__PYX_ERR(0, 518, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_12, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 518, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":526 - * zran.ZRAN_AUTO_BUILD) - * - * assert zran.zran_seek(&index, seek_point, SEEK_SET, NULL) == 0 # <<<<<<<<<<<<<< - * - * zt = zran.zran_tell(&index) - */ - __Pyx_TraceLine(526,0,__PYX_ERR(0, 526, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_v_seek_point); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 526, __pyx_L7_error) - if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_SET, NULL) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 526, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":528 - * assert zran.zran_seek(&index, seek_point, SEEK_SET, NULL) == 0 - * - * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< - * - * assert zt == seek_point - */ - __Pyx_TraceLine(528,0,__PYX_ERR(0, 528, __pyx_L7_error)) - __pyx_v_zt = zran_tell((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":530 - * zt = zran.zran_tell(&index) - * - * assert zt == seek_point # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(530,0,__PYX_ERR(0, 530, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 530, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_seek_point, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 530, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 530, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 530, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":532 - * assert zt == seek_point - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(532,0,__PYX_ERR(0, 532, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":515 - * indexSpacing = max(524288, filesize // 1500) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 515, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 515, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_4, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 515, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 515, __pyx_L9_except_error) - __pyx_t_17 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 515, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_7) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 515, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":506 - * - * - * def test_seek_to_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_seek_point); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":535 - * - * - * def test_seek_cur(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur = {"test_seek_cur", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seek_cur (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_cur", 1, 3, 3, 1); __PYX_ERR(0, 535, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_cur", 1, 3, 3, 2); __PYX_ERR(0, 535, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_cur") < 0)) __PYX_ERR(0, 535, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_cur", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 535, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_cur", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_30test_seek_cur(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_30test_seek_cur(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - PyObject *__pyx_v_seekstep = NULL; - PyObject *__pyx_v_curelem = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - int __pyx_v_exp; - int __pyx_v_out; - uint64_t __pyx_v_zt; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - void *__pyx_t_12; - PyObject *__pyx_t_13; - uint32_t __pyx_t_14; - int64_t __pyx_t_15; - struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - int __pyx_t_18; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__27) - __Pyx_RefNannySetupContext("test_seek_cur", 0); - __Pyx_TraceCall("test_seek_cur", __pyx_f[0], 535, 0, __PYX_ERR(0, 535, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":539 - * cdef zran.zran_index_t index - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * indexSpacing = max(524288, filesize // 1500) - * seekstep = max(1, (nelems - 1) // 500) - */ - __Pyx_TraceLine(539,0,__PYX_ERR(0, 539, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 539, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":540 - * - * filesize = nelems * 8 - * indexSpacing = max(524288, filesize // 1500) # <<<<<<<<<<<<<< - * seekstep = max(1, (nelems - 1) // 500) - * curelem = 0; - */ - __Pyx_TraceLine(540,0,__PYX_ERR(0, 540, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x80000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 540, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 540, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 540, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":541 - * filesize = nelems * 8 - * indexSpacing = max(524288, filesize // 1500) - * seekstep = max(1, (nelems - 1) // 500) # <<<<<<<<<<<<<< - * curelem = 0; - * - */ - __Pyx_TraceLine(541,0,__PYX_ERR(0, 541, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyInt_FloorDivideObjC(__pyx_t_1, __pyx_int_500, 0x1F4, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = 1; - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 541, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_3); - __pyx_t_1 = __pyx_t_3; - } else { - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 541, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __pyx_t_4; - __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __Pyx_INCREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_seekstep = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":542 - * indexSpacing = max(524288, filesize // 1500) - * seekstep = max(1, (nelems - 1) // 500) - * curelem = 0; # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(542,0,__PYX_ERR(0, 542, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_v_curelem = __pyx_int_0; - - /* "indexed_gzip/tests/ctest_zran.pyx":544 - * curelem = 0; - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(544,0,__PYX_ERR(0, 544, __pyx_L1_error)) - /*with:*/ { - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 544, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 544, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 544, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":545 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(545,0,__PYX_ERR(0, 545, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 545, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 545, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_cfid = fdopen(__pyx_t_11, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":547 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(547,0,__PYX_ERR(0, 547, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":548 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(548,0,__PYX_ERR(0, 548, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 548, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_12 = NULL; - } else { - __pyx_t_12 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":549 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(549,0,__PYX_ERR(0, 549, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 549, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_13 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":550 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(550,0,__PYX_ERR(0, 550, __pyx_L7_error)) - __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 550, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":547 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(547,0,__PYX_ERR(0, 547, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_12, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 547, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":555 - * zran.ZRAN_AUTO_BUILD) - * - * while curelem < nelems: # <<<<<<<<<<<<<< - * - * if (curelem + seekstep) * 8 < filesize: exp = zran.ZRAN_SEEK_OK - */ - __Pyx_TraceLine(555,0,__PYX_ERR(0, 555, __pyx_L7_error)) - while (1) { - __pyx_t_4 = PyObject_RichCompare(__pyx_v_curelem, __pyx_v_nelems, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 555, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 555, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_6) break; - - /* "indexed_gzip/tests/ctest_zran.pyx":557 - * while curelem < nelems: - * - * if (curelem + seekstep) * 8 < filesize: exp = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * else: exp = zran.ZRAN_SEEK_EOF - * - */ - __Pyx_TraceLine(557,0,__PYX_ERR(0, 557, __pyx_L7_error)) - __pyx_t_4 = PyNumber_Add(__pyx_v_curelem, __pyx_v_seekstep); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyNumber_Multiply(__pyx_t_4, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_filesize, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 557, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - __pyx_v_exp = ZRAN_SEEK_OK; - goto __pyx_L15; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":558 - * - * if (curelem + seekstep) * 8 < filesize: exp = zran.ZRAN_SEEK_OK - * else: exp = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(558,0,__PYX_ERR(0, 558, __pyx_L7_error)) - /*else*/ { - __pyx_v_exp = ZRAN_SEEK_EOF; - } - __pyx_L15:; - - /* "indexed_gzip/tests/ctest_zran.pyx":561 - * - * - * out = zran.zran_seek(&index, seekstep * 8, SEEK_CUR, NULL) # <<<<<<<<<<<<<< - * assert out == exp, out - * - */ - __Pyx_TraceLine(561,0,__PYX_ERR(0, 561, __pyx_L7_error)) - __pyx_t_4 = PyNumber_Multiply(__pyx_v_seekstep, __pyx_int_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 561, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_t_4); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 561, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_out = zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_CUR, NULL); - - /* "indexed_gzip/tests/ctest_zran.pyx":562 - * - * out = zran.zran_seek(&index, seekstep * 8, SEEK_CUR, NULL) - * assert out == exp, out # <<<<<<<<<<<<<< - * - * if exp == zran.ZRAN_SEEK_EOF: - */ - __Pyx_TraceLine(562,0,__PYX_ERR(0, 562, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_out == __pyx_v_exp) != 0))) { - __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_out); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 562, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 562, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); - __pyx_t_4 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 562, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":564 - * assert out == exp, out - * - * if exp == zran.ZRAN_SEEK_EOF: # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(564,0,__PYX_ERR(0, 564, __pyx_L7_error)) - __pyx_t_6 = ((__pyx_v_exp == ZRAN_SEEK_EOF) != 0); - if (__pyx_t_6) { - - /* "indexed_gzip/tests/ctest_zran.pyx":565 - * - * if exp == zran.ZRAN_SEEK_EOF: - * break # <<<<<<<<<<<<<< - * - * curelem += seekstep - */ - __Pyx_TraceLine(565,0,__PYX_ERR(0, 565, __pyx_L7_error)) - goto __pyx_L14_break; - - /* "indexed_gzip/tests/ctest_zran.pyx":564 - * assert out == exp, out - * - * if exp == zran.ZRAN_SEEK_EOF: # <<<<<<<<<<<<<< - * break - * - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":567 - * break - * - * curelem += seekstep # <<<<<<<<<<<<<< - * zt = zran.zran_tell(&index) - * val = read_element(&index, curelem, nelems, False) - */ - __Pyx_TraceLine(567,0,__PYX_ERR(0, 567, __pyx_L7_error)) - __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_curelem, __pyx_v_seekstep); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF_SET(__pyx_v_curelem, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":568 - * - * curelem += seekstep - * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< - * val = read_element(&index, curelem, nelems, False) - * - */ - __Pyx_TraceLine(568,0,__PYX_ERR(0, 568, __pyx_L7_error)) - __pyx_v_zt = zran_tell((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":569 - * curelem += seekstep - * zt = zran.zran_tell(&index) - * val = read_element(&index, curelem, nelems, False) # <<<<<<<<<<<<<< - * - * assert zt == curelem * 8 - */ - __Pyx_TraceLine(569,0,__PYX_ERR(0, 569, __pyx_L7_error)) - __pyx_t_16.__pyx_n = 1; - __pyx_t_16.seek = Py_False; - __pyx_t_1 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_curelem, __pyx_v_nelems, &__pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 569, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":571 - * val = read_element(&index, curelem, nelems, False) - * - * assert zt == curelem * 8 # <<<<<<<<<<<<<< - * assert val == curelem - * - */ - __Pyx_TraceLine(571,0,__PYX_ERR(0, 571, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyNumber_Multiply(__pyx_v_curelem, __pyx_int_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 571, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 571, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 571, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 571, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":572 - * - * assert zt == curelem * 8 - * assert val == curelem # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, -8, SEEK_CUR, NULL) == zran.ZRAN_SEEK_OK - */ - __Pyx_TraceLine(572,0,__PYX_ERR(0, 572, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_val, __pyx_v_curelem, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 572, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 572, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 572, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":574 - * assert val == curelem - * - * assert zran.zran_seek(&index, -8, SEEK_CUR, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(574,0,__PYX_ERR(0, 574, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), -8L, SEEK_CUR, NULL) == ZRAN_SEEK_OK) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 574, __pyx_L7_error) - } - } - #endif - } - __pyx_L14_break:; - - /* "indexed_gzip/tests/ctest_zran.pyx":576 - * assert zran.zran_seek(&index, -8, SEEK_CUR, NULL) == zran.ZRAN_SEEK_OK - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(576,0,__PYX_ERR(0, 576, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":544 - * curelem = 0; - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_cur", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 544, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 544, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 544, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 544, __pyx_L9_except_error) - __pyx_t_18 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_4, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 544, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_7) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 544, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L20; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L1_error; - __pyx_L20:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":535 - * - * - * def test_seek_cur(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_cur", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF(__pyx_v_seekstep); - __Pyx_XDECREF(__pyx_v_curelem); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":579 - * - * - * def test_seek_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * cdef zran.zran_index_t index - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_33test_seek_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_33test_seek_end = {"test_seek_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_33test_seek_end, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_33test_seek_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seek_end (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_end", 1, 3, 3, 1); __PYX_ERR(0, 579, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_end", 1, 3, 3, 2); __PYX_ERR(0, 579, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_end") < 0)) __PYX_ERR(0, 579, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_end", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 579, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_32test_seek_end(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_32test_seek_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - PyObject *__pyx_v_seekstep = NULL; - PyObject *__pyx_v_curelem = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_seekloc = NULL; - int __pyx_v_exp; - uint64_t __pyx_v_zt; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - int __pyx_t_11; - void *__pyx_t_12; - PyObject *__pyx_t_13; - uint32_t __pyx_t_14; - int64_t __pyx_t_15; - struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - int __pyx_t_18; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__28) - __Pyx_RefNannySetupContext("test_seek_end", 0); - __Pyx_TraceCall("test_seek_end", __pyx_f[0], 579, 0, __PYX_ERR(0, 579, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":582 - * cdef zran.zran_index_t index - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * indexSpacing = max(131072, filesize // 1500) - * seekstep = max(1, (nelems - 1) // 500) - */ - __Pyx_TraceLine(582,0,__PYX_ERR(0, 582, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":583 - * - * filesize = nelems * 8 - * indexSpacing = max(131072, filesize // 1500) # <<<<<<<<<<<<<< - * seekstep = max(1, (nelems - 1) // 500) - * curelem = 0 - */ - __Pyx_TraceLine(583,0,__PYX_ERR(0, 583, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x20000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 583, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 583, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 583, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":584 - * filesize = nelems * 8 - * indexSpacing = max(131072, filesize // 1500) - * seekstep = max(1, (nelems - 1) // 500) # <<<<<<<<<<<<<< - * curelem = 0 - * - */ - __Pyx_TraceLine(584,0,__PYX_ERR(0, 584, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyInt_FloorDivideObjC(__pyx_t_1, __pyx_int_500, 0x1F4, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = 1; - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 584, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_3); - __pyx_t_1 = __pyx_t_3; - } else { - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 584, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __pyx_t_4; - __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __Pyx_INCREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_seekstep = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":585 - * indexSpacing = max(131072, filesize // 1500) - * seekstep = max(1, (nelems - 1) // 500) - * curelem = 0 # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(585,0,__PYX_ERR(0, 585, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_v_curelem = __pyx_int_0; - - /* "indexed_gzip/tests/ctest_zran.pyx":587 - * curelem = 0 - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(587,0,__PYX_ERR(0, 587, __pyx_L1_error)) - /*with:*/ { - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 587, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":588 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(588,0,__PYX_ERR(0, 588, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 588, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_11 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 588, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_cfid = fdopen(__pyx_t_11, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":590 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(590,0,__PYX_ERR(0, 590, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":591 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(591,0,__PYX_ERR(0, 591, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 591, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_12 = NULL; - } else { - __pyx_t_12 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":592 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(592,0,__PYX_ERR(0, 592, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 592, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_13 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":593 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(593,0,__PYX_ERR(0, 593, __pyx_L7_error)) - __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 593, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":590 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(590,0,__PYX_ERR(0, 590, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_12, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 590, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":598 - * zran.ZRAN_AUTO_BUILD) - * - * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT # <<<<<<<<<<<<<< - * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == 20 - */ - __Pyx_TraceLine(598,0,__PYX_ERR(0, 598, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), -10L, SEEK_END, NULL) == ZRAN_SEEK_INDEX_NOT_BUILT) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 598, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":599 - * - * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT - * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == 20 - * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT - */ - __Pyx_TraceLine(599,0,__PYX_ERR(0, 599, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), 20, SEEK_SET, NULL) == ZRAN_SEEK_OK) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 599, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":600 - * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT - * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == 20 # <<<<<<<<<<<<<< - * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT - * - */ - __Pyx_TraceLine(600,0,__PYX_ERR(0, 600, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_tell((&__pyx_v_index)) == 20) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 600, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":601 - * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == 20 - * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT # <<<<<<<<<<<<<< - * - * assert zran.zran_build_index(&index, 0, 0) == 0 - */ - __Pyx_TraceLine(601,0,__PYX_ERR(0, 601, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), -10L, SEEK_END, NULL) == ZRAN_SEEK_INDEX_NOT_BUILT) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 601, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":603 - * assert zran.zran_seek(&index, -10, SEEK_END, NULL) == zran.ZRAN_SEEK_INDEX_NOT_BUILT - * - * assert zran.zran_build_index(&index, 0, 0) == 0 # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, 0, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF - */ - __Pyx_TraceLine(603,0,__PYX_ERR(0, 603, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_build_index((&__pyx_v_index), 0, 0) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 603, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":605 - * assert zran.zran_build_index(&index, 0, 0) == 0 - * - * assert zran.zran_seek(&index, 0, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == filesize - * assert zran.zran_seek(&index, -1, SEEK_END, NULL) == zran.ZRAN_SEEK_OK - */ - __Pyx_TraceLine(605,0,__PYX_ERR(0, 605, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), 0, SEEK_END, NULL) == ZRAN_SEEK_EOF) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 605, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":606 - * - * assert zran.zran_seek(&index, 0, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF - * assert zran.zran_tell(&index) == filesize # <<<<<<<<<<<<<< - * assert zran.zran_seek(&index, -1, SEEK_END, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == filesize - 1 - */ - __Pyx_TraceLine(606,0,__PYX_ERR(0, 606, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 606, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 606, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 606, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":607 - * assert zran.zran_seek(&index, 0, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF - * assert zran.zran_tell(&index) == filesize - * assert zran.zran_seek(&index, -1, SEEK_END, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == filesize - 1 - * - */ - __Pyx_TraceLine(607,0,__PYX_ERR(0, 607, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), -1L, SEEK_END, NULL) == ZRAN_SEEK_OK) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 607, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":608 - * assert zran.zran_tell(&index) == filesize - * assert zran.zran_seek(&index, -1, SEEK_END, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == filesize - 1 # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, 1, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF - */ - __Pyx_TraceLine(608,0,__PYX_ERR(0, 608, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 608, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 608, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 608, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 608, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":610 - * assert zran.zran_tell(&index) == filesize - 1 - * - * assert zran.zran_seek(&index, 1, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == filesize - * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL - */ - __Pyx_TraceLine(610,0,__PYX_ERR(0, 610, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_seek((&__pyx_v_index), 1, SEEK_END, NULL) == ZRAN_SEEK_EOF) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 610, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":611 - * - * assert zran.zran_seek(&index, 1, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF - * assert zran.zran_tell(&index) == filesize # <<<<<<<<<<<<<< - * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL - * assert zran.zran_seek(&index, -filesize, SEEK_END, NULL) == zran.ZRAN_SEEK_OK - */ - __Pyx_TraceLine(611,0,__PYX_ERR(0, 611, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 611, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 611, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 611, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 611, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":612 - * assert zran.zran_seek(&index, 1, SEEK_END, NULL) == zran.ZRAN_SEEK_EOF - * assert zran.zran_tell(&index) == filesize - * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL # <<<<<<<<<<<<<< - * assert zran.zran_seek(&index, -filesize, SEEK_END, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == 0 - */ - __Pyx_TraceLine(612,0,__PYX_ERR(0, 612, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = PyNumber_Negative(__pyx_v_filesize); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 612, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 612, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_t_3); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 612, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_END, NULL) == ZRAN_SEEK_FAIL) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 612, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":613 - * assert zran.zran_tell(&index) == filesize - * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL - * assert zran.zran_seek(&index, -filesize, SEEK_END, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == 0 - * - */ - __Pyx_TraceLine(613,0,__PYX_ERR(0, 613, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = PyNumber_Negative(__pyx_v_filesize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_t_3); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 613, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_END, NULL) == ZRAN_SEEK_OK) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 613, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":614 - * assert zran.zran_seek(&index, -filesize - 1, SEEK_END, NULL) == zran.ZRAN_SEEK_FAIL - * assert zran.zran_seek(&index, -filesize, SEEK_END, NULL) == zran.ZRAN_SEEK_OK - * assert zran.zran_tell(&index) == 0 # <<<<<<<<<<<<<< - * - * while curelem < nelems: - */ - __Pyx_TraceLine(614,0,__PYX_ERR(0, 614, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_tell((&__pyx_v_index)) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 614, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":616 - * assert zran.zran_tell(&index) == 0 - * - * while curelem < nelems: # <<<<<<<<<<<<<< - * seekloc = filesize - ((nelems + curelem - 1) * 8) - * - */ - __Pyx_TraceLine(616,0,__PYX_ERR(0, 616, __pyx_L7_error)) - while (1) { - __pyx_t_3 = PyObject_RichCompare(__pyx_v_curelem, __pyx_v_nelems, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 616, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!__pyx_t_6) break; - - /* "indexed_gzip/tests/ctest_zran.pyx":617 - * - * while curelem < nelems: - * seekloc = filesize - ((nelems + curelem - 1) * 8) # <<<<<<<<<<<<<< - * - * if seekloc >= 0: exp = zran.ZRAN_SEEK_EOF - */ - __Pyx_TraceLine(617,0,__PYX_ERR(0, 617, __pyx_L7_error)) - __pyx_t_3 = PyNumber_Add(__pyx_v_nelems, __pyx_v_curelem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 617, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_int_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_v_filesize, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 617, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF_SET(__pyx_v_seekloc, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":619 - * seekloc = filesize - ((nelems + curelem - 1) * 8) - * - * if seekloc >= 0: exp = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< - * else: exp = zran.ZRAN_SEEK_OK - * - */ - __Pyx_TraceLine(619,0,__PYX_ERR(0, 619, __pyx_L7_error)) - __pyx_t_4 = PyObject_RichCompare(__pyx_v_seekloc, __pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 619, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 619, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - __pyx_v_exp = ZRAN_SEEK_EOF; - goto __pyx_L15; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":620 - * - * if seekloc >= 0: exp = zran.ZRAN_SEEK_EOF - * else: exp = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, seekloc, SEEK_END, NULL) == exp - */ - __Pyx_TraceLine(620,0,__PYX_ERR(0, 620, __pyx_L7_error)) - /*else*/ { - __pyx_v_exp = ZRAN_SEEK_OK; - } - __pyx_L15:; - - /* "indexed_gzip/tests/ctest_zran.pyx":622 - * else: exp = zran.ZRAN_SEEK_OK - * - * assert zran.zran_seek(&index, seekloc, SEEK_END, NULL) == exp # <<<<<<<<<<<<<< - * - * if exp == zran.ZRAN_SEEK_EOF: - */ - __Pyx_TraceLine(622,0,__PYX_ERR(0, 622, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_15 = __Pyx_PyInt_As_int64_t(__pyx_v_seekloc); if (unlikely((__pyx_t_15 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 622, __pyx_L7_error) - if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_15, SEEK_END, NULL) == __pyx_v_exp) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 622, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":624 - * assert zran.zran_seek(&index, seekloc, SEEK_END, NULL) == exp - * - * if exp == zran.ZRAN_SEEK_EOF: # <<<<<<<<<<<<<< - * break - * - */ - __Pyx_TraceLine(624,0,__PYX_ERR(0, 624, __pyx_L7_error)) - __pyx_t_6 = ((__pyx_v_exp == ZRAN_SEEK_EOF) != 0); - if (__pyx_t_6) { - - /* "indexed_gzip/tests/ctest_zran.pyx":625 - * - * if exp == zran.ZRAN_SEEK_EOF: - * break # <<<<<<<<<<<<<< - * - * curelem += seekstep - */ - __Pyx_TraceLine(625,0,__PYX_ERR(0, 625, __pyx_L7_error)) - goto __pyx_L14_break; - - /* "indexed_gzip/tests/ctest_zran.pyx":624 - * assert zran.zran_seek(&index, seekloc, SEEK_END, NULL) == exp - * - * if exp == zran.ZRAN_SEEK_EOF: # <<<<<<<<<<<<<< - * break - * - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":627 - * break - * - * curelem += seekstep # <<<<<<<<<<<<<< - * zt = zran.zran_tell(&index) - * val = read_element(&index, curelem, nelems, False) - */ - __Pyx_TraceLine(627,0,__PYX_ERR(0, 627, __pyx_L7_error)) - __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_curelem, __pyx_v_seekstep); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 627, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF_SET(__pyx_v_curelem, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":628 - * - * curelem += seekstep - * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< - * val = read_element(&index, curelem, nelems, False) - * - */ - __Pyx_TraceLine(628,0,__PYX_ERR(0, 628, __pyx_L7_error)) - __pyx_v_zt = zran_tell((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":629 - * curelem += seekstep - * zt = zran.zran_tell(&index) - * val = read_element(&index, curelem, nelems, False) # <<<<<<<<<<<<<< - * - * assert zt == curelem * 8 - */ - __Pyx_TraceLine(629,0,__PYX_ERR(0, 629, __pyx_L7_error)) - __pyx_t_16.__pyx_n = 1; - __pyx_t_16.seek = Py_False; - __pyx_t_4 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_curelem, __pyx_v_nelems, &__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 629, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":631 - * val = read_element(&index, curelem, nelems, False) - * - * assert zt == curelem * 8 # <<<<<<<<<<<<<< - * assert val == curelem - * - */ - __Pyx_TraceLine(631,0,__PYX_ERR(0, 631, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 631, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyNumber_Multiply(__pyx_v_curelem, __pyx_int_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 631, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 631, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 631, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":632 - * - * assert zt == curelem * 8 - * assert val == curelem # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(632,0,__PYX_ERR(0, 632, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyObject_RichCompare(__pyx_v_val, __pyx_v_curelem, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 632, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 632, __pyx_L7_error) - } - } - #endif - } - __pyx_L14_break:; - - /* "indexed_gzip/tests/ctest_zran.pyx":634 - * assert val == curelem - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(634,0,__PYX_ERR(0, 634, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":587 - * curelem = 0 - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 587, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 587, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 587, __pyx_L9_except_error) - __pyx_t_18 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_4); - __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 587, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_7) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 587, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L20; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L1_error; - __pyx_L20:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":579 - * - * - * def test_seek_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * cdef zran.zran_index_t index - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF(__pyx_v_seekstep); - __Pyx_XDECREF(__pyx_v_curelem); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_seekloc); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":637 - * - * - * def test_seek_beyond_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end = {"test_seek_beyond_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seek_beyond_end (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_beyond_end", 1, 3, 3, 1); __PYX_ERR(0, 637, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_beyond_end", 1, 3, 3, 2); __PYX_ERR(0, 637, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_beyond_end") < 0)) __PYX_ERR(0, 637, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_beyond_end", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 637, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_34test_seek_beyond_end(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_34test_seek_beyond_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - PyObject *__pyx_v_seekpoints = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_sp = NULL; - int __pyx_v_zs; - PyObject *__pyx_v_expected = NULL; - uint64_t __pyx_v_zt; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - void *__pyx_t_15; - PyObject *__pyx_t_16; - uint32_t __pyx_t_17; - Py_ssize_t __pyx_t_18; - int64_t __pyx_t_19; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - int __pyx_t_25; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__29) - __Pyx_RefNannySetupContext("test_seek_beyond_end", 0); - __Pyx_TraceCall("test_seek_beyond_end", __pyx_f[0], 637, 0, __PYX_ERR(0, 637, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":641 - * cdef zran.zran_index_t index - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * indexSpacing = max(524288, filesize // 1500) - * seekpoints = [filesize - 10, - */ - __Pyx_TraceLine(641,0,__PYX_ERR(0, 641, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":642 - * - * filesize = nelems * 8 - * indexSpacing = max(524288, filesize // 1500) # <<<<<<<<<<<<<< - * seekpoints = [filesize - 10, - * filesize - 2, - */ - __Pyx_TraceLine(642,0,__PYX_ERR(0, 642, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1500, 0x5DC, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x80000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":643 - * filesize = nelems * 8 - * indexSpacing = max(524288, filesize // 1500) - * seekpoints = [filesize - 10, # <<<<<<<<<<<<<< - * filesize - 2, - * filesize - 1, - */ - __Pyx_TraceLine(643,0,__PYX_ERR(0, 643, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - /* "indexed_gzip/tests/ctest_zran.pyx":644 - * indexSpacing = max(524288, filesize // 1500) - * seekpoints = [filesize - 10, - * filesize - 2, # <<<<<<<<<<<<<< - * filesize - 1, - * filesize, - */ - __Pyx_TraceLine(644,0,__PYX_ERR(0, 644, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 644, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/tests/ctest_zran.pyx":645 - * seekpoints = [filesize - 10, - * filesize - 2, - * filesize - 1, # <<<<<<<<<<<<<< - * filesize, - * filesize + 1, - */ - __Pyx_TraceLine(645,0,__PYX_ERR(0, 645, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 645, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/tests/ctest_zran.pyx":647 - * filesize - 1, - * filesize, - * filesize + 1, # <<<<<<<<<<<<<< - * filesize + 2, - * filesize + 10] - */ - __Pyx_TraceLine(647,0,__PYX_ERR(0, 647, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 647, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - /* "indexed_gzip/tests/ctest_zran.pyx":648 - * filesize, - * filesize + 1, - * filesize + 2, # <<<<<<<<<<<<<< - * filesize + 10] - * - */ - __Pyx_TraceLine(648,0,__PYX_ERR(0, 648, __pyx_L1_error)) - __pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 648, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - - /* "indexed_gzip/tests/ctest_zran.pyx":649 - * filesize + 1, - * filesize + 2, - * filesize + 10] # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(649,0,__PYX_ERR(0, 649, __pyx_L1_error)) - __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_filesize, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 649, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - - /* "indexed_gzip/tests/ctest_zran.pyx":643 - * filesize = nelems * 8 - * indexSpacing = max(524288, filesize // 1500) - * seekpoints = [filesize - 10, # <<<<<<<<<<<<<< - * filesize - 2, - * filesize - 1, - */ - __Pyx_TraceLine(643,0,__PYX_ERR(0, 643, __pyx_L1_error)) - __pyx_t_9 = PyList_New(7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 643, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_1); - PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_5); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyList_SET_ITEM(__pyx_t_9, 3, __pyx_v_filesize); - __Pyx_GIVEREF(__pyx_t_4); - PyList_SET_ITEM(__pyx_t_9, 4, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_7); - PyList_SET_ITEM(__pyx_t_9, 5, __pyx_t_7); - __Pyx_GIVEREF(__pyx_t_8); - PyList_SET_ITEM(__pyx_t_9, 6, __pyx_t_8); - __pyx_t_1 = 0; - __pyx_t_3 = 0; - __pyx_t_5 = 0; - __pyx_t_4 = 0; - __pyx_t_7 = 0; - __pyx_t_8 = 0; - __pyx_v_seekpoints = ((PyObject*)__pyx_t_9); - __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":651 - * filesize + 10] - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(651,0,__PYX_ERR(0, 651, __pyx_L1_error)) - /*with:*/ { - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_n_s_rb); - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_8, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_8, __pyx_n_s_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 651, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_9 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 651, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __pyx_t_9; - __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_7; - __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":652 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(652,0,__PYX_ERR(0, 652, __pyx_L7_error)) - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 652, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - } - } - __pyx_t_7 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 652, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_14 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_14 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 652, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_v_cfid = fdopen(__pyx_t_14, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":654 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(654,0,__PYX_ERR(0, 654, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":655 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(655,0,__PYX_ERR(0, 655, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 655, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_15 = NULL; - } else { - __pyx_t_15 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":656 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(656,0,__PYX_ERR(0, 656, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 656, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_16 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_16 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":657 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(657,0,__PYX_ERR(0, 657, __pyx_L7_error)) - __pyx_t_17 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_17 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 657, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":654 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(654,0,__PYX_ERR(0, 654, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_15, __pyx_t_16, __pyx_t_17, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 654, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":662 - * zran.ZRAN_AUTO_BUILD) - * - * for sp in seekpoints: # <<<<<<<<<<<<<< - * - * zs = zran.zran_seek(&index, sp, SEEK_SET, NULL) - */ - __Pyx_TraceLine(662,0,__PYX_ERR(0, 662, __pyx_L7_error)) - __pyx_t_7 = __pyx_v_seekpoints; __Pyx_INCREF(__pyx_t_7); __pyx_t_18 = 0; - for (;;) { - if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_7)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_8 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_18); __Pyx_INCREF(__pyx_t_8); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 662, __pyx_L7_error) - #else - __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 662, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_8); - #endif - __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_8); - __pyx_t_8 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":664 - * for sp in seekpoints: - * - * zs = zran.zran_seek(&index, sp, SEEK_SET, NULL) # <<<<<<<<<<<<<< - * - * if sp >= filesize: expected = zran.ZRAN_SEEK_EOF - */ - __Pyx_TraceLine(664,0,__PYX_ERR(0, 664, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyInt_As_int64_t(__pyx_v_sp); if (unlikely((__pyx_t_19 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 664, __pyx_L7_error) - __pyx_v_zs = zran_seek((&__pyx_v_index), __pyx_t_19, SEEK_SET, NULL); - - /* "indexed_gzip/tests/ctest_zran.pyx":666 - * zs = zran.zran_seek(&index, sp, SEEK_SET, NULL) - * - * if sp >= filesize: expected = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< - * else: expected = zran.ZRAN_SEEK_OK - * - */ - __Pyx_TraceLine(666,0,__PYX_ERR(0, 666, __pyx_L7_error)) - __pyx_t_8 = PyObject_RichCompare(__pyx_v_sp, __pyx_v_filesize, Py_GE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 666, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (__pyx_t_6) { - __pyx_t_8 = __Pyx_PyInt_From_int(ZRAN_SEEK_EOF); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 666, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_8); - __pyx_t_8 = 0; - goto __pyx_L15; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":667 - * - * if sp >= filesize: expected = zran.ZRAN_SEEK_EOF - * else: expected = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(667,0,__PYX_ERR(0, 667, __pyx_L7_error)) - /*else*/ { - __pyx_t_8 = __Pyx_PyInt_From_int(ZRAN_SEEK_OK); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 667, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_XDECREF_SET(__pyx_v_expected, __pyx_t_8); - __pyx_t_8 = 0; - } - __pyx_L15:; - - /* "indexed_gzip/tests/ctest_zran.pyx":669 - * else: expected = zran.ZRAN_SEEK_OK - * - * try: # <<<<<<<<<<<<<< - * assert zs == expected - * - */ - __Pyx_TraceLine(669,0,__PYX_ERR(0, 669, __pyx_L7_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":670 - * - * try: - * assert zs == expected # <<<<<<<<<<<<<< - * - * except: - */ - __Pyx_TraceLine(670,0,__PYX_ERR(0, 670, __pyx_L16_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_zs); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 670, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = PyObject_RichCompare(__pyx_t_8, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 670, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 670, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 670, __pyx_L16_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":669 - * else: expected = zran.ZRAN_SEEK_OK - * - * try: # <<<<<<<<<<<<<< - * assert zs == expected - * - */ - } - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - goto __pyx_L23_try_end; - __pyx_L16_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":672 - * assert zs == expected - * - * except: # <<<<<<<<<<<<<< - * print("{} != {} [sp={}, size={}]".format(zs, expected, sp, filesize)) - * raise - */ - __Pyx_TraceLine(672,0,__PYX_ERR(0, 672, __pyx_L18_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_8, &__pyx_t_4) < 0) __PYX_ERR(0, 672, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GOTREF(__pyx_t_4); - - /* "indexed_gzip/tests/ctest_zran.pyx":673 - * - * except: - * print("{} != {} [sp={}, size={}]".format(zs, expected, sp, filesize)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(673,0,__PYX_ERR(0, 673, __pyx_L18_except_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_sp_size, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_zs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 673, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_23 = NULL; - __pyx_t_14 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_23)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_23); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_14 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[5] = {__pyx_t_23, __pyx_t_1, __pyx_v_expected, __pyx_v_sp, __pyx_v_filesize}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_14, 4+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L18_except_error) - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[5] = {__pyx_t_23, __pyx_t_1, __pyx_v_expected, __pyx_v_sp, __pyx_v_filesize}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_14, 4+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L18_except_error) - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else - #endif - { - __pyx_t_24 = PyTuple_New(4+__pyx_t_14); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 673, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_24); - if (__pyx_t_23) { - __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; - } - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_14, __pyx_t_1); - __Pyx_INCREF(__pyx_v_expected); - __Pyx_GIVEREF(__pyx_v_expected); - PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_14, __pyx_v_expected); - __Pyx_INCREF(__pyx_v_sp); - __Pyx_GIVEREF(__pyx_v_sp); - PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_14, __pyx_v_sp); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_14, __pyx_v_filesize); - __pyx_t_1 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_24, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 673, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 673, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":674 - * except: - * print("{} != {} [sp={}, size={}]".format(zs, expected, sp, filesize)) - * raise # <<<<<<<<<<<<<< - * - * zt = zran.zran_tell(&index) - */ - __Pyx_TraceLine(674,0,__PYX_ERR(0, 674, __pyx_L18_except_error)) - __Pyx_GIVEREF(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_8, __pyx_t_4); - __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 674, __pyx_L18_except_error) - } - __pyx_L18_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":669 - * else: expected = zran.ZRAN_SEEK_OK - * - * try: # <<<<<<<<<<<<<< - * assert zs == expected - * - */ - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - goto __pyx_L7_error; - __pyx_L23_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":676 - * raise - * - * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< - * - * if sp >= filesize: expected = filesize - */ - __Pyx_TraceLine(676,0,__PYX_ERR(0, 676, __pyx_L7_error)) - __pyx_v_zt = zran_tell((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":678 - * zt = zran.zran_tell(&index) - * - * if sp >= filesize: expected = filesize # <<<<<<<<<<<<<< - * else: expected = sp - * - */ - __Pyx_TraceLine(678,0,__PYX_ERR(0, 678, __pyx_L7_error)) - __pyx_t_4 = PyObject_RichCompare(__pyx_v_sp, __pyx_v_filesize, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 678, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 678, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_DECREF_SET(__pyx_v_expected, __pyx_v_filesize); - goto __pyx_L26; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":679 - * - * if sp >= filesize: expected = filesize - * else: expected = sp # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(679,0,__PYX_ERR(0, 679, __pyx_L7_error)) - /*else*/ { - __Pyx_INCREF(__pyx_v_sp); - __Pyx_DECREF_SET(__pyx_v_expected, __pyx_v_sp); - } - __pyx_L26:; - - /* "indexed_gzip/tests/ctest_zran.pyx":681 - * else: expected = sp - * - * try: # <<<<<<<<<<<<<< - * assert zt == expected - * - */ - __Pyx_TraceLine(681,0,__PYX_ERR(0, 681, __pyx_L7_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_20); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":682 - * - * try: - * assert zt == expected # <<<<<<<<<<<<<< - * - * except: - */ - __Pyx_TraceLine(682,0,__PYX_ERR(0, 682, __pyx_L27_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_4 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 682, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = PyObject_RichCompare(__pyx_t_4, __pyx_v_expected, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 682, __pyx_L27_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 682, __pyx_L27_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 682, __pyx_L27_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":681 - * else: expected = sp - * - * try: # <<<<<<<<<<<<<< - * assert zt == expected - * - */ - } - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L34_try_end; - __pyx_L27_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":684 - * assert zt == expected - * - * except: # <<<<<<<<<<<<<< - * print("{} != {}".format(zt, expected)) - * raise - */ - __Pyx_TraceLine(684,0,__PYX_ERR(0, 684, __pyx_L29_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_4, &__pyx_t_9) < 0) __PYX_ERR(0, 684, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_9); - - /* "indexed_gzip/tests/ctest_zran.pyx":685 - * - * except: - * print("{} != {}".format(zt, expected)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(685,0,__PYX_ERR(0, 685, __pyx_L29_except_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__30, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 685, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_24 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 685, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_24); - __pyx_t_1 = NULL; - __pyx_t_14 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_14 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_24, __pyx_v_expected}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L29_except_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_24, __pyx_v_expected}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L29_except_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } else - #endif - { - __pyx_t_23 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 685, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_23); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_GIVEREF(__pyx_t_24); - PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_14, __pyx_t_24); - __Pyx_INCREF(__pyx_v_expected); - __Pyx_GIVEREF(__pyx_v_expected); - PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_14, __pyx_v_expected); - __pyx_t_24 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_23, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 685, __pyx_L29_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":686 - * except: - * print("{} != {}".format(zt, expected)) - * raise # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(686,0,__PYX_ERR(0, 686, __pyx_L29_except_error)) - __Pyx_GIVEREF(__pyx_t_8); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestoreWithState(__pyx_t_8, __pyx_t_4, __pyx_t_9); - __pyx_t_8 = 0; __pyx_t_4 = 0; __pyx_t_9 = 0; - __PYX_ERR(0, 686, __pyx_L29_except_error) - } - __pyx_L29_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":681 - * else: expected = sp - * - * try: # <<<<<<<<<<<<<< - * assert zt == expected - * - */ - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_21, __pyx_t_20); - goto __pyx_L7_error; - __pyx_L34_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":662 - * zran.ZRAN_AUTO_BUILD) - * - * for sp in seekpoints: # <<<<<<<<<<<<<< - * - * zs = zran.zran_seek(&index, sp, SEEK_SET, NULL) - */ - __Pyx_TraceLine(662,0,__PYX_ERR(0, 662, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":688 - * raise - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(688,0,__PYX_ERR(0, 688, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":651 - * filesize + 10] - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_9, &__pyx_t_4) < 0) __PYX_ERR(0, 651, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = PyTuple_Pack(3, __pyx_t_7, __pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 651, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_8, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 651, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 651, __pyx_L9_except_error) - __pyx_t_25 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_25) { - __Pyx_GIVEREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_9, __pyx_t_4); - __pyx_t_7 = 0; __pyx_t_9 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 651, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 651, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L40; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L1_error; - __pyx_L40:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":637 - * - * - * def test_seek_beyond_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_beyond_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF(__pyx_v_seekpoints); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_sp); - __Pyx_XDECREF(__pyx_v_expected); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":691 - * - * - * def test_sequential_seek_to_end(testfile, no_fds, nelems, niters): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end = {"test_sequential_seek_to_end", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_niters = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_sequential_seek_to_end (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,0}; - PyObject* values[4] = {0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_sequential_seek_to_end", 1, 4, 4, 1); __PYX_ERR(0, 691, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_sequential_seek_to_end", 1, 4, 4, 2); __PYX_ERR(0, 691, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_sequential_seek_to_end", 1, 4, 4, 3); __PYX_ERR(0, 691, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_sequential_seek_to_end") < 0)) __PYX_ERR(0, 691, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - __pyx_v_niters = values[3]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_sequential_seek_to_end", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 691, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_sequential_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_36test_sequential_seek_to_end(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_36test_sequential_seek_to_end(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_seek_points = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_sp = NULL; - int __pyx_v_expseek; - PyObject *__pyx_v_exptell = NULL; - int __pyx_v_seek; - uint64_t __pyx_v_tell; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - long __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - void *__pyx_t_13; - PyObject *__pyx_t_14; - uint32_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - PyObject *(*__pyx_t_17)(PyObject *); - int64_t __pyx_t_18; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - int __pyx_t_25; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__31) - __Pyx_RefNannySetupContext("test_sequential_seek_to_end", 0); - __Pyx_TraceCall("test_sequential_seek_to_end", __pyx_f[0], 691, 0, __PYX_ERR(0, 691, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":695 - * cdef zran.zran_index_t index - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * - * seek_points = np.random.randint(0, filesize, niters, dtype=np.uint64) - */ - __Pyx_TraceLine(695,0,__PYX_ERR(0, 695, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":697 - * filesize = nelems * 8 - * - * seek_points = np.random.randint(0, filesize, niters, dtype=np.uint64) # <<<<<<<<<<<<<< - * seek_points = np.sort(seek_points) - * indexSpacing = max(524288, filesize // 2000) - */ - __Pyx_TraceLine(697,0,__PYX_ERR(0, 697, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_filesize); - __Pyx_INCREF(__pyx_v_niters); - __Pyx_GIVEREF(__pyx_v_niters); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_niters); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 697, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_seek_points = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":698 - * - * seek_points = np.random.randint(0, filesize, niters, dtype=np.uint64) - * seek_points = np.sort(seek_points) # <<<<<<<<<<<<<< - * indexSpacing = max(524288, filesize // 2000) - * - */ - __Pyx_TraceLine(698,0,__PYX_ERR(0, 698, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sort); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_seek_points) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_seek_points); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_seek_points, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":699 - * seek_points = np.random.randint(0, filesize, niters, dtype=np.uint64) - * seek_points = np.sort(seek_points) - * indexSpacing = max(524288, filesize // 2000) # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(699,0,__PYX_ERR(0, 699, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_2000, 0x7D0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 699, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = 0x80000; - __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 699, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_7) { - __Pyx_INCREF(__pyx_t_5); - __pyx_t_2 = __pyx_t_5; - } else { - __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_2; - __Pyx_INCREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_indexSpacing = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":701 - * indexSpacing = max(524288, filesize // 2000) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(701,0,__PYX_ERR(0, 701, __pyx_L1_error)) - /*with:*/ { - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":702 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(702,0,__PYX_ERR(0, 702, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 702, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 702, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 702, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_12, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":704 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(704,0,__PYX_ERR(0, 704, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":705 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(705,0,__PYX_ERR(0, 705, __pyx_L7_error)) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 705, __pyx_L7_error) - if (__pyx_t_7) { - __pyx_t_13 = NULL; - } else { - __pyx_t_13 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":706 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(706,0,__PYX_ERR(0, 706, __pyx_L7_error)) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 706, __pyx_L7_error) - if (__pyx_t_7) { - __pyx_t_14 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_14 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":707 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(707,0,__PYX_ERR(0, 707, __pyx_L7_error)) - __pyx_t_15 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_15 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 707, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":704 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(704,0,__PYX_ERR(0, 704, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_13, __pyx_t_14, __pyx_t_15, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 704, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":712 - * zran.ZRAN_AUTO_BUILD) - * - * for sp in seek_points: # <<<<<<<<<<<<<< - * - * if sp >= filesize: - */ - __Pyx_TraceLine(712,0,__PYX_ERR(0, 712, __pyx_L7_error)) - if (likely(PyList_CheckExact(__pyx_v_seek_points)) || PyTuple_CheckExact(__pyx_v_seek_points)) { - __pyx_t_1 = __pyx_v_seek_points; __Pyx_INCREF(__pyx_t_1); __pyx_t_16 = 0; - __pyx_t_17 = NULL; - } else { - __pyx_t_16 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_seek_points); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_17 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 712, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_17)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 712, __pyx_L7_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 712, __pyx_L7_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_17(__pyx_t_1); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 712, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":714 - * for sp in seek_points: - * - * if sp >= filesize: # <<<<<<<<<<<<<< - * expseek = zran.ZRAN_SEEK_EOF - * exptell = filesize - */ - __Pyx_TraceLine(714,0,__PYX_ERR(0, 714, __pyx_L7_error)) - __pyx_t_2 = PyObject_RichCompare(__pyx_v_sp, __pyx_v_filesize, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 714, __pyx_L7_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 714, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_7) { - - /* "indexed_gzip/tests/ctest_zran.pyx":715 - * - * if sp >= filesize: - * expseek = zran.ZRAN_SEEK_EOF # <<<<<<<<<<<<<< - * exptell = filesize - * else: - */ - __Pyx_TraceLine(715,0,__PYX_ERR(0, 715, __pyx_L7_error)) - __pyx_v_expseek = ZRAN_SEEK_EOF; - - /* "indexed_gzip/tests/ctest_zran.pyx":716 - * if sp >= filesize: - * expseek = zran.ZRAN_SEEK_EOF - * exptell = filesize # <<<<<<<<<<<<<< - * else: - * expseek = zran.ZRAN_SEEK_OK - */ - __Pyx_TraceLine(716,0,__PYX_ERR(0, 716, __pyx_L7_error)) - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_XDECREF_SET(__pyx_v_exptell, __pyx_v_filesize); - - /* "indexed_gzip/tests/ctest_zran.pyx":714 - * for sp in seek_points: - * - * if sp >= filesize: # <<<<<<<<<<<<<< - * expseek = zran.ZRAN_SEEK_EOF - * exptell = filesize - */ - goto __pyx_L15; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":718 - * exptell = filesize - * else: - * expseek = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * exptell = sp - * - */ - __Pyx_TraceLine(718,0,__PYX_ERR(0, 718, __pyx_L7_error)) - /*else*/ { - __pyx_v_expseek = ZRAN_SEEK_OK; - - /* "indexed_gzip/tests/ctest_zran.pyx":719 - * else: - * expseek = zran.ZRAN_SEEK_OK - * exptell = sp # <<<<<<<<<<<<<< - * - * seek = zran.zran_seek(&index, sp, SEEK_SET, NULL) - */ - __Pyx_TraceLine(719,0,__PYX_ERR(0, 719, __pyx_L7_error)) - __Pyx_INCREF(__pyx_v_sp); - __Pyx_XDECREF_SET(__pyx_v_exptell, __pyx_v_sp); - } - __pyx_L15:; - - /* "indexed_gzip/tests/ctest_zran.pyx":721 - * exptell = sp - * - * seek = zran.zran_seek(&index, sp, SEEK_SET, NULL) # <<<<<<<<<<<<<< - * tell = zran.zran_tell(&index) - * - */ - __Pyx_TraceLine(721,0,__PYX_ERR(0, 721, __pyx_L7_error)) - __pyx_t_18 = __Pyx_PyInt_As_int64_t(__pyx_v_sp); if (unlikely((__pyx_t_18 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 721, __pyx_L7_error) - __pyx_v_seek = zran_seek((&__pyx_v_index), __pyx_t_18, SEEK_SET, NULL); - - /* "indexed_gzip/tests/ctest_zran.pyx":722 - * - * seek = zran.zran_seek(&index, sp, SEEK_SET, NULL) - * tell = zran.zran_tell(&index) # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(722,0,__PYX_ERR(0, 722, __pyx_L7_error)) - __pyx_v_tell = zran_tell((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":724 - * tell = zran.zran_tell(&index) - * - * try: # <<<<<<<<<<<<<< - * assert seek == expseek - * assert tell == exptell - */ - __Pyx_TraceLine(724,0,__PYX_ERR(0, 724, __pyx_L7_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":725 - * - * try: - * assert seek == expseek # <<<<<<<<<<<<<< - * assert tell == exptell - * except: - */ - __Pyx_TraceLine(725,0,__PYX_ERR(0, 725, __pyx_L16_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_seek == __pyx_v_expseek) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 725, __pyx_L16_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":726 - * try: - * assert seek == expseek - * assert tell == exptell # <<<<<<<<<<<<<< - * except: - * print("expseek: {}".format(expseek)) - */ - __Pyx_TraceLine(726,0,__PYX_ERR(0, 726, __pyx_L16_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyInt_From_uint64_t(__pyx_v_tell); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_v_exptell, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 726, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 726, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_7)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 726, __pyx_L16_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":724 - * tell = zran.zran_tell(&index) - * - * try: # <<<<<<<<<<<<<< - * assert seek == expseek - * assert tell == exptell - */ - } - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - goto __pyx_L23_try_end; - __pyx_L16_error:; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":727 - * assert seek == expseek - * assert tell == exptell - * except: # <<<<<<<<<<<<<< - * print("expseek: {}".format(expseek)) - * print("exptell: {}".format(exptell)) - */ - __Pyx_TraceLine(727,0,__PYX_ERR(0, 727, __pyx_L18_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_sequential_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_3) < 0) __PYX_ERR(0, 727, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_3); - - /* "indexed_gzip/tests/ctest_zran.pyx":728 - * assert tell == exptell - * except: - * print("expseek: {}".format(expseek)) # <<<<<<<<<<<<<< - * print("exptell: {}".format(exptell)) - * print("seek: {}".format(seek)) - */ - __Pyx_TraceLine(728,0,__PYX_ERR(0, 728, __pyx_L18_except_error)) - __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_expseek, __pyx_n_s_format); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 728, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_expseek); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 728, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_24 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { - __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_22); - if (likely(__pyx_t_24)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); - __Pyx_INCREF(__pyx_t_24); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_22, function); - } - } - __pyx_t_4 = (__pyx_t_24) ? __Pyx_PyObject_Call2Args(__pyx_t_22, __pyx_t_24, __pyx_t_23) : __Pyx_PyObject_CallOneArg(__pyx_t_22, __pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 728, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":729 - * except: - * print("expseek: {}".format(expseek)) - * print("exptell: {}".format(exptell)) # <<<<<<<<<<<<<< - * print("seek: {}".format(seek)) - * print("tell: {}".format(tell)) - */ - __Pyx_TraceLine(729,0,__PYX_ERR(0, 729, __pyx_L18_except_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_exptell, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_23 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_23)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_23); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_22 = (__pyx_t_23) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_23, __pyx_v_exptell) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_exptell); - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 729, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":730 - * print("expseek: {}".format(expseek)) - * print("exptell: {}".format(exptell)) - * print("seek: {}".format(seek)) # <<<<<<<<<<<<<< - * print("tell: {}".format(tell)) - * raise - */ - __Pyx_TraceLine(730,0,__PYX_ERR(0, 730, __pyx_L18_except_error)) - __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_seek_2, __pyx_n_s_format); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 730, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_seek); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 730, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_24 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { - __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_22); - if (likely(__pyx_t_24)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); - __Pyx_INCREF(__pyx_t_24); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_22, function); - } - } - __pyx_t_4 = (__pyx_t_24) ? __Pyx_PyObject_Call2Args(__pyx_t_22, __pyx_t_24, __pyx_t_23) : __Pyx_PyObject_CallOneArg(__pyx_t_22, __pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 730, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 730, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":731 - * print("exptell: {}".format(exptell)) - * print("seek: {}".format(seek)) - * print("tell: {}".format(tell)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(731,0,__PYX_ERR(0, 731, __pyx_L18_except_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_tell_2, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 731, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_23 = __Pyx_PyInt_From_uint64_t(__pyx_v_tell); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 731, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_t_24 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_24)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_24); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_22 = (__pyx_t_24) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_24, __pyx_t_23) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 731, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 731, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":732 - * print("seek: {}".format(seek)) - * print("tell: {}".format(tell)) - * raise # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(732,0,__PYX_ERR(0, 732, __pyx_L18_except_error)) - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_3); - __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 732, __pyx_L18_except_error) - } - __pyx_L18_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":724 - * tell = zran.zran_tell(&index) - * - * try: # <<<<<<<<<<<<<< - * assert seek == expseek - * assert tell == exptell - */ - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21); - goto __pyx_L7_error; - __pyx_L23_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":712 - * zran.ZRAN_AUTO_BUILD) - * - * for sp in seek_points: # <<<<<<<<<<<<<< - * - * if sp >= filesize: - */ - __Pyx_TraceLine(712,0,__PYX_ERR(0, 712, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":735 - * - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(735,0,__PYX_ERR(0, 735, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":701 - * indexSpacing = max(524288, filesize // 2000) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_sequential_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_3, &__pyx_t_2) < 0) __PYX_ERR(0, 701, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 701, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_7 < 0) __PYX_ERR(0, 701, __pyx_L9_except_error) - __pyx_t_25 = ((!(__pyx_t_7 != 0)) != 0); - if (__pyx_t_25) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_3, __pyx_t_2); - __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 701, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_8) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 701, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L29; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L1_error; - __pyx_L29:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":691 - * - * - * def test_sequential_seek_to_end(testfile, no_fds, nelems, niters): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_22); - __Pyx_XDECREF(__pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_sequential_seek_to_end", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_seek_points); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_sp); - __Pyx_XDECREF(__pyx_v_exptell); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":738 - * - * - * def test_random_seek(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_39test_random_seek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_39test_random_seek = {"test_random_seek", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_39test_random_seek, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_39test_random_seek(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_niters = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_random_seek (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,&__pyx_n_s_seed,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, 1); __PYX_ERR(0, 738, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, 2); __PYX_ERR(0, 738, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, 3); __PYX_ERR(0, 738, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, 4); __PYX_ERR(0, 738, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_random_seek") < 0)) __PYX_ERR(0, 738, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - __pyx_v_niters = values[3]; - __pyx_v_seed = values[4]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_random_seek", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 738, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_38test_random_seek(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_38test_random_seek(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_seekpoints = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_sp = NULL; - uint64_t __pyx_v_zt; - CYTHON_UNUSED PyObject *__pyx_v_i = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - PyObject *(*__pyx_t_5)(PyObject *); - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - long __pyx_t_10; - int __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - void *__pyx_t_16; - PyObject *__pyx_t_17; - uint32_t __pyx_t_18; - int64_t __pyx_t_19; - PyObject *__pyx_t_20 = NULL; - int __pyx_t_21; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__32) - __Pyx_RefNannySetupContext("test_random_seek", 0); - __Pyx_TraceCall("test_random_seek", __pyx_f[0], 738, 0, __PYX_ERR(0, 738, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":742 - * cdef zran.zran_index_t index - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * - * seekpoints = [random.randint(0, filesize) for i in range(niters)] - */ - __Pyx_TraceLine(742,0,__PYX_ERR(0, 742, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":744 - * filesize = nelems * 8 - * - * seekpoints = [random.randint(0, filesize) for i in range(niters)] # <<<<<<<<<<<<<< - * indexSpacing = max(524288, filesize // 1000) - * - */ - __Pyx_TraceLine(744,0,__PYX_ERR(0, 744, __pyx_L1_error)) - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_niters); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { - __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 744, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 744, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 744, __pyx_L1_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_5(__pyx_t_3); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 744, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_random); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_randint); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_8 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_8 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_7)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_int_0, __pyx_v_filesize}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { - PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_int_0, __pyx_v_filesize}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GOTREF(__pyx_t_2); - } else - #endif - { - __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (__pyx_t_6) { - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_int_0); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_filesize); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 744, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_seekpoints = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":745 - * - * seekpoints = [random.randint(0, filesize) for i in range(niters)] - * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(745,0,__PYX_ERR(0, 745, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 745, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = 0x80000; - __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 745, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 745, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 745, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_11) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_7 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 745, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_3 = __pyx_t_7; - __pyx_t_7 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":747 - * indexSpacing = max(524288, filesize // 1000) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(747,0,__PYX_ERR(0, 747, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 747, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 747, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_7; - __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":748 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(748,0,__PYX_ERR(0, 748, __pyx_L9_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 748, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_7 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 748, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 748, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_v_cfid = fdopen(__pyx_t_8, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":750 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L9_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":751 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(751,0,__PYX_ERR(0, 751, __pyx_L9_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 751, __pyx_L9_error) - if (__pyx_t_11) { - __pyx_t_16 = NULL; - } else { - __pyx_t_16 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":752 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(752,0,__PYX_ERR(0, 752, __pyx_L9_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 752, __pyx_L9_error) - if (__pyx_t_11) { - __pyx_t_17 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_17 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":753 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(753,0,__PYX_ERR(0, 753, __pyx_L9_error)) - __pyx_t_18 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_18 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 753, __pyx_L9_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":750 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(750,0,__PYX_ERR(0, 750, __pyx_L9_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_16, __pyx_t_17, __pyx_t_18, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 750, __pyx_L9_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":758 - * zran.ZRAN_AUTO_BUILD) - * - * for sp in seekpoints: # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, sp, SEEK_SET, NULL) == 0 - */ - __Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L9_error)) - __pyx_t_7 = __pyx_v_seekpoints; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0; - for (;;) { - if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 758, __pyx_L9_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 758, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_XDECREF_SET(__pyx_v_sp, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":760 - * for sp in seekpoints: - * - * assert zran.zran_seek(&index, sp, SEEK_SET, NULL) == 0 # <<<<<<<<<<<<<< - * - * zt = zran.zran_tell(&index) - */ - __Pyx_TraceLine(760,0,__PYX_ERR(0, 760, __pyx_L9_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_19 = __Pyx_PyInt_As_int64_t(__pyx_v_sp); if (unlikely((__pyx_t_19 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 760, __pyx_L9_error) - if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_19, SEEK_SET, NULL) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 760, __pyx_L9_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":762 - * assert zran.zran_seek(&index, sp, SEEK_SET, NULL) == 0 - * - * zt = zran.zran_tell(&index) # <<<<<<<<<<<<<< - * - * assert zt == sp - */ - __Pyx_TraceLine(762,0,__PYX_ERR(0, 762, __pyx_L9_error)) - __pyx_v_zt = zran_tell((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":764 - * zt = zran.zran_tell(&index) - * - * assert zt == sp # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(764,0,__PYX_ERR(0, 764, __pyx_L9_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_3 = __Pyx_PyInt_From_uint64_t(__pyx_v_zt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 764, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_v_sp, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 764, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 764, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_11)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 764, __pyx_L9_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":758 - * zran.ZRAN_AUTO_BUILD) - * - * for sp in seekpoints: # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, sp, SEEK_SET, NULL) == 0 - */ - __Pyx_TraceLine(758,0,__PYX_ERR(0, 758, __pyx_L9_error)) - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":766 - * assert zt == sp - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(766,0,__PYX_ERR(0, 766, __pyx_L9_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":747 - * indexSpacing = max(524288, filesize // 1000) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L14_try_end; - __pyx_L9_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 747, __pyx_L11_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_7, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 747, __pyx_L11_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 747, __pyx_L11_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 747, __pyx_L11_except_error) - __pyx_t_21 = ((!(__pyx_t_11 != 0)) != 0); - if (__pyx_t_21) { - __Pyx_GIVEREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_7, __pyx_t_1, __pyx_t_3); - __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 747, __pyx_L11_except_error) - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L10_exception_handled; - } - __pyx_L11_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - goto __pyx_L1_error; - __pyx_L10_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - __pyx_L14_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_12) { - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 747, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - goto __pyx_L8; - } - __pyx_L8:; - } - goto __pyx_L20; - __pyx_L5_error:; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L1_error; - __pyx_L20:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":738 - * - * - * def test_random_seek(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_seekpoints); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_sp); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":769 - * - * - * def test_read_all(testfile, no_fds, nelems, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_41test_read_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_41test_read_all = {"test_read_all", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_41test_read_all, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_41test_read_all(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_use_mmap = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_read_all (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_use_mmap,0}; - PyObject* values[4] = {0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 1); __PYX_ERR(0, 769, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 2); __PYX_ERR(0, 769, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, 3); __PYX_ERR(0, 769, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_all") < 0)) __PYX_ERR(0, 769, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - __pyx_v_use_mmap = values[3]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_read_all", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 769, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_40test_read_all(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_use_mmap); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_40test_read_all(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_use_mmap) { - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - zran_index_t __pyx_v_index; - void *__pyx_v_buffer; - npy_intp __pyx_v_nelemsp; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_nbytes = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - void *__pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - PyObject *__pyx_t_13; - uint32_t __pyx_t_14; - uint64_t __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - npy_intp __pyx_t_18; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__33) - __Pyx_RefNannySetupContext("test_read_all", 0); - __Pyx_TraceCall("test_read_all", __pyx_f[0], 769, 0, __PYX_ERR(0, 769, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":771 - * def test_read_all(testfile, no_fds, nelems, use_mmap): - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * indexSpacing = max(524288, filesize // 1000) - * - */ - __Pyx_TraceLine(771,0,__PYX_ERR(0, 771, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 771, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":772 - * - * filesize = nelems * 8 - * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(772,0,__PYX_ERR(0, 772, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x80000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 772, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":778 - * cdef np.npy_intp nelemsp - * - * buf = ReadBuffer(filesize, use_mmap=use_mmap) # <<<<<<<<<<<<<< - * buffer = buf.buffer - * - */ - __Pyx_TraceLine(778,0,__PYX_ERR(0, 778, __pyx_L1_error)) - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_filesize); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_use_mmap, __pyx_v_use_mmap) < 0) __PYX_ERR(0, 778, __pyx_L1_error) - __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 778, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":779 - * - * buf = ReadBuffer(filesize, use_mmap=use_mmap) - * buffer = buf.buffer # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(779,0,__PYX_ERR(0, 779, __pyx_L1_error)) - __pyx_t_7 = __pyx_v_buf->buffer; - __pyx_v_buffer = __pyx_t_7; - - /* "indexed_gzip/tests/ctest_zran.pyx":781 - * buffer = buf.buffer - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(781,0,__PYX_ERR(0, 781, __pyx_L1_error)) - /*with:*/ { - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_n_s_rb); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 781, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_5; - __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":782 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(782,0,__PYX_ERR(0, 782, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 782, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 782, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_12, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":784 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(784,0,__PYX_ERR(0, 784, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":785 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(785,0,__PYX_ERR(0, 785, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 785, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_7 = NULL; - } else { - __pyx_t_7 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":786 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(786,0,__PYX_ERR(0, 786, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 786, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_13 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":787 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(787,0,__PYX_ERR(0, 787, __pyx_L7_error)) - __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 787, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":784 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(784,0,__PYX_ERR(0, 784, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_7, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 784, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":792 - * zran.ZRAN_AUTO_BUILD) - * - * nbytes = zran.zran_read(&index, buffer, filesize) # <<<<<<<<<<<<<< - * - * assert nbytes == filesize - */ - __Pyx_TraceLine(792,0,__PYX_ERR(0, 792, __pyx_L7_error)) - __pyx_t_15 = __Pyx_PyInt_As_uint64_t(__pyx_v_filesize); if (unlikely((__pyx_t_15 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 792, __pyx_L7_error) - __pyx_t_1 = __Pyx_PyInt_From_int64_t(zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_t_15)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 792, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_nbytes = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":794 - * nbytes = zran.zran_read(&index, buffer, filesize) - * - * assert nbytes == filesize # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == nbytes - * - */ - __Pyx_TraceLine(794,0,__PYX_ERR(0, 794, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_v_filesize, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 794, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 794, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 794, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":795 - * - * assert nbytes == filesize - * assert zran.zran_tell(&index) == nbytes # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(795,0,__PYX_ERR(0, 795, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 795, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_nbytes, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 795, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 795, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 795, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":797 - * assert zran.zran_tell(&index) == nbytes - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * nelemsp = nbytes / 8. - */ - __Pyx_TraceLine(797,0,__PYX_ERR(0, 797, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":781 - * buffer = buf.buffer - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 781, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 781, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 781, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 781, __pyx_L9_except_error) - __pyx_t_17 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_5); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 781, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_8) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L16; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L1_error; - __pyx_L16:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":799 - * zran.zran_free(&index) - * - * nelemsp = nbytes / 8. # <<<<<<<<<<<<<< - * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) - * - */ - __Pyx_TraceLine(799,0,__PYX_ERR(0, 799, __pyx_L1_error)) - if (unlikely(!__pyx_v_nbytes)) { __Pyx_RaiseUnboundLocalError("nbytes"); __PYX_ERR(0, 799, __pyx_L1_error) } - __pyx_t_5 = __Pyx_PyFloat_TrueDivideObjC(__pyx_v_nbytes, __pyx_float_8_, 8., 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 799, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = __Pyx_PyInt_As_Py_intptr_t(__pyx_t_5); if (unlikely((__pyx_t_18 == ((npy_intp)-1)) && PyErr_Occurred())) __PYX_ERR(0, 799, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_nelemsp = __pyx_t_18; - - /* "indexed_gzip/tests/ctest_zran.pyx":800 - * - * nelemsp = nbytes / 8. - * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) # <<<<<<<<<<<<<< - * - * assert check_data_valid(data, 0) - */ - __Pyx_TraceLine(800,0,__PYX_ERR(0, 800, __pyx_L1_error)) - __pyx_t_5 = PyArray_SimpleNewFromData(1, (&__pyx_v_nelemsp), NPY_UINT64, __pyx_v_buffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 800, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":802 - * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) - * - * assert check_data_valid(data, 0) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(802,0,__PYX_ERR(0, 802, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - __pyx_t_12 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_12 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_data, __pyx_int_0}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_5); - } else - #endif - { - __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_v_data); - __Pyx_GIVEREF(__pyx_v_data); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_v_data); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_int_0); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 802, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 802, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":769 - * - * - * def test_read_all(testfile, no_fds, nelems, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_nbytes); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":805 - * - * - * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block = {"test_seek_then_read_block", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_niters = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - PyObject *__pyx_v_use_mmap = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_seek_then_read_block (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,&__pyx_n_s_seed,&__pyx_n_s_use_mmap,0}; - PyObject* values[6] = {0,0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - CYTHON_FALLTHROUGH; - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 1); __PYX_ERR(0, 805, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 2); __PYX_ERR(0, 805, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 3); __PYX_ERR(0, 805, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 4); __PYX_ERR(0, 805, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 5: - if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, 5); __PYX_ERR(0, 805, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_seek_then_read_block") < 0)) __PYX_ERR(0, 805, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - values[5] = PyTuple_GET_ITEM(__pyx_args, 5); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - __pyx_v_niters = values[3]; - __pyx_v_seed = values[4]; - __pyx_v_use_mmap = values[5]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_seek_then_read_block", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 805, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_then_read_block", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_42test_seek_then_read_block(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed, __pyx_v_use_mmap); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_42test_seek_then_read_block(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_use_mmap) { - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; - PyObject *__pyx_v_seekelems = NULL; - zran_index_t __pyx_v_index; - void *__pyx_v_buffer; - npy_intp __pyx_v_nelemsp; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - int __pyx_v_ret; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_se = NULL; - PyObject *__pyx_v_readelems = NULL; - PyObject *__pyx_v_start = NULL; - PyObject *__pyx_v_nbytes = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_end = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - void *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - PyObject *__pyx_t_14; - uint32_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - PyObject *(*__pyx_t_17)(PyObject *); - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - Py_ssize_t __pyx_t_20; - int64_t __pyx_t_21; - uint64_t __pyx_t_22; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - npy_intp __pyx_t_28; - int __pyx_t_29; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__34) - __Pyx_RefNannySetupContext("test_seek_then_read_block", 0); - __Pyx_TraceCall("test_seek_then_read_block", __pyx_f[0], 805, 0, __PYX_ERR(0, 805, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":807 - * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * - * indexSpacing = max(524288, filesize // 1000) - */ - __Pyx_TraceLine(807,0,__PYX_ERR(0, 807, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 807, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":809 - * filesize = nelems * 8 - * - * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< - * buf = ReadBuffer(filesize, use_mmap=use_mmap) - * seekelems = np.random.randint(0, nelems - 1, niters, dtype=np.uint64) - */ - __Pyx_TraceLine(809,0,__PYX_ERR(0, 809, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x80000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 809, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 809, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 809, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":810 - * - * indexSpacing = max(524288, filesize // 1000) - * buf = ReadBuffer(filesize, use_mmap=use_mmap) # <<<<<<<<<<<<<< - * seekelems = np.random.randint(0, nelems - 1, niters, dtype=np.uint64) - * - */ - __Pyx_TraceLine(810,0,__PYX_ERR(0, 810, __pyx_L1_error)) - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_filesize); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_use_mmap, __pyx_v_use_mmap) < 0) __PYX_ERR(0, 810, __pyx_L1_error) - __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 810, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":811 - * indexSpacing = max(524288, filesize // 1000) - * buf = ReadBuffer(filesize, use_mmap=use_mmap) - * seekelems = np.random.randint(0, nelems - 1, niters, dtype=np.uint64) # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(811,0,__PYX_ERR(0, 811, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); - __Pyx_INCREF(__pyx_v_niters); - __Pyx_GIVEREF(__pyx_v_niters); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_niters); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 811, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_seekelems = __pyx_t_7; - __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":814 - * - * cdef zran.zran_index_t index - * cdef void *buffer = buf.buffer # <<<<<<<<<<<<<< - * cdef np.npy_intp nelemsp - * - */ - __Pyx_TraceLine(814,0,__PYX_ERR(0, 814, __pyx_L1_error)) - __pyx_t_8 = __pyx_v_buf->buffer; - __pyx_v_buffer = __pyx_t_8; - - /* "indexed_gzip/tests/ctest_zran.pyx":817 - * cdef np.npy_intp nelemsp - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(817,0,__PYX_ERR(0, 817, __pyx_L1_error)) - /*with:*/ { - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_s_rb); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 817, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 817, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_7; - __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":818 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * ret = zran.zran_init(&index, - */ - __Pyx_TraceLine(818,0,__PYX_ERR(0, 818, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 818, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 818, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_13 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 818, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_13, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":821 - * - * ret = zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(821,0,__PYX_ERR(0, 821, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 821, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_8 = NULL; - } else { - __pyx_t_8 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":822 - * ret = zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(822,0,__PYX_ERR(0, 822, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 822, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_14 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_14 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":823 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(823,0,__PYX_ERR(0, 823, __pyx_L7_error)) - __pyx_t_15 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_15 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 823, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":820 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * ret = zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(820,0,__PYX_ERR(0, 820, __pyx_L7_error)) - __pyx_v_ret = zran_init((&__pyx_v_index), __pyx_t_8, __pyx_t_14, __pyx_t_15, 0x8000, 0x20000, ZRAN_AUTO_BUILD); - - /* "indexed_gzip/tests/ctest_zran.pyx":827 - * 131072, - * zran.ZRAN_AUTO_BUILD) - * assert not ret, ret # <<<<<<<<<<<<<< - * - * for i, se in enumerate(seekelems): - */ - __Pyx_TraceLine(827,0,__PYX_ERR(0, 827, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((!(__pyx_v_ret != 0)) != 0))) { - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 827, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __pyx_t_1 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 827, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":829 - * assert not ret, ret - * - * for i, se in enumerate(seekelems): # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L7_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_t_3 = __pyx_int_0; - if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { - __pyx_t_1 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_1); __pyx_t_16 = 0; - __pyx_t_17 = NULL; - } else { - __pyx_t_16 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 829, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_17 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 829, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_17)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_7 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_7); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 829, __pyx_L7_error) - #else - __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 829, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - #endif - } else { - if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_7); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 829, __pyx_L7_error) - #else - __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 829, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - #endif - } - } else { - __pyx_t_7 = __pyx_t_17(__pyx_t_1); - if (unlikely(!__pyx_t_7)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 829, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_7); - } - __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_7); - __pyx_t_7 = 0; - __Pyx_INCREF(__pyx_t_3); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); - __pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 829, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); - __pyx_t_3 = __pyx_t_7; - __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":832 - * - * - * if se == nelems - 1: # <<<<<<<<<<<<<< - * readelems = 1 - * else: - */ - __Pyx_TraceLine(832,0,__PYX_ERR(0, 832, __pyx_L7_error)) - __pyx_t_7 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 832, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_se, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 832, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 832, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - - /* "indexed_gzip/tests/ctest_zran.pyx":833 - * - * if se == nelems - 1: - * readelems = 1 # <<<<<<<<<<<<<< - * else: - * readelems = np.random.randint(1, nelems - se) - */ - __Pyx_TraceLine(833,0,__PYX_ERR(0, 833, __pyx_L7_error)) - __Pyx_INCREF(__pyx_int_1); - __Pyx_XDECREF_SET(__pyx_v_readelems, __pyx_int_1); - - /* "indexed_gzip/tests/ctest_zran.pyx":832 - * - * - * if se == nelems - 1: # <<<<<<<<<<<<<< - * readelems = 1 - * else: - */ - goto __pyx_L15; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":835 - * readelems = 1 - * else: - * readelems = np.random.randint(1, nelems - se) # <<<<<<<<<<<<<< - * - * start = time.time() - */ - __Pyx_TraceLine(835,0,__PYX_ERR(0, 835, __pyx_L7_error)) - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 835, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_random); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_randint); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 835, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_v_nelems, __pyx_v_se); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_18 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_7)) { - PyObject *__pyx_temp[3] = {__pyx_t_18, __pyx_int_1, __pyx_t_4}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { - PyObject *__pyx_temp[3] = {__pyx_t_18, __pyx_int_1, __pyx_t_4}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else - #endif - { - __pyx_t_19 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 835, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_18); __pyx_t_18 = NULL; - } - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_13, __pyx_int_1); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_13, __pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_19, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF_SET(__pyx_v_readelems, __pyx_t_5); - __pyx_t_5 = 0; - } - __pyx_L15:; - - /* "indexed_gzip/tests/ctest_zran.pyx":837 - * readelems = np.random.randint(1, nelems - se) - * - * start = time.time() # <<<<<<<<<<<<<< - * - * print("{} / {}: reading {} elements from {} ... ".format( - */ - __Pyx_TraceLine(837,0,__PYX_ERR(0, 837, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_time); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 837, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_time); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 837, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - } - } - __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 837, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF_SET(__pyx_v_start, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":839 - * start = time.time() - * - * print("{} / {}: reading {} elements from {} ... ".format( # <<<<<<<<<<<<<< - * i, len(seekelems), readelems, se), end='') - * - */ - __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L7_error)) - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_reading_elements_from, __pyx_n_s_format); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - - /* "indexed_gzip/tests/ctest_zran.pyx":840 - * - * print("{} / {}: reading {} elements from {} ... ".format( - * i, len(seekelems), readelems, se), end='') # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK - */ - __Pyx_TraceLine(840,0,__PYX_ERR(0, 840, __pyx_L7_error)) - __pyx_t_20 = PyObject_Length(__pyx_v_seekelems); if (unlikely(__pyx_t_20 == ((Py_ssize_t)-1))) __PYX_ERR(0, 840, __pyx_L7_error) - __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_20); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 840, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_4 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_v_i, __pyx_t_7, __pyx_v_readelems, __pyx_v_se}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_13, 4+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_v_i, __pyx_t_7, __pyx_v_readelems, __pyx_v_se}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_13, 4+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } else - #endif - { - __pyx_t_18 = PyTuple_New(4+__pyx_t_13); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_18); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_v_i); - __Pyx_GIVEREF(__pyx_v_i); - PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_13, __pyx_v_i); - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_13, __pyx_t_7); - __Pyx_INCREF(__pyx_v_readelems); - __Pyx_GIVEREF(__pyx_v_readelems); - PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_13, __pyx_v_readelems); - __Pyx_INCREF(__pyx_v_se); - __Pyx_GIVEREF(__pyx_v_se); - PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_13, __pyx_v_se); - __pyx_t_7 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":839 - * start = time.time() - * - * print("{} / {}: reading {} elements from {} ... ".format( # <<<<<<<<<<<<<< - * i, len(seekelems), readelems, se), end='') - * - */ - __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L7_error)) - __pyx_t_19 = PyTuple_New(1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":840 - * - * print("{} / {}: reading {} elements from {} ... ".format( - * i, len(seekelems), readelems, se), end='') # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK - */ - __Pyx_TraceLine(840,0,__PYX_ERR(0, 840, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 840, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_end, __pyx_kp_s__35) < 0) __PYX_ERR(0, 840, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":839 - * start = time.time() - * - * print("{} / {}: reading {} elements from {} ... ".format( # <<<<<<<<<<<<<< - * i, len(seekelems), readelems, se), end='') - * - */ - __Pyx_TraceLine(839,0,__PYX_ERR(0, 839, __pyx_L7_error)) - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_19, __pyx_t_5); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 839, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":842 - * i, len(seekelems), readelems, se), end='') - * - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * - * nbytes = zran.zran_read(&index, buffer, readelems * 8) - */ - __Pyx_TraceLine(842,0,__PYX_ERR(0, 842, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_18 = PyNumber_Multiply(__pyx_v_se, __pyx_int_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_21 = __Pyx_PyInt_As_int64_t(__pyx_t_18); if (unlikely((__pyx_t_21 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 842, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_21, SEEK_SET, NULL) == ZRAN_SEEK_OK) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 842, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":844 - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == zran.ZRAN_SEEK_OK - * - * nbytes = zran.zran_read(&index, buffer, readelems * 8) # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(844,0,__PYX_ERR(0, 844, __pyx_L7_error)) - __pyx_t_18 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 844, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_22 = __Pyx_PyInt_As_uint64_t(__pyx_t_18); if (unlikely((__pyx_t_22 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 844, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyInt_From_int64_t(zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_t_22)); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 844, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_XDECREF_SET(__pyx_v_nbytes, __pyx_t_18); - __pyx_t_18 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":846 - * nbytes = zran.zran_read(&index, buffer, readelems * 8) - * - * try: # <<<<<<<<<<<<<< - * assert nbytes == readelems * 8 - * assert zran.zran_tell(&index) == (se + readelems) * 8 - */ - __Pyx_TraceLine(846,0,__PYX_ERR(0, 846, __pyx_L7_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":847 - * - * try: - * assert nbytes == readelems * 8 # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == (se + readelems) * 8 - * except: - */ - __Pyx_TraceLine(847,0,__PYX_ERR(0, 847, __pyx_L16_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_18 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 847, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_t_18, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 847, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 847, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 847, __pyx_L16_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":848 - * try: - * assert nbytes == readelems * 8 - * assert zran.zran_tell(&index) == (se + readelems) * 8 # <<<<<<<<<<<<<< - * except: - * print('seekelem: {}'.format(se)) - */ - __Pyx_TraceLine(848,0,__PYX_ERR(0, 848, __pyx_L16_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 848, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = PyNumber_Add(__pyx_v_se, __pyx_v_readelems); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 848, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_19 = PyNumber_Multiply(__pyx_t_18, __pyx_int_8); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 848, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = PyObject_RichCompare(__pyx_t_5, __pyx_t_19, Py_EQ); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 848, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 848, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 848, __pyx_L16_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":846 - * nbytes = zran.zran_read(&index, buffer, readelems * 8) - * - * try: # <<<<<<<<<<<<<< - * assert nbytes == readelems * 8 - * assert zran.zran_tell(&index) == (se + readelems) * 8 - */ - } - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; - goto __pyx_L23_try_end; - __pyx_L16_error:; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":849 - * assert nbytes == readelems * 8 - * assert zran.zran_tell(&index) == (se + readelems) * 8 - * except: # <<<<<<<<<<<<<< - * print('seekelem: {}'.format(se)) - * print('readelems: {}'.format(readelems)) - */ - __Pyx_TraceLine(849,0,__PYX_ERR(0, 849, __pyx_L18_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_then_read_block", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_5) < 0) __PYX_ERR(0, 849, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_GOTREF(__pyx_t_19); - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/tests/ctest_zran.pyx":850 - * assert zran.zran_tell(&index) == (se + readelems) * 8 - * except: - * print('seekelem: {}'.format(se)) # <<<<<<<<<<<<<< - * print('readelems: {}'.format(readelems)) - * print('nbytes: {}'.format(nbytes)) - */ - __Pyx_TraceLine(850,0,__PYX_ERR(0, 850, __pyx_L18_except_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_seekelem, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 850, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_26 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_26)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_26); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_7 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_26, __pyx_v_se) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_se); - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 850, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 850, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":851 - * except: - * print('seekelem: {}'.format(se)) - * print('readelems: {}'.format(readelems)) # <<<<<<<<<<<<<< - * print('nbytes: {}'.format(nbytes)) - * print(' should be: {}'.format(readelems * 8)) - */ - __Pyx_TraceLine(851,0,__PYX_ERR(0, 851, __pyx_L18_except_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_readelems, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 851, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_26 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_26)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_26); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_4 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_26, __pyx_v_readelems) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_readelems); - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 851, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 851, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":852 - * print('seekelem: {}'.format(se)) - * print('readelems: {}'.format(readelems)) - * print('nbytes: {}'.format(nbytes)) # <<<<<<<<<<<<<< - * print(' should be: {}'.format(readelems * 8)) - * print('ftell: {}'.format(zran.zran_tell(&index))) - */ - __Pyx_TraceLine(852,0,__PYX_ERR(0, 852, __pyx_L18_except_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_nbytes, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_26 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_26)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_26); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_7 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_26, __pyx_v_nbytes) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_nbytes); - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 852, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":853 - * print('readelems: {}'.format(readelems)) - * print('nbytes: {}'.format(nbytes)) - * print(' should be: {}'.format(readelems * 8)) # <<<<<<<<<<<<<< - * print('ftell: {}'.format(zran.zran_tell(&index))) - * print(' should be: {}'.format((se + readelems) * 8)) - */ - __Pyx_TraceLine(853,0,__PYX_ERR(0, 853, __pyx_L18_except_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_should_be, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 853, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_26 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 853, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_26); - __pyx_t_27 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_27)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_27); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_4 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_27, __pyx_t_26) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_26); - __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 853, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 853, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":854 - * print('nbytes: {}'.format(nbytes)) - * print(' should be: {}'.format(readelems * 8)) - * print('ftell: {}'.format(zran.zran_tell(&index))) # <<<<<<<<<<<<<< - * print(' should be: {}'.format((se + readelems) * 8)) - * raise - */ - __Pyx_TraceLine(854,0,__PYX_ERR(0, 854, __pyx_L18_except_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_ftell, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 854, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_26 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 854, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_26); - __pyx_t_27 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_27)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_27); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_7 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_27, __pyx_t_26) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_26); - __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 854, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 854, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":855 - * print(' should be: {}'.format(readelems * 8)) - * print('ftell: {}'.format(zran.zran_tell(&index))) - * print(' should be: {}'.format((se + readelems) * 8)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(855,0,__PYX_ERR(0, 855, __pyx_L18_except_error)) - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_should_be, __pyx_n_s_format); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 855, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_26 = PyNumber_Add(__pyx_v_se, __pyx_v_readelems); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 855, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_26); - __pyx_t_27 = PyNumber_Multiply(__pyx_t_26, __pyx_int_8); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 855, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_27); - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - __pyx_t_26 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_26)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_26); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - } - } - __pyx_t_4 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_26, __pyx_t_27) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_27); - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 855, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 855, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":856 - * print('ftell: {}'.format(zran.zran_tell(&index))) - * print(' should be: {}'.format((se + readelems) * 8)) - * raise # <<<<<<<<<<<<<< - * - * nelemsp = nbytes / 8. - */ - __Pyx_TraceLine(856,0,__PYX_ERR(0, 856, __pyx_L18_except_error)) - __Pyx_GIVEREF(__pyx_t_18); - __Pyx_GIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_18, __pyx_t_19, __pyx_t_5); - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 856, __pyx_L18_except_error) - } - __pyx_L18_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":846 - * nbytes = zran.zran_read(&index, buffer, readelems * 8) - * - * try: # <<<<<<<<<<<<<< - * assert nbytes == readelems * 8 - * assert zran.zran_tell(&index) == (se + readelems) * 8 - */ - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); - goto __pyx_L7_error; - __pyx_L23_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":858 - * raise - * - * nelemsp = nbytes / 8. # <<<<<<<<<<<<<< - * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) - * - */ - __Pyx_TraceLine(858,0,__PYX_ERR(0, 858, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyFloat_TrueDivideObjC(__pyx_v_nbytes, __pyx_float_8_, 8., 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 858, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_28 = __Pyx_PyInt_As_Py_intptr_t(__pyx_t_5); if (unlikely((__pyx_t_28 == ((npy_intp)-1)) && PyErr_Occurred())) __PYX_ERR(0, 858, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_nelemsp = __pyx_t_28; - - /* "indexed_gzip/tests/ctest_zran.pyx":859 - * - * nelemsp = nbytes / 8. - * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) # <<<<<<<<<<<<<< - * - * assert check_data_valid(data, se, se + readelems) - */ - __Pyx_TraceLine(859,0,__PYX_ERR(0, 859, __pyx_L7_error)) - __pyx_t_5 = PyArray_SimpleNewFromData(1, (&__pyx_v_nelemsp), NPY_UINT64, __pyx_v_buffer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 859, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":861 - * data = np.PyArray_SimpleNewFromData(1, &nelemsp, np.NPY_UINT64, buffer) - * - * assert check_data_valid(data, se, se + readelems) # <<<<<<<<<<<<<< - * - * end = time.time() - */ - __Pyx_TraceLine(861,0,__PYX_ERR(0, 861, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_18 = PyNumber_Add(__pyx_v_se, __pyx_v_readelems); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_t_7 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_data, __pyx_v_se, __pyx_t_18}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { - PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_data, __pyx_v_se, __pyx_t_18}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } else - #endif - { - __pyx_t_4 = PyTuple_New(3+__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_7) { - __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = NULL; - } - __Pyx_INCREF(__pyx_v_data); - __Pyx_GIVEREF(__pyx_v_data); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_13, __pyx_v_data); - __Pyx_INCREF(__pyx_v_se); - __Pyx_GIVEREF(__pyx_v_se); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_13, __pyx_v_se); - __Pyx_GIVEREF(__pyx_t_18); - PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_13, __pyx_t_18); - __pyx_t_18 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 861, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 861, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":863 - * assert check_data_valid(data, se, se + readelems) - * - * end = time.time() # <<<<<<<<<<<<<< - * - * print("{:0.2f} seconds".format(end - start)) - */ - __Pyx_TraceLine(863,0,__PYX_ERR(0, 863, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_time); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 863, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_n_s_time); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 863, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_19 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_5 = (__pyx_t_19) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_19) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 863, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF_SET(__pyx_v_end, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":865 - * end = time.time() - * - * print("{:0.2f} seconds".format(end - start)) # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(865,0,__PYX_ERR(0, 865, __pyx_L7_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_2f_seconds, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_19 = PyNumber_Subtract(__pyx_v_end, __pyx_v_start); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_18 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_5 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_18, __pyx_t_19) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_19); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 865, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":829 - * assert not ret, ret - * - * for i, se in enumerate(seekelems): # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(829,0,__PYX_ERR(0, 829, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":867 - * print("{:0.2f} seconds".format(end - start)) - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(867,0,__PYX_ERR(0, 867, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":817 - * cdef np.npy_intp nelemsp - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_then_read_block", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 817, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 817, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_25); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 817, __pyx_L9_except_error) - __pyx_t_29 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_29) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_4); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 817, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 817, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L29; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L1_error; - __pyx_L29:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":805 - * - * - * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_26); - __Pyx_XDECREF(__pyx_t_27); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_seek_then_read_block", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_seekelems); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_se); - __Pyx_XDECREF(__pyx_v_readelems); - __Pyx_XDECREF(__pyx_v_start); - __Pyx_XDECREF(__pyx_v_nbytes); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_end); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":870 - * - * - * def test_random_seek_and_read(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read = {"test_random_seek_and_read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_niters = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_random_seek_and_read (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,&__pyx_n_s_seed,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, 1); __PYX_ERR(0, 870, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, 2); __PYX_ERR(0, 870, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, 3); __PYX_ERR(0, 870, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, 4); __PYX_ERR(0, 870, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_random_seek_and_read") < 0)) __PYX_ERR(0, 870, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - __pyx_v_niters = values[3]; - __pyx_v_seed = values[4]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_random_seek_and_read", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 870, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_44test_random_seek_and_read(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_44test_random_seek_and_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_seekelems = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_se = NULL; - PyObject *__pyx_v_expval = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - long __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - void *__pyx_t_12; - PyObject *__pyx_t_13; - uint32_t __pyx_t_14; - Py_ssize_t __pyx_t_15; - PyObject *(*__pyx_t_16)(PyObject *); - struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - int __pyx_t_25; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__36) - __Pyx_RefNannySetupContext("test_random_seek_and_read", 0); - __Pyx_TraceCall("test_random_seek_and_read", __pyx_f[0], 870, 0, __PYX_ERR(0, 870, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":874 - * cdef zran.zran_index_t index - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * - * seekelems = np.random.randint(0, nelems, niters) - */ - __Pyx_TraceLine(874,0,__PYX_ERR(0, 874, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 874, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":876 - * filesize = nelems * 8 - * - * seekelems = np.random.randint(0, nelems, niters) # <<<<<<<<<<<<<< - * indexSpacing = max(524288, filesize // 1000) - * - */ - __Pyx_TraceLine(876,0,__PYX_ERR(0, 876, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_0, __pyx_v_nelems, __pyx_v_niters}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_1); - } else - #endif - { - __pyx_t_5 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_nelems); - __Pyx_INCREF(__pyx_v_niters); - __Pyx_GIVEREF(__pyx_v_niters); - PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_niters); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_seekelems = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":877 - * - * seekelems = np.random.randint(0, nelems, niters) - * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(877,0,__PYX_ERR(0, 877, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 877, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = 0x80000; - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 877, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 877, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_7) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_2 = __pyx_t_1; - } else { - __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __pyx_t_3; - __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":879 - * indexSpacing = max(524288, filesize // 1000) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(879,0,__PYX_ERR(0, 879, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 879, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 879, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":880 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(880,0,__PYX_ERR(0, 880, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 880, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_cfid = fdopen(__pyx_t_4, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":882 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(882,0,__PYX_ERR(0, 882, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":883 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(883,0,__PYX_ERR(0, 883, __pyx_L7_error)) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 883, __pyx_L7_error) - if (__pyx_t_7) { - __pyx_t_12 = NULL; - } else { - __pyx_t_12 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":884 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(884,0,__PYX_ERR(0, 884, __pyx_L7_error)) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 884, __pyx_L7_error) - if (__pyx_t_7) { - __pyx_t_13 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_13 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":885 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(885,0,__PYX_ERR(0, 885, __pyx_L7_error)) - __pyx_t_14 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_14 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 885, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":882 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(882,0,__PYX_ERR(0, 882, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_12, __pyx_t_13, __pyx_t_14, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 882, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":890 - * zran.ZRAN_AUTO_BUILD) - * - * for se in seekelems: # <<<<<<<<<<<<<< - * - * # Should never happen - */ - __Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L7_error)) - if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { - __pyx_t_3 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_3); __pyx_t_15 = 0; - __pyx_t_16 = NULL; - } else { - __pyx_t_15 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 890, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_16 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 890, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_16)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 890, __pyx_L7_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 890, __pyx_L7_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_16(__pyx_t_3); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 890, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":893 - * - * # Should never happen - * if se >= nelems: expval = None # <<<<<<<<<<<<<< - * else: expval = se - * - */ - __Pyx_TraceLine(893,0,__PYX_ERR(0, 893, __pyx_L7_error)) - __pyx_t_2 = PyObject_RichCompare(__pyx_v_se, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 893, __pyx_L7_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 893, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_7) { - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_expval, Py_None); - goto __pyx_L15; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":894 - * # Should never happen - * if se >= nelems: expval = None - * else: expval = se # <<<<<<<<<<<<<< - * - * val = read_element(&index, se, nelems, True) - */ - __Pyx_TraceLine(894,0,__PYX_ERR(0, 894, __pyx_L7_error)) - /*else*/ { - __Pyx_INCREF(__pyx_v_se); - __Pyx_XDECREF_SET(__pyx_v_expval, __pyx_v_se); - } - __pyx_L15:; - - /* "indexed_gzip/tests/ctest_zran.pyx":896 - * else: expval = se - * - * val = read_element(&index, se, nelems, True) # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(896,0,__PYX_ERR(0, 896, __pyx_L7_error)) - __pyx_t_17.__pyx_n = 1; - __pyx_t_17.seek = Py_True; - __pyx_t_2 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_se, __pyx_v_nelems, &__pyx_t_17); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 896, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":898 - * val = read_element(&index, se, nelems, True) - * - * try: # <<<<<<<<<<<<<< - * assert val == expval - * except: - */ - __Pyx_TraceLine(898,0,__PYX_ERR(0, 898, __pyx_L7_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":899 - * - * try: - * assert val == expval # <<<<<<<<<<<<<< - * except: - * print("{} != {}".format(val, se)) - */ - __Pyx_TraceLine(899,0,__PYX_ERR(0, 899, __pyx_L16_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = PyObject_RichCompare(__pyx_v_val, __pyx_v_expval, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 899, __pyx_L16_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 899, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_7)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 899, __pyx_L16_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":898 - * val = read_element(&index, se, nelems, True) - * - * try: # <<<<<<<<<<<<<< - * assert val == expval - * except: - */ - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L23_try_end; - __pyx_L16_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":900 - * try: - * assert val == expval - * except: # <<<<<<<<<<<<<< - * print("{} != {}".format(val, se)) - * raise - */ - __Pyx_TraceLine(900,0,__PYX_ERR(0, 900, __pyx_L18_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_5) < 0) __PYX_ERR(0, 900, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_5); - - /* "indexed_gzip/tests/ctest_zran.pyx":901 - * assert val == expval - * except: - * print("{} != {}".format(val, se)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(901,0,__PYX_ERR(0, 901, __pyx_L18_except_error)) - __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__30, __pyx_n_s_format); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 901, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_23 = NULL; - __pyx_t_4 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { - __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_22); - if (likely(__pyx_t_23)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); - __Pyx_INCREF(__pyx_t_23); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_22, function); - __pyx_t_4 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_22)) { - PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_v_val, __pyx_v_se}; - __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 901, __pyx_L18_except_error) - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GOTREF(__pyx_t_21); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { - PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_v_val, __pyx_v_se}; - __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 901, __pyx_L18_except_error) - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GOTREF(__pyx_t_21); - } else - #endif - { - __pyx_t_24 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 901, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_24); - if (__pyx_t_23) { - __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; - } - __Pyx_INCREF(__pyx_v_val); - __Pyx_GIVEREF(__pyx_v_val); - PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_4, __pyx_v_val); - __Pyx_INCREF(__pyx_v_se); - __Pyx_GIVEREF(__pyx_v_se); - PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_4, __pyx_v_se); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_24, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 901, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_21); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 901, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":902 - * except: - * print("{} != {}".format(val, se)) - * raise # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(902,0,__PYX_ERR(0, 902, __pyx_L18_except_error)) - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_5); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; - __PYX_ERR(0, 902, __pyx_L18_except_error) - } - __pyx_L18_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":898 - * val = read_element(&index, se, nelems, True) - * - * try: # <<<<<<<<<<<<<< - * assert val == expval - * except: - */ - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - goto __pyx_L7_error; - __pyx_L23_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":890 - * zran.ZRAN_AUTO_BUILD) - * - * for se in seekelems: # <<<<<<<<<<<<<< - * - * # Should never happen - */ - __Pyx_TraceLine(890,0,__PYX_ERR(0, 890, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":904 - * raise - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(904,0,__PYX_ERR(0, 904, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":879 - * indexSpacing = max(524288, filesize // 1000) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_1) < 0) __PYX_ERR(0, 879, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 879, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_7 < 0) __PYX_ERR(0, 879, __pyx_L9_except_error) - __pyx_t_25 = ((!(__pyx_t_7 != 0)) != 0); - if (__pyx_t_25) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_5, __pyx_t_1); - __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 879, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_8) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 879, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L29; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L1_error; - __pyx_L29:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":870 - * - * - * def test_random_seek_and_read(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_21); - __Pyx_XDECREF(__pyx_t_22); - __Pyx_XDECREF(__pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_random_seek_and_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_seekelems); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_se); - __Pyx_XDECREF(__pyx_v_expval); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":907 - * - * - * def test_read_all_sequential(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential = {"test_read_all_sequential", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_read_all_sequential (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,0}; - PyObject* values[3] = {0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_all_sequential", 1, 3, 3, 1); __PYX_ERR(0, 907, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_read_all_sequential", 1, 3, 3, 2); __PYX_ERR(0, 907, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_read_all_sequential") < 0)) __PYX_ERR(0, 907, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_read_all_sequential", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 907, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all_sequential", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_46test_read_all_sequential(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_46test_read_all_sequential(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - PyObject *__pyx_v_seekelems = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_se = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - void *__pyx_t_13; - PyObject *__pyx_t_14; - uint32_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - PyObject *(*__pyx_t_17)(PyObject *); - struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_18; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - int __pyx_t_25; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__37) - __Pyx_RefNannySetupContext("test_read_all_sequential", 0); - __Pyx_TraceCall("test_read_all_sequential", __pyx_f[0], 907, 0, __PYX_ERR(0, 907, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":911 - * cdef zran.zran_index_t index - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * - * indexSpacing = max(524288, filesize // 1000) - */ - __Pyx_TraceLine(911,0,__PYX_ERR(0, 911, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 911, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":913 - * filesize = nelems * 8 - * - * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< - * - * # Takes too long to read all elements - */ - __Pyx_TraceLine(913,0,__PYX_ERR(0, 913, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x80000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 913, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 913, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 913, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":916 - * - * # Takes too long to read all elements - * seekelems = np.random.randint(0, nelems - 1, 10000, dtype=np.uint64) # <<<<<<<<<<<<<< - * seekelems = np.sort(seekelems) - * - */ - __Pyx_TraceLine(916,0,__PYX_ERR(0, 916, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); - __Pyx_INCREF(__pyx_int_10000); - __Pyx_GIVEREF(__pyx_int_10000); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_int_10000); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 916, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_seekelems = __pyx_t_7; - __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":917 - * # Takes too long to read all elements - * seekelems = np.random.randint(0, nelems - 1, 10000, dtype=np.uint64) - * seekelems = np.sort(seekelems) # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(917,0,__PYX_ERR(0, 917, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sort); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_seekelems) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_seekelems); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 917, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF_SET(__pyx_v_seekelems, __pyx_t_7); - __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":919 - * seekelems = np.sort(seekelems) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(919,0,__PYX_ERR(0, 919, __pyx_L1_error)) - /*with:*/ { - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 919, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_s_rb); - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 919, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_8 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_exit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 919, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_5, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 919, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_7 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 919, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_7; - __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":920 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(920,0,__PYX_ERR(0, 920, __pyx_L7_error)) - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 920, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_cfid = fdopen(__pyx_t_12, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":922 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":923 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(923,0,__PYX_ERR(0, 923, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 923, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_13 = NULL; - } else { - __pyx_t_13 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":924 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(924,0,__PYX_ERR(0, 924, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 924, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_14 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_14 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":925 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(925,0,__PYX_ERR(0, 925, __pyx_L7_error)) - __pyx_t_15 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_15 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 925, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":922 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(922,0,__PYX_ERR(0, 922, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_13, __pyx_t_14, __pyx_t_15, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 922, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":930 - * zran.ZRAN_AUTO_BUILD) - * - * for se in seekelems: # <<<<<<<<<<<<<< - * - * val = read_element(&index, se, nelems, True) - */ - __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L7_error)) - if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { - __pyx_t_3 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_3); __pyx_t_16 = 0; - __pyx_t_17 = NULL; - } else { - __pyx_t_16 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 930, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_17)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_16); __Pyx_INCREF(__pyx_t_5); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 930, __pyx_L7_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 930, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } else { - if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_16); __Pyx_INCREF(__pyx_t_5); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 930, __pyx_L7_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 930, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } - } else { - __pyx_t_5 = __pyx_t_17(__pyx_t_3); - if (unlikely(!__pyx_t_5)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 930, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":932 - * for se in seekelems: - * - * val = read_element(&index, se, nelems, True) # <<<<<<<<<<<<<< - * try: - * assert val == se - */ - __Pyx_TraceLine(932,0,__PYX_ERR(0, 932, __pyx_L7_error)) - __pyx_t_18.__pyx_n = 1; - __pyx_t_18.seek = Py_True; - __pyx_t_5 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_se, __pyx_v_nelems, &__pyx_t_18); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 932, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":933 - * - * val = read_element(&index, se, nelems, True) - * try: # <<<<<<<<<<<<<< - * assert val == se - * except: - */ - __Pyx_TraceLine(933,0,__PYX_ERR(0, 933, __pyx_L7_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":934 - * val = read_element(&index, se, nelems, True) - * try: - * assert val == se # <<<<<<<<<<<<<< - * except: - * print("{} != {}".format(val, se)) - */ - __Pyx_TraceLine(934,0,__PYX_ERR(0, 934, __pyx_L15_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_5 = PyObject_RichCompare(__pyx_v_val, __pyx_v_se, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 934, __pyx_L15_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 934, __pyx_L15_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 934, __pyx_L15_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":933 - * - * val = read_element(&index, se, nelems, True) - * try: # <<<<<<<<<<<<<< - * assert val == se - * except: - */ - } - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - goto __pyx_L22_try_end; - __pyx_L15_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":935 - * try: - * assert val == se - * except: # <<<<<<<<<<<<<< - * print("{} != {}".format(val, se)) - * print("{:x} != {:x}".format(val, se)) - */ - __Pyx_TraceLine(935,0,__PYX_ERR(0, 935, __pyx_L17_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all_sequential", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_7, &__pyx_t_1) < 0) __PYX_ERR(0, 935, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GOTREF(__pyx_t_1); - - /* "indexed_gzip/tests/ctest_zran.pyx":936 - * assert val == se - * except: - * print("{} != {}".format(val, se)) # <<<<<<<<<<<<<< - * print("{:x} != {:x}".format(val, se)) - * raise - */ - __Pyx_TraceLine(936,0,__PYX_ERR(0, 936, __pyx_L17_except_error)) - __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__30, __pyx_n_s_format); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 936, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_22); - __pyx_t_23 = NULL; - __pyx_t_12 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { - __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_22); - if (likely(__pyx_t_23)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); - __Pyx_INCREF(__pyx_t_23); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_22, function); - __pyx_t_12 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_22)) { - PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_v_val, __pyx_v_se}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L17_except_error) - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { - PyObject *__pyx_temp[3] = {__pyx_t_23, __pyx_v_val, __pyx_v_se}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L17_except_error) - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_GOTREF(__pyx_t_4); - } else - #endif - { - __pyx_t_24 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 936, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_24); - if (__pyx_t_23) { - __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; - } - __Pyx_INCREF(__pyx_v_val); - __Pyx_GIVEREF(__pyx_v_val); - PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_12, __pyx_v_val); - __Pyx_INCREF(__pyx_v_se); - __Pyx_GIVEREF(__pyx_v_se); - PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_12, __pyx_v_se); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_24, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 936, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 936, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":937 - * except: - * print("{} != {}".format(val, se)) - * print("{:x} != {:x}".format(val, se)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(937,0,__PYX_ERR(0, 937, __pyx_L17_except_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_x_x, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 937, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_24 = NULL; - __pyx_t_12 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_24)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_24); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_12 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[3] = {__pyx_t_24, __pyx_v_val, __pyx_v_se}; - __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 937, __pyx_L17_except_error) - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_GOTREF(__pyx_t_22); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[3] = {__pyx_t_24, __pyx_v_val, __pyx_v_se}; - __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 937, __pyx_L17_except_error) - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_GOTREF(__pyx_t_22); - } else - #endif - { - __pyx_t_23 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 937, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_23); - if (__pyx_t_24) { - __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_24); __pyx_t_24 = NULL; - } - __Pyx_INCREF(__pyx_v_val); - __Pyx_GIVEREF(__pyx_v_val); - PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_12, __pyx_v_val); - __Pyx_INCREF(__pyx_v_se); - __Pyx_GIVEREF(__pyx_v_se); - PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_12, __pyx_v_se); - __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_23, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 937, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 937, __pyx_L17_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":938 - * print("{} != {}".format(val, se)) - * print("{:x} != {:x}".format(val, se)) - * raise # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(938,0,__PYX_ERR(0, 938, __pyx_L17_except_error)) - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_7, __pyx_t_1); - __pyx_t_5 = 0; __pyx_t_7 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 938, __pyx_L17_except_error) - } - __pyx_L17_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":933 - * - * val = read_element(&index, se, nelems, True) - * try: # <<<<<<<<<<<<<< - * assert val == se - * except: - */ - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_20, __pyx_t_21); - goto __pyx_L7_error; - __pyx_L22_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":930 - * zran.ZRAN_AUTO_BUILD) - * - * for se in seekelems: # <<<<<<<<<<<<<< - * - * val = read_element(&index, se, nelems, True) - */ - __Pyx_TraceLine(930,0,__PYX_ERR(0, 930, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":940 - * raise - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(940,0,__PYX_ERR(0, 940, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":919 - * seekelems = np.sort(seekelems) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all_sequential", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 919, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 919, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 919, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 919, __pyx_L9_except_error) - __pyx_t_25 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_25) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_7); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_7 = 0; - __PYX_ERR(0, 919, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_8) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 919, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L28; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L1_error; - __pyx_L28:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":907 - * - * - * def test_read_all_sequential(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_22); - __Pyx_XDECREF(__pyx_t_23); - __Pyx_XDECREF(__pyx_t_24); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_all_sequential", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF(__pyx_v_seekelems); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_se); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":943 - * - * - * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read = {"test_build_then_read", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - PyObject *__pyx_v_use_mmap = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_build_then_read (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_seed,&__pyx_n_s_use_mmap,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, 1); __PYX_ERR(0, 943, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, 2); __PYX_ERR(0, 943, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, 3); __PYX_ERR(0, 943, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_use_mmap)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, 4); __PYX_ERR(0, 943, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_build_then_read") < 0)) __PYX_ERR(0, 943, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - __pyx_v_seed = values[3]; - __pyx_v_use_mmap = values[4]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_build_then_read", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 943, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_build_then_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_48test_build_then_read(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_seed, __pyx_v_use_mmap); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_48test_build_then_read(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, CYTHON_UNUSED PyObject *__pyx_v_seed, PyObject *__pyx_v_use_mmap) { - PyObject *__pyx_v_filesize = NULL; - PyObject *__pyx_v_indexSpacing = NULL; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; - PyObject *__pyx_v_seekelems = NULL; - zran_index_t __pyx_v_index; - void *__pyx_v_buffer; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_se = NULL; - PyObject *__pyx_v_readelems = NULL; - PyObject *__pyx_v_nbytes = NULL; - PyObject *__pyx_v_pybuf = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - long __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - void *__pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - PyObject *__pyx_t_14; - uint32_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - PyObject *(*__pyx_t_17)(PyObject *); - int64_t __pyx_t_18; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - uint64_t __pyx_t_21; - Py_ssize_t __pyx_t_22; - Py_ssize_t __pyx_t_23; - PyObject *(*__pyx_t_24)(PyObject *); - PyObject *__pyx_t_25 = NULL; - int __pyx_t_26; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__38) - __Pyx_RefNannySetupContext("test_build_then_read", 0); - __Pyx_TraceCall("test_build_then_read", __pyx_f[0], 943, 0, __PYX_ERR(0, 943, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":945 - * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): - * - * filesize = nelems * 8 # <<<<<<<<<<<<<< - * - * indexSpacing = max(524288, filesize // 1000) - */ - __Pyx_TraceLine(945,0,__PYX_ERR(0, 945, __pyx_L1_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v_filesize = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":947 - * filesize = nelems * 8 - * - * indexSpacing = max(524288, filesize // 1000) # <<<<<<<<<<<<<< - * buf = ReadBuffer(filesize, use_mmap) - * seekelems = np.random.randint(0, nelems - 1, 5000, dtype=np.uint64) - */ - __Pyx_TraceLine(947,0,__PYX_ERR(0, 947, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_filesize, __pyx_int_1000, 0x3E8, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = 0x80000; - __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 947, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 947, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_t_1); - __pyx_t_3 = __pyx_t_1; - } else { - __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 947, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __pyx_t_5; - __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_3; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_indexSpacing = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":948 - * - * indexSpacing = max(524288, filesize // 1000) - * buf = ReadBuffer(filesize, use_mmap) # <<<<<<<<<<<<<< - * seekelems = np.random.randint(0, nelems - 1, 5000, dtype=np.uint64) - * - */ - __Pyx_TraceLine(948,0,__PYX_ERR(0, 948, __pyx_L1_error)) - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_filesize); - __Pyx_GIVEREF(__pyx_v_filesize); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_filesize); - __Pyx_INCREF(__pyx_v_use_mmap); - __Pyx_GIVEREF(__pyx_v_use_mmap); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_use_mmap); - __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":949 - * indexSpacing = max(524288, filesize // 1000) - * buf = ReadBuffer(filesize, use_mmap) - * seekelems = np.random.randint(0, nelems - 1, 5000, dtype=np.uint64) # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(949,0,__PYX_ERR(0, 949, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_randint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); - __Pyx_INCREF(__pyx_int_5000); - __Pyx_GIVEREF(__pyx_int_5000); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_int_5000); - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint64); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 949, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_seekelems = __pyx_t_7; - __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":952 - * - * cdef zran.zran_index_t index - * cdef void *buffer = buf.buffer # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(952,0,__PYX_ERR(0, 952, __pyx_L1_error)) - __pyx_t_8 = __pyx_v_buf->buffer; - __pyx_v_buffer = __pyx_t_8; - - /* "indexed_gzip/tests/ctest_zran.pyx":954 - * cdef void *buffer = buf.buffer - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(954,0,__PYX_ERR(0, 954, __pyx_L1_error)) - /*with:*/ { - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_s_rb); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 954, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_7 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 954, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_t_7; - __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":955 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(955,0,__PYX_ERR(0, 955, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 955, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_13 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 955, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_v_cfid = fdopen(__pyx_t_13, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":957 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":958 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(958,0,__PYX_ERR(0, 958, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 958, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_8 = NULL; - } else { - __pyx_t_8 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":959 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * 32768, - */ - __Pyx_TraceLine(959,0,__PYX_ERR(0, 959, __pyx_L7_error)) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 959, __pyx_L7_error) - if (__pyx_t_6) { - __pyx_t_14 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_14 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":960 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * indexSpacing, # <<<<<<<<<<<<<< - * 32768, - * 131072, - */ - __Pyx_TraceLine(960,0,__PYX_ERR(0, 960, __pyx_L7_error)) - __pyx_t_15 = __Pyx_PyInt_As_uint32_t(__pyx_v_indexSpacing); if (unlikely((__pyx_t_15 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 960, __pyx_L7_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":957 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(957,0,__PYX_ERR(0, 957, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_8, __pyx_t_14, __pyx_t_15, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 957, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":965 - * zran.ZRAN_AUTO_BUILD) - * - * assert not zran.zran_build_index(&index, 0, 0) # <<<<<<<<<<<<<< - * - * for se in seekelems: - */ - __Pyx_TraceLine(965,0,__PYX_ERR(0, 965, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((!(zran_build_index((&__pyx_v_index), 0, 0) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 965, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":967 - * assert not zran.zran_build_index(&index, 0, 0) - * - * for se in seekelems: # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 - */ - __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L7_error)) - if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { - __pyx_t_5 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_5); __pyx_t_16 = 0; - __pyx_t_17 = NULL; - } else { - __pyx_t_16 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 967, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 967, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_17)) { - if (likely(PyList_CheckExact(__pyx_t_5))) { - if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 967, __pyx_L7_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 967, __pyx_L7_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 967, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } - } else { - __pyx_t_1 = __pyx_t_17(__pyx_t_5); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 967, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":969 - * for se in seekelems: - * - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 # <<<<<<<<<<<<<< - * - * if se == nelems - 1: - */ - __Pyx_TraceLine(969,0,__PYX_ERR(0, 969, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = PyNumber_Multiply(__pyx_v_se, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 969, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyInt_As_int64_t(__pyx_t_1); if (unlikely((__pyx_t_18 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 969, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!((zran_seek((&__pyx_v_index), __pyx_t_18, SEEK_SET, NULL) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 969, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":971 - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 - * - * if se == nelems - 1: # <<<<<<<<<<<<<< - * readelems = 1 - * else: - */ - __Pyx_TraceLine(971,0,__PYX_ERR(0, 971, __pyx_L7_error)) - __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_nelems, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = PyObject_RichCompare(__pyx_v_se, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 971, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (__pyx_t_6) { - - /* "indexed_gzip/tests/ctest_zran.pyx":972 - * - * if se == nelems - 1: - * readelems = 1 # <<<<<<<<<<<<<< - * else: - * readelems = np.random.randint(1, min(nelems - se, 5000)) - */ - __Pyx_TraceLine(972,0,__PYX_ERR(0, 972, __pyx_L7_error)) - __Pyx_INCREF(__pyx_int_1); - __Pyx_XDECREF_SET(__pyx_v_readelems, __pyx_int_1); - - /* "indexed_gzip/tests/ctest_zran.pyx":971 - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 - * - * if se == nelems - 1: # <<<<<<<<<<<<<< - * readelems = 1 - * else: - */ - goto __pyx_L15; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":974 - * readelems = 1 - * else: - * readelems = np.random.randint(1, min(nelems - se, 5000)) # <<<<<<<<<<<<<< - * - * nbytes = zran.zran_read(&index, buffer, readelems * 8) - */ - __Pyx_TraceLine(974,0,__PYX_ERR(0, 974, __pyx_L7_error)) - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = 0x1388; - __pyx_t_3 = PyNumber_Subtract(__pyx_v_nelems, __pyx_v_se); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_19 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_20 = PyObject_RichCompare(__pyx_t_19, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (__pyx_t_6) { - __pyx_t_20 = __Pyx_PyInt_From_long(__pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_4 = __pyx_t_20; - __pyx_t_20 = 0; - } else { - __Pyx_INCREF(__pyx_t_3); - __pyx_t_4 = __pyx_t_3; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_13 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_13 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_1, __pyx_t_4}; - __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { - PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_1, __pyx_t_4}; - __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else - #endif - { - __pyx_t_20 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_20); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_13, __pyx_int_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_13, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_20, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 974, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF_SET(__pyx_v_readelems, __pyx_t_7); - __pyx_t_7 = 0; - } - __pyx_L15:; - - /* "indexed_gzip/tests/ctest_zran.pyx":976 - * readelems = np.random.randint(1, min(nelems - se, 5000)) - * - * nbytes = zran.zran_read(&index, buffer, readelems * 8) # <<<<<<<<<<<<<< - * - * assert nbytes == readelems * 8 - */ - __Pyx_TraceLine(976,0,__PYX_ERR(0, 976, __pyx_L7_error)) - __pyx_t_7 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 976, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_21 = __Pyx_PyInt_As_uint64_t(__pyx_t_7); if (unlikely((__pyx_t_21 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 976, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyInt_From_int64_t(zran_read((&__pyx_v_index), __pyx_v_buffer, __pyx_t_21)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 976, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_XDECREF_SET(__pyx_v_nbytes, __pyx_t_7); - __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":978 - * nbytes = zran.zran_read(&index, buffer, readelems * 8) - * - * assert nbytes == readelems * 8 # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == (se + readelems) * 8 - * - */ - __Pyx_TraceLine(978,0,__PYX_ERR(0, 978, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_7 = PyNumber_Multiply(__pyx_v_readelems, __pyx_int_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 978, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = PyObject_RichCompare(__pyx_v_nbytes, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 978, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 978, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 978, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":979 - * - * assert nbytes == readelems * 8 - * assert zran.zran_tell(&index) == (se + readelems) * 8 # <<<<<<<<<<<<<< - * - * pybuf = (buffer)[:nbytes] - */ - __Pyx_TraceLine(979,0,__PYX_ERR(0, 979, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = PyNumber_Add(__pyx_v_se, __pyx_v_readelems); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_20 = PyNumber_Multiply(__pyx_t_7, __pyx_int_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_20, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 979, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 979, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":981 - * assert zran.zran_tell(&index) == (se + readelems) * 8 - * - * pybuf = (buffer)[:nbytes] # <<<<<<<<<<<<<< - * data = np.ndarray(nbytes // 8, np.uint64, pybuf) - * - */ - __Pyx_TraceLine(981,0,__PYX_ERR(0, 981, __pyx_L7_error)) - __Pyx_INCREF(__pyx_v_nbytes); - __pyx_t_7 = __pyx_v_nbytes; - __pyx_t_6 = (__pyx_t_7 == Py_None); - if (__pyx_t_6) { - __pyx_t_22 = PY_SSIZE_T_MAX; - } else { - __pyx_t_23 = __Pyx_PyIndex_AsSsize_t(__pyx_t_7); if (unlikely((__pyx_t_23 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 981, __pyx_L7_error) - __pyx_t_22 = __pyx_t_23; - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, __pyx_t_22 - 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 981, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_20 = __pyx_t_7; - __Pyx_INCREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF_SET(__pyx_v_pybuf, ((PyObject*)__pyx_t_20)); - __pyx_t_20 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":982 - * - * pybuf = (buffer)[:nbytes] - * data = np.ndarray(nbytes // 8, np.uint64, pybuf) # <<<<<<<<<<<<<< - * - * for i, val in enumerate(data, se): - */ - __Pyx_TraceLine(982,0,__PYX_ERR(0, 982, __pyx_L7_error)) - __pyx_t_20 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_nbytes, __pyx_int_8, 8, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 982, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 982, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_uint64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 982, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_20); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1); - __Pyx_INCREF(__pyx_v_pybuf); - __Pyx_GIVEREF(__pyx_v_pybuf); - PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_v_pybuf); - __pyx_t_20 = 0; - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_ndarray), __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF_SET(__pyx_v_data, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":984 - * data = np.ndarray(nbytes // 8, np.uint64, pybuf) - * - * for i, val in enumerate(data, se): # <<<<<<<<<<<<<< - * assert val == i - * - */ - __Pyx_TraceLine(984,0,__PYX_ERR(0, 984, __pyx_L7_error)) - __Pyx_INCREF(__pyx_v_se); - __pyx_t_1 = __pyx_v_se; - if (likely(PyList_CheckExact(__pyx_v_data)) || PyTuple_CheckExact(__pyx_v_data)) { - __pyx_t_7 = __pyx_v_data; __Pyx_INCREF(__pyx_t_7); __pyx_t_22 = 0; - __pyx_t_24 = NULL; - } else { - __pyx_t_22 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_data); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 984, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_24 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 984, __pyx_L7_error) - } - for (;;) { - if (likely(!__pyx_t_24)) { - if (likely(PyList_CheckExact(__pyx_t_7))) { - if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_7)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_20 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_22); __Pyx_INCREF(__pyx_t_20); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 984, __pyx_L7_error) - #else - __pyx_t_20 = PySequence_ITEM(__pyx_t_7, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_20); - #endif - } else { - if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_7)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_20 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_22); __Pyx_INCREF(__pyx_t_20); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 984, __pyx_L7_error) - #else - __pyx_t_20 = PySequence_ITEM(__pyx_t_7, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_20); - #endif - } - } else { - __pyx_t_20 = __pyx_t_24(__pyx_t_7); - if (unlikely(!__pyx_t_20)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 984, __pyx_L7_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_20); - } - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_20); - __pyx_t_20 = 0; - __Pyx_INCREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); - __pyx_t_20 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_1); - __pyx_t_1 = __pyx_t_20; - __pyx_t_20 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":985 - * - * for i, val in enumerate(data, se): - * assert val == i # <<<<<<<<<<<<<< - * - * zran.zran_free(&index) - */ - __Pyx_TraceLine(985,0,__PYX_ERR(0, 985, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_20 = PyObject_RichCompare(__pyx_v_val, __pyx_v_i, Py_EQ); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 985, __pyx_L7_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 985, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_6)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 985, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":984 - * data = np.ndarray(nbytes // 8, np.uint64, pybuf) - * - * for i, val in enumerate(data, se): # <<<<<<<<<<<<<< - * assert val == i - * - */ - __Pyx_TraceLine(984,0,__PYX_ERR(0, 984, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":967 - * assert not zran.zran_build_index(&index, 0, 0) - * - * for se in seekelems: # <<<<<<<<<<<<<< - * - * assert zran.zran_seek(&index, se * 8, SEEK_SET, NULL) == 0 - */ - __Pyx_TraceLine(967,0,__PYX_ERR(0, 967, __pyx_L7_error)) - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":987 - * assert val == i - * - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(987,0,__PYX_ERR(0, 987, __pyx_L7_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":954 - * cdef void *buffer = buf.buffer - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_build_then_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 954, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_20 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 954, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_20, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 954, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_25); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 954, __pyx_L9_except_error) - __pyx_t_26 = ((!(__pyx_t_6 != 0)) != 0); - if (__pyx_t_26) { - __Pyx_GIVEREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_1, __pyx_t_7); - __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_7 = 0; - __PYX_ERR(0, 954, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 954, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L21; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L1_error; - __pyx_L21:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":943 - * - * - * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_build_then_read", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_filesize); - __Pyx_XDECREF(__pyx_v_indexSpacing); - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_seekelems); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_se); - __Pyx_XDECREF(__pyx_v_readelems); - __Pyx_XDECREF(__pyx_v_nbytes); - __Pyx_XDECREF(__pyx_v_pybuf); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":990 - * - * - * def test_readbuf_spacing_sizes(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes = {"test_readbuf_spacing_sizes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - PyObject *__pyx_v_nelems = 0; - PyObject *__pyx_v_niters = 0; - CYTHON_UNUSED PyObject *__pyx_v_seed = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_readbuf_spacing_sizes (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,&__pyx_n_s_nelems_2,&__pyx_n_s_niters,&__pyx_n_s_seed,0}; - PyObject* values[5] = {0,0,0,0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - CYTHON_FALLTHROUGH; - case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - CYTHON_FALLTHROUGH; - case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, 1); __PYX_ERR(0, 990, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_nelems_2)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, 2); __PYX_ERR(0, 990, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 3: - if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_niters)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, 3); __PYX_ERR(0, 990, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 4: - if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_seed)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, 4); __PYX_ERR(0, 990, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_readbuf_spacing_sizes") < 0)) __PYX_ERR(0, 990, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 5) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - values[2] = PyTuple_GET_ITEM(__pyx_args, 2); - values[3] = PyTuple_GET_ITEM(__pyx_args, 3); - values[4] = PyTuple_GET_ITEM(__pyx_args, 4); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - __pyx_v_nelems = values[2]; - __pyx_v_niters = values[3]; - __pyx_v_seed = values[4]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_readbuf_spacing_sizes", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 990, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_readbuf_spacing_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_50test_readbuf_spacing_sizes(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds, __pyx_v_nelems, __pyx_v_niters, __pyx_v_seed); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_50test_readbuf_spacing_sizes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds, PyObject *__pyx_v_nelems, PyObject *__pyx_v_niters, CYTHON_UNUSED PyObject *__pyx_v_seed) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_spacings = NULL; - PyObject *__pyx_v_bufsizes = NULL; - PyObject *__pyx_v_seekelems = NULL; - PyObject *__pyx_v_sbi = NULL; - PyObject *__pyx_v_spacing = NULL; - PyObject *__pyx_v_bufsize = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - CYTHON_UNUSED PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_se = NULL; - PyObject *__pyx_v_expval = NULL; - PyObject *__pyx_v_val = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - PyObject *(*__pyx_t_8)(PyObject *); - PyObject *__pyx_t_9 = NULL; - PyObject *(*__pyx_t_10)(PyObject *); - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - Py_ssize_t __pyx_t_15; - Py_ssize_t __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - void *__pyx_t_18; - int __pyx_t_19; - PyObject *__pyx_t_20; - uint32_t __pyx_t_21; - uint32_t __pyx_t_22; - PyObject *(*__pyx_t_23)(PyObject *); - struct __pyx_opt_args_12indexed_gzip_5tests_10ctest_zran_read_element __pyx_t_24; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - PyObject *__pyx_t_28 = NULL; - PyObject *__pyx_t_29 = NULL; - PyObject *__pyx_t_30 = NULL; - PyObject *__pyx_t_31 = NULL; - int __pyx_t_32; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__39) - __Pyx_RefNannySetupContext("test_readbuf_spacing_sizes", 0); - __Pyx_TraceCall("test_readbuf_spacing_sizes", __pyx_f[0], 990, 0, __PYX_ERR(0, 990, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":994 - * cdef zran.zran_index_t index - * - * spacings = [262144, 524288, 1048576, # <<<<<<<<<<<<<< - * 2097152, 4194304, 8388608] - * bufsizes = [16384, 65536, 131072, 262144, - */ - __Pyx_TraceLine(994,0,__PYX_ERR(0, 994, __pyx_L1_error)) - __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 994, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_262144); - __Pyx_GIVEREF(__pyx_int_262144); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_262144); - __Pyx_INCREF(__pyx_int_524288); - __Pyx_GIVEREF(__pyx_int_524288); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_524288); - __Pyx_INCREF(__pyx_int_1048576); - __Pyx_GIVEREF(__pyx_int_1048576); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_1048576); - __Pyx_INCREF(__pyx_int_2097152); - __Pyx_GIVEREF(__pyx_int_2097152); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_2097152); - __Pyx_INCREF(__pyx_int_4194304); - __Pyx_GIVEREF(__pyx_int_4194304); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_4194304); - __Pyx_INCREF(__pyx_int_8388608); - __Pyx_GIVEREF(__pyx_int_8388608); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_8388608); - __pyx_v_spacings = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":996 - * spacings = [262144, 524288, 1048576, - * 2097152, 4194304, 8388608] - * bufsizes = [16384, 65536, 131072, 262144, # <<<<<<<<<<<<<< - * 524288, 1048575, 1048576, 1048577, - * 2097152, 4194304, 8388608] - */ - __Pyx_TraceLine(996,0,__PYX_ERR(0, 996, __pyx_L1_error)) - __pyx_t_1 = PyList_New(11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_int_16384); - __Pyx_GIVEREF(__pyx_int_16384); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_16384); - __Pyx_INCREF(__pyx_int_65536); - __Pyx_GIVEREF(__pyx_int_65536); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_65536); - __Pyx_INCREF(__pyx_int_131072); - __Pyx_GIVEREF(__pyx_int_131072); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_131072); - __Pyx_INCREF(__pyx_int_262144); - __Pyx_GIVEREF(__pyx_int_262144); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_262144); - __Pyx_INCREF(__pyx_int_524288); - __Pyx_GIVEREF(__pyx_int_524288); - PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_524288); - __Pyx_INCREF(__pyx_int_1048575); - __Pyx_GIVEREF(__pyx_int_1048575); - PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_1048575); - __Pyx_INCREF(__pyx_int_1048576); - __Pyx_GIVEREF(__pyx_int_1048576); - PyList_SET_ITEM(__pyx_t_1, 6, __pyx_int_1048576); - __Pyx_INCREF(__pyx_int_1048577); - __Pyx_GIVEREF(__pyx_int_1048577); - PyList_SET_ITEM(__pyx_t_1, 7, __pyx_int_1048577); - __Pyx_INCREF(__pyx_int_2097152); - __Pyx_GIVEREF(__pyx_int_2097152); - PyList_SET_ITEM(__pyx_t_1, 8, __pyx_int_2097152); - __Pyx_INCREF(__pyx_int_4194304); - __Pyx_GIVEREF(__pyx_int_4194304); - PyList_SET_ITEM(__pyx_t_1, 9, __pyx_int_4194304); - __Pyx_INCREF(__pyx_int_8388608); - __Pyx_GIVEREF(__pyx_int_8388608); - PyList_SET_ITEM(__pyx_t_1, 10, __pyx_int_8388608); - __pyx_v_bufsizes = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1000 - * 2097152, 4194304, 8388608] - * - * seekelems = np.random.randint(0, nelems, niters // 2) # <<<<<<<<<<<<<< - * seekelems = np.concatenate((spacings, bufsizes, seekelems)) - * - */ - __Pyx_TraceLine(1000,0,__PYX_ERR(0, 1000, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_niters, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_int_0, __pyx_v_nelems, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_int_0, __pyx_v_nelems, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__pyx_t_4) { - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; - } - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_int_0); - __Pyx_INCREF(__pyx_v_nelems); - __Pyx_GIVEREF(__pyx_v_nelems); - PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_nelems); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_seekelems = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1001 - * - * seekelems = np.random.randint(0, nelems, niters // 2) - * seekelems = np.concatenate((spacings, bufsizes, seekelems)) # <<<<<<<<<<<<<< - * - * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): - */ - __Pyx_TraceLine(1001,0,__PYX_ERR(0, 1001, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_concatenate); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_spacings); - __Pyx_GIVEREF(__pyx_v_spacings); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_spacings); - __Pyx_INCREF(__pyx_v_bufsizes); - __Pyx_GIVEREF(__pyx_v_bufsizes); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_bufsizes); - __Pyx_INCREF(__pyx_v_seekelems); - __Pyx_GIVEREF(__pyx_v_seekelems); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_seekelems); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1001, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF_SET(__pyx_v_seekelems, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1003 - * seekelems = np.concatenate((spacings, bufsizes, seekelems)) - * - * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_t_1 = __pyx_int_0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_it); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_product); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_spacings, __pyx_v_bufsizes}; - __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_6); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { - PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_spacings, __pyx_v_bufsizes}; - __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GOTREF(__pyx_t_6); - } else - #endif - { - __pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_2) { - __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL; - } - __Pyx_INCREF(__pyx_v_spacings); - __Pyx_GIVEREF(__pyx_v_spacings); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_spacings); - __Pyx_INCREF(__pyx_v_bufsizes); - __Pyx_GIVEREF(__pyx_v_bufsizes); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_bufsizes); - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { - __pyx_t_3 = __pyx_t_6; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0; - __pyx_t_8 = NULL; - } else { - __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1003, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - for (;;) { - if (likely(!__pyx_t_8)) { - if (likely(PyList_CheckExact(__pyx_t_3))) { - if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_6 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1003, __pyx_L1_error) - #else - __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - #endif - } else { - if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1003, __pyx_L1_error) - #else - __pyx_t_6 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - #endif - } - } else { - __pyx_t_6 = __pyx_t_8(__pyx_t_3); - if (unlikely(!__pyx_t_6)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1003, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_6); - } - if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) { - PyObject* sequence = __pyx_t_6; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1003, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_4 = PyList_GET_ITEM(sequence, 0); - __pyx_t_2 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(__pyx_t_2); - #else - __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_9 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext; - index = 0; __pyx_t_4 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - index = 1; __pyx_t_2 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed; - __Pyx_GOTREF(__pyx_t_2); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < 0) __PYX_ERR(0, 1003, __pyx_L1_error) - __pyx_t_10 = NULL; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L6_unpacking_done; - __pyx_L5_unpacking_failed:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_10 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1003, __pyx_L1_error) - __pyx_L6_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_spacing, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_XDECREF_SET(__pyx_v_bufsize, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_t_1); - __Pyx_XDECREF_SET(__pyx_v_sbi, __pyx_t_1); - __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1003, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); - __pyx_t_1 = __pyx_t_6; - __pyx_t_6 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1005 - * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * - * print('{} / {}: spacing={}, bufsize={} ... '.format( - */ - __Pyx_TraceLine(1005,0,__PYX_ERR(0, 1005, __pyx_L1_error)) - /*with:*/ { - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1005, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_11 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1005, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1005, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_6; - __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1007 - * with open(testfile, 'rb') as pyfid: - * - * print('{} / {}: spacing={}, bufsize={} ... '.format( # <<<<<<<<<<<<<< - * sbi, - * len(spacings) * len(bufsizes), - */ - __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L13_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_spacing_bufsize, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1007, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - - /* "indexed_gzip/tests/ctest_zran.pyx":1009 - * print('{} / {}: spacing={}, bufsize={} ... '.format( - * sbi, - * len(spacings) * len(bufsizes), # <<<<<<<<<<<<<< - * spacing, bufsize), end='') - * - */ - __Pyx_TraceLine(1009,0,__PYX_ERR(0, 1009, __pyx_L13_error)) - __pyx_t_15 = PyList_GET_SIZE(__pyx_v_spacings); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1009, __pyx_L13_error) - __pyx_t_16 = PyList_GET_SIZE(__pyx_v_bufsizes); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1009, __pyx_L13_error) - __pyx_t_6 = PyInt_FromSsize_t((__pyx_t_15 * __pyx_t_16)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1009, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_6); - - /* "indexed_gzip/tests/ctest_zran.pyx":1010 - * sbi, - * len(spacings) * len(bufsizes), - * spacing, bufsize), end='') # <<<<<<<<<<<<<< - * - * cfid = fdopen(pyfid.fileno(), 'rb') - */ - __Pyx_TraceLine(1010,0,__PYX_ERR(0, 1010, __pyx_L13_error)) - __pyx_t_9 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_v_sbi, __pyx_t_6, __pyx_v_spacing, __pyx_v_bufsize}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1007, __pyx_L13_error) - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_v_sbi, __pyx_t_6, __pyx_v_spacing, __pyx_v_bufsize}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 4+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1007, __pyx_L13_error) - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } else - #endif - { - __pyx_t_17 = PyTuple_New(4+__pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1007, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_17); - if (__pyx_t_9) { - __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_9); __pyx_t_9 = NULL; - } - __Pyx_INCREF(__pyx_v_sbi); - __Pyx_GIVEREF(__pyx_v_sbi); - PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_5, __pyx_v_sbi); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_5, __pyx_t_6); - __Pyx_INCREF(__pyx_v_spacing); - __Pyx_GIVEREF(__pyx_v_spacing); - PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_5, __pyx_v_spacing); - __Pyx_INCREF(__pyx_v_bufsize); - __Pyx_GIVEREF(__pyx_v_bufsize); - PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_5, __pyx_v_bufsize); - __pyx_t_6 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_17, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1007, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1007 - * with open(testfile, 'rb') as pyfid: - * - * print('{} / {}: spacing={}, bufsize={} ... '.format( # <<<<<<<<<<<<<< - * sbi, - * len(spacings) * len(bufsizes), - */ - __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L13_error)) - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1007, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1010 - * sbi, - * len(spacings) * len(bufsizes), - * spacing, bufsize), end='') # <<<<<<<<<<<<<< - * - * cfid = fdopen(pyfid.fileno(), 'rb') - */ - __Pyx_TraceLine(1010,0,__PYX_ERR(0, 1010, __pyx_L13_error)) - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1010, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_end, __pyx_kp_s__35) < 0) __PYX_ERR(0, 1010, __pyx_L13_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1007 - * with open(testfile, 'rb') as pyfid: - * - * print('{} / {}: spacing={}, bufsize={} ... '.format( # <<<<<<<<<<<<<< - * sbi, - * len(spacings) * len(bufsizes), - */ - __Pyx_TraceLine(1007,0,__PYX_ERR(0, 1007, __pyx_L13_error)) - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1007, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1012 - * spacing, bufsize), end='') - * - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(1012,0,__PYX_ERR(0, 1012, __pyx_L13_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1012, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_17 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1012, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_17); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1012, __pyx_L13_error) - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_v_cfid = fdopen(__pyx_t_5, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1014 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L13_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1015 - * - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * spacing, - */ - __Pyx_TraceLine(1015,0,__PYX_ERR(0, 1015, __pyx_L13_error)) - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1015, __pyx_L13_error) - if (__pyx_t_19) { - __pyx_t_18 = NULL; - } else { - __pyx_t_18 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1016 - * assert not zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * spacing, - * 32768, - */ - __Pyx_TraceLine(1016,0,__PYX_ERR(0, 1016, __pyx_L13_error)) - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1016, __pyx_L13_error) - if (__pyx_t_19) { - __pyx_t_20 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_20 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1017 - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - * spacing, # <<<<<<<<<<<<<< - * 32768, - * bufsize, - */ - __Pyx_TraceLine(1017,0,__PYX_ERR(0, 1017, __pyx_L13_error)) - __pyx_t_21 = __Pyx_PyInt_As_uint32_t(__pyx_v_spacing); if (unlikely((__pyx_t_21 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1017, __pyx_L13_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1019 - * spacing, - * 32768, - * bufsize, # <<<<<<<<<<<<<< - * zran.ZRAN_AUTO_BUILD) - * - */ - __Pyx_TraceLine(1019,0,__PYX_ERR(0, 1019, __pyx_L13_error)) - __pyx_t_22 = __Pyx_PyInt_As_uint32_t(__pyx_v_bufsize); if (unlikely((__pyx_t_22 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1019, __pyx_L13_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1014 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(1014,0,__PYX_ERR(0, 1014, __pyx_L13_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_t_18, __pyx_t_20, __pyx_t_21, 0x8000, __pyx_t_22, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1014, __pyx_L13_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1022 - * zran.ZRAN_AUTO_BUILD) - * - * for i, se in enumerate(seekelems): # <<<<<<<<<<<<<< - * - * # print('{} / {}: {}'.format(i, len(seekelems), se)) - */ - __Pyx_TraceLine(1022,0,__PYX_ERR(0, 1022, __pyx_L13_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_t_17 = __pyx_int_0; - if (likely(PyList_CheckExact(__pyx_v_seekelems)) || PyTuple_CheckExact(__pyx_v_seekelems)) { - __pyx_t_4 = __pyx_v_seekelems; __Pyx_INCREF(__pyx_t_4); __pyx_t_16 = 0; - __pyx_t_23 = NULL; - } else { - __pyx_t_16 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_seekelems); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1022, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_23 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1022, __pyx_L13_error) - } - for (;;) { - if (likely(!__pyx_t_23)) { - if (likely(PyList_CheckExact(__pyx_t_4))) { - if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_4)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 1022, __pyx_L13_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1022, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_4)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 1022, __pyx_L13_error) - #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1022, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_23(__pyx_t_4); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1022, __pyx_L13_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XDECREF_SET(__pyx_v_se, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_t_17); - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_17); - __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_17, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1022, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_17); - __pyx_t_17 = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1026 - * # print('{} / {}: {}'.format(i, len(seekelems), se)) - * - * if se >= nelems: expval = None # <<<<<<<<<<<<<< - * else: expval = se - * - */ - __Pyx_TraceLine(1026,0,__PYX_ERR(0, 1026, __pyx_L13_error)) - __pyx_t_2 = PyObject_RichCompare(__pyx_v_se, __pyx_v_nelems, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1026, __pyx_L13_error) - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1026, __pyx_L13_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_19) { - __Pyx_INCREF(Py_None); - __Pyx_XDECREF_SET(__pyx_v_expval, Py_None); - goto __pyx_L23; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1027 - * - * if se >= nelems: expval = None - * else: expval = se # <<<<<<<<<<<<<< - * - * val = read_element(&index, se, nelems, seek=True) - */ - __Pyx_TraceLine(1027,0,__PYX_ERR(0, 1027, __pyx_L13_error)) - /*else*/ { - __Pyx_INCREF(__pyx_v_se); - __Pyx_XDECREF_SET(__pyx_v_expval, __pyx_v_se); - } - __pyx_L23:; - - /* "indexed_gzip/tests/ctest_zran.pyx":1029 - * else: expval = se - * - * val = read_element(&index, se, nelems, seek=True) # <<<<<<<<<<<<<< - * - * try: - */ - __Pyx_TraceLine(1029,0,__PYX_ERR(0, 1029, __pyx_L13_error)) - __pyx_t_24.__pyx_n = 1; - __pyx_t_24.seek = Py_True; - __pyx_t_2 = __pyx_f_12indexed_gzip_5tests_10ctest_zran_read_element((&__pyx_v_index), __pyx_v_se, __pyx_v_nelems, &__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1031 - * val = read_element(&index, se, nelems, seek=True) - * - * try: # <<<<<<<<<<<<<< - * assert val == expval - * except: - */ - __Pyx_TraceLine(1031,0,__PYX_ERR(0, 1031, __pyx_L13_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_25, &__pyx_t_26, &__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_27); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":1032 - * - * try: - * assert val == expval # <<<<<<<<<<<<<< - * except: - * print('{} != {}'.format(val, expval)) - */ - __Pyx_TraceLine(1032,0,__PYX_ERR(0, 1032, __pyx_L24_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = PyObject_RichCompare(__pyx_v_val, __pyx_v_expval, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1032, __pyx_L24_error) - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 1032, __pyx_L24_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_19)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1032, __pyx_L24_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1031 - * val = read_element(&index, se, nelems, seek=True) - * - * try: # <<<<<<<<<<<<<< - * assert val == expval - * except: - */ - } - __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; - __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; - goto __pyx_L31_try_end; - __pyx_L24_error:; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1033 - * try: - * assert val == expval - * except: # <<<<<<<<<<<<<< - * print('{} != {}'.format(val, expval)) - * raise - */ - __Pyx_TraceLine(1033,0,__PYX_ERR(0, 1033, __pyx_L26_except_error)) - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_readbuf_spacing_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_6, &__pyx_t_9) < 0) __PYX_ERR(0, 1033, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_9); - - /* "indexed_gzip/tests/ctest_zran.pyx":1034 - * assert val == expval - * except: - * print('{} != {}'.format(val, expval)) # <<<<<<<<<<<<<< - * raise - * - */ - __Pyx_TraceLine(1034,0,__PYX_ERR(0, 1034, __pyx_L26_except_error)) - __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s__30, __pyx_n_s_format); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 1034, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_29); - __pyx_t_30 = NULL; - __pyx_t_5 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_29))) { - __pyx_t_30 = PyMethod_GET_SELF(__pyx_t_29); - if (likely(__pyx_t_30)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_29); - __Pyx_INCREF(__pyx_t_30); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_29, function); - __pyx_t_5 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_29)) { - PyObject *__pyx_temp[3] = {__pyx_t_30, __pyx_v_val, __pyx_v_expval}; - __pyx_t_28 = __Pyx_PyFunction_FastCall(__pyx_t_29, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 1034, __pyx_L26_except_error) - __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_GOTREF(__pyx_t_28); - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_29)) { - PyObject *__pyx_temp[3] = {__pyx_t_30, __pyx_v_val, __pyx_v_expval}; - __pyx_t_28 = __Pyx_PyCFunction_FastCall(__pyx_t_29, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 1034, __pyx_L26_except_error) - __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_GOTREF(__pyx_t_28); - } else - #endif - { - __pyx_t_31 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 1034, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_31); - if (__pyx_t_30) { - __Pyx_GIVEREF(__pyx_t_30); PyTuple_SET_ITEM(__pyx_t_31, 0, __pyx_t_30); __pyx_t_30 = NULL; - } - __Pyx_INCREF(__pyx_v_val); - __Pyx_GIVEREF(__pyx_v_val); - PyTuple_SET_ITEM(__pyx_t_31, 0+__pyx_t_5, __pyx_v_val); - __Pyx_INCREF(__pyx_v_expval); - __Pyx_GIVEREF(__pyx_v_expval); - PyTuple_SET_ITEM(__pyx_t_31, 1+__pyx_t_5, __pyx_v_expval); - __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_29, __pyx_t_31, NULL); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 1034, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_28); - __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; - } - __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; - __pyx_t_29 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_28); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 1034, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_29); - __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; - __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1035 - * except: - * print('{} != {}'.format(val, expval)) - * raise # <<<<<<<<<<<<<< - * - * print() - */ - __Pyx_TraceLine(1035,0,__PYX_ERR(0, 1035, __pyx_L26_except_error)) - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_6, __pyx_t_9); - __pyx_t_2 = 0; __pyx_t_6 = 0; __pyx_t_9 = 0; - __PYX_ERR(0, 1035, __pyx_L26_except_error) - } - __pyx_L26_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":1031 - * val = read_element(&index, se, nelems, seek=True) - * - * try: # <<<<<<<<<<<<<< - * assert val == expval - * except: - */ - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_26, __pyx_t_27); - goto __pyx_L13_error; - __pyx_L31_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1022 - * zran.ZRAN_AUTO_BUILD) - * - * for i, se in enumerate(seekelems): # <<<<<<<<<<<<<< - * - * # print('{} / {}: {}'.format(i, len(seekelems), se)) - */ - __Pyx_TraceLine(1022,0,__PYX_ERR(0, 1022, __pyx_L13_error)) - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1037 - * raise - * - * print() # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1037,0,__PYX_ERR(0, 1037, __pyx_L13_error)) - __pyx_t_17 = __Pyx_PyObject_CallNoArg(__pyx_builtin_print); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1037, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1038 - * - * print() - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1038,0,__PYX_ERR(0, 1038, __pyx_L13_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1005 - * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * - * print('{} / {}: spacing={}, bufsize={} ... '.format( - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L20_try_end; - __pyx_L13_error:; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0; - __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; - __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_readbuf_spacing_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_17, &__pyx_t_4, &__pyx_t_9) < 0) __PYX_ERR(0, 1005, __pyx_L15_except_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_6 = PyTuple_Pack(3, __pyx_t_17, __pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1005, __pyx_L15_except_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_6, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 1005, __pyx_L15_except_error) - __Pyx_GOTREF(__pyx_t_27); - __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_27); - __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; - if (__pyx_t_19 < 0) __PYX_ERR(0, 1005, __pyx_L15_except_error) - __pyx_t_32 = ((!(__pyx_t_19 != 0)) != 0); - if (__pyx_t_32) { - __Pyx_GIVEREF(__pyx_t_17); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ErrRestoreWithState(__pyx_t_17, __pyx_t_4, __pyx_t_9); - __pyx_t_17 = 0; __pyx_t_4 = 0; __pyx_t_9 = 0; - __PYX_ERR(0, 1005, __pyx_L15_except_error) - } - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L14_exception_handled; - } - __pyx_L15_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L1_error; - __pyx_L14_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L20_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_11) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1005, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L12; - } - __pyx_L12:; - } - goto __pyx_L37; - __pyx_L7_error:; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L1_error; - __pyx_L37:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1003 - * seekelems = np.concatenate((spacings, bufsizes, seekelems)) - * - * for sbi, (spacing, bufsize) in enumerate(it.product(spacings, bufsizes)): # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(1003,0,__PYX_ERR(0, 1003, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":990 - * - * - * def test_readbuf_spacing_sizes(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_28); - __Pyx_XDECREF(__pyx_t_29); - __Pyx_XDECREF(__pyx_t_30); - __Pyx_XDECREF(__pyx_t_31); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_readbuf_spacing_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_spacings); - __Pyx_XDECREF(__pyx_v_bufsizes); - __Pyx_XDECREF(__pyx_v_seekelems); - __Pyx_XDECREF(__pyx_v_sbi); - __Pyx_XDECREF(__pyx_v_spacing); - __Pyx_XDECREF(__pyx_v_bufsize); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_se); - __Pyx_XDECREF(__pyx_v_expval); - __Pyx_XDECREF(__pyx_v_val); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1041 - * - * - * cdef _compare_indexes(zran.zran_index_t *index1, # <<<<<<<<<<<<<< - * zran.zran_index_t *index2): - * """Check that two indexes are equivalent. """ - */ - -static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran__compare_indexes(zran_index_t *__pyx_v_index1, zran_index_t *__pyx_v_index2) { - zran_point_t *__pyx_v_p1; - zran_point_t *__pyx_v_p2; - uint32_t __pyx_v_ws; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_v_msg = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - uint32_t __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - Py_ssize_t __pyx_t_4; - PyObject *(*__pyx_t_5)(PyObject *); - Py_ssize_t __pyx_t_6; - int __pyx_t_7; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_compare_indexes", 0); - __Pyx_TraceCall("_compare_indexes", __pyx_f[0], 1041, 0, __PYX_ERR(0, 1041, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1047 - * cdef zran.zran_point_t *p2 - * - * assert index2.compressed_size == index1.compressed_size # <<<<<<<<<<<<<< - * assert index2.uncompressed_size == index1.uncompressed_size - * assert index2.spacing == index1.spacing - */ - __Pyx_TraceLine(1047,0,__PYX_ERR(0, 1047, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_index2->compressed_size == __pyx_v_index1->compressed_size) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1047, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1048 - * - * assert index2.compressed_size == index1.compressed_size - * assert index2.uncompressed_size == index1.uncompressed_size # <<<<<<<<<<<<<< - * assert index2.spacing == index1.spacing - * assert index2.window_size == index1.window_size - */ - __Pyx_TraceLine(1048,0,__PYX_ERR(0, 1048, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_index2->uncompressed_size == __pyx_v_index1->uncompressed_size) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1048, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1049 - * assert index2.compressed_size == index1.compressed_size - * assert index2.uncompressed_size == index1.uncompressed_size - * assert index2.spacing == index1.spacing # <<<<<<<<<<<<<< - * assert index2.window_size == index1.window_size - * assert index2.npoints == index1.npoints - */ - __Pyx_TraceLine(1049,0,__PYX_ERR(0, 1049, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_index2->spacing == __pyx_v_index1->spacing) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1049, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1050 - * assert index2.uncompressed_size == index1.uncompressed_size - * assert index2.spacing == index1.spacing - * assert index2.window_size == index1.window_size # <<<<<<<<<<<<<< - * assert index2.npoints == index1.npoints - * - */ - __Pyx_TraceLine(1050,0,__PYX_ERR(0, 1050, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_index2->window_size == __pyx_v_index1->window_size) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1050, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1051 - * assert index2.spacing == index1.spacing - * assert index2.window_size == index1.window_size - * assert index2.npoints == index1.npoints # <<<<<<<<<<<<<< - * - * ws = index1.window_size - */ - __Pyx_TraceLine(1051,0,__PYX_ERR(0, 1051, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_index2->npoints == __pyx_v_index1->npoints) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1051, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1053 - * assert index2.npoints == index1.npoints - * - * ws = index1.window_size # <<<<<<<<<<<<<< - * - * for i in range(index1.npoints): - */ - __Pyx_TraceLine(1053,0,__PYX_ERR(0, 1053, __pyx_L1_error)) - __pyx_t_1 = __pyx_v_index1->window_size; - __pyx_v_ws = __pyx_t_1; - - /* "indexed_gzip/tests/ctest_zran.pyx":1055 - * ws = index1.window_size - * - * for i in range(index1.npoints): # <<<<<<<<<<<<<< - * - * p1 = &index1.list[i] - */ - __Pyx_TraceLine(1055,0,__PYX_ERR(0, 1055, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyInt_From_uint32_t(__pyx_v_index1->npoints); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; - __pyx_t_5 = NULL; - } else { - __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1055, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (likely(!__pyx_t_5)) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1055, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } else { - if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1055, __pyx_L1_error) - #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1055, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } - } else { - __pyx_t_3 = __pyx_t_5(__pyx_t_2); - if (unlikely(!__pyx_t_3)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1055, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1057 - * for i in range(index1.npoints): - * - * p1 = &index1.list[i] # <<<<<<<<<<<<<< - * p2 = &index2.list[i] - * msg = 'Error at point %d' % i - */ - __Pyx_TraceLine(1057,0,__PYX_ERR(0, 1057, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1057, __pyx_L1_error) - __pyx_v_p1 = (&(__pyx_v_index1->list[__pyx_t_6])); - - /* "indexed_gzip/tests/ctest_zran.pyx":1058 - * - * p1 = &index1.list[i] - * p2 = &index2.list[i] # <<<<<<<<<<<<<< - * msg = 'Error at point %d' % i - * - */ - __Pyx_TraceLine(1058,0,__PYX_ERR(0, 1058, __pyx_L1_error)) - __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1058, __pyx_L1_error) - __pyx_v_p2 = (&(__pyx_v_index2->list[__pyx_t_6])); - - /* "indexed_gzip/tests/ctest_zran.pyx":1059 - * p1 = &index1.list[i] - * p2 = &index2.list[i] - * msg = 'Error at point %d' % i # <<<<<<<<<<<<<< - * - * assert p2.cmp_offset == p1.cmp_offset, msg - */ - __Pyx_TraceLine(1059,0,__PYX_ERR(0, 1059, __pyx_L1_error)) - __pyx_t_3 = __Pyx_PyString_FormatSafe(__pyx_kp_s_Error_at_point_d, __pyx_v_i); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1059, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_XDECREF_SET(__pyx_v_msg, __pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1061 - * msg = 'Error at point %d' % i - * - * assert p2.cmp_offset == p1.cmp_offset, msg # <<<<<<<<<<<<<< - * assert p2.uncmp_offset == p1.uncmp_offset, msg - * assert p2.bits == p1.bits, msg - */ - __Pyx_TraceLine(1061,0,__PYX_ERR(0, 1061, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_p2->cmp_offset == __pyx_v_p1->cmp_offset) != 0))) { - __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1061, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 1061, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1062 - * - * assert p2.cmp_offset == p1.cmp_offset, msg - * assert p2.uncmp_offset == p1.uncmp_offset, msg # <<<<<<<<<<<<<< - * assert p2.bits == p1.bits, msg - * if (not p1.data): - */ - __Pyx_TraceLine(1062,0,__PYX_ERR(0, 1062, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_p2->uncmp_offset == __pyx_v_p1->uncmp_offset) != 0))) { - __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1062, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 1062, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1063 - * assert p2.cmp_offset == p1.cmp_offset, msg - * assert p2.uncmp_offset == p1.uncmp_offset, msg - * assert p2.bits == p1.bits, msg # <<<<<<<<<<<<<< - * if (not p1.data): - * assert p1.data == p2.data, msg - */ - __Pyx_TraceLine(1063,0,__PYX_ERR(0, 1063, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_p2->bits == __pyx_v_p1->bits) != 0))) { - __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1063, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 1063, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1064 - * assert p2.uncmp_offset == p1.uncmp_offset, msg - * assert p2.bits == p1.bits, msg - * if (not p1.data): # <<<<<<<<<<<<<< - * assert p1.data == p2.data, msg - * else: - */ - __Pyx_TraceLine(1064,0,__PYX_ERR(0, 1064, __pyx_L1_error)) - __pyx_t_7 = ((!(__pyx_v_p1->data != 0)) != 0); - if (__pyx_t_7) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1065 - * assert p2.bits == p1.bits, msg - * if (not p1.data): - * assert p1.data == p2.data, msg # <<<<<<<<<<<<<< - * else: - * assert not memcmp(p2.data, p1.data, ws), msg - */ - __Pyx_TraceLine(1065,0,__PYX_ERR(0, 1065, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_p1->data == __pyx_v_p2->data) != 0))) { - __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1065, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 1065, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1064 - * assert p2.uncmp_offset == p1.uncmp_offset, msg - * assert p2.bits == p1.bits, msg - * if (not p1.data): # <<<<<<<<<<<<<< - * assert p1.data == p2.data, msg - * else: - */ - goto __pyx_L5; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1067 - * assert p1.data == p2.data, msg - * else: - * assert not memcmp(p2.data, p1.data, ws), msg # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1067,0,__PYX_ERR(0, 1067, __pyx_L1_error)) - /*else*/ { - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((!(memcmp(__pyx_v_p2->data, __pyx_v_p1->data, __pyx_v_ws) != 0)) != 0))) { - __pyx_t_3 = PyTuple_Pack(1, __pyx_v_msg); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1067, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 1067, __pyx_L1_error) - } - } - #endif - } - __pyx_L5:; - - /* "indexed_gzip/tests/ctest_zran.pyx":1055 - * ws = index1.window_size - * - * for i in range(index1.npoints): # <<<<<<<<<<<<<< - * - * p1 = &index1.list[i] - */ - __Pyx_TraceLine(1055,0,__PYX_ERR(0, 1055, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1041 - * - * - * cdef _compare_indexes(zran.zran_index_t *index1, # <<<<<<<<<<<<<< - * zran.zran_index_t *index2): - * """Check that two indexes are equivalent. """ - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran._compare_indexes", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XDECREF(__pyx_v_msg); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1070 - * - * - * def test_export_then_import(testfile, no_fds): # <<<<<<<<<<<<<< - * """Export-import round trip . Test exporting an index, then importing it - * back in. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import[] = "Export-import round trip . Test exporting an index, then importing it\n back in.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import = {"test_export_then_import", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import, METH_VARARGS|METH_KEYWORDS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_testfile = 0; - PyObject *__pyx_v_no_fds = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_export_then_import (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_testfile,&__pyx_n_s_no_fds,0}; - PyObject* values[2] = {0,0}; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_testfile)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_no_fds)) != 0)) kw_args--; - else { - __Pyx_RaiseArgtupleInvalid("test_export_then_import", 1, 2, 2, 1); __PYX_ERR(0, 1070, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "test_export_then_import") < 0)) __PYX_ERR(0, 1070, __pyx_L3_error) - } - } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - } - __pyx_v_testfile = values[0]; - __pyx_v_no_fds = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("test_export_then_import", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1070, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import(__pyx_self, __pyx_v_testfile, __pyx_v_no_fds); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_52test_export_then_import(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_testfile, PyObject *__pyx_v_no_fds) { - zran_index_t __pyx_v_index1; - zran_index_t __pyx_v_index2; - long __pyx_v_indexSpacing; - long __pyx_v_windowSize; - long __pyx_v_readbufSize; - long __pyx_v_flag; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_pyexportfid = NULL; - int __pyx_v_ret; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - void *__pyx_t_10; - int __pyx_t_11; - PyObject *__pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - int __pyx_t_18; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__40) - __Pyx_RefNannySetupContext("test_export_then_import", 0); - __Pyx_TraceCall("test_export_then_import", __pyx_f[0], 1070, 0, __PYX_ERR(0, 1070, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1078 - * cdef zran.zran_index_t index2 - * - * indexSpacing = 1048576 # <<<<<<<<<<<<<< - * windowSize = 32768 - * readbufSize = 131072 - */ - __Pyx_TraceLine(1078,0,__PYX_ERR(0, 1078, __pyx_L1_error)) - __pyx_v_indexSpacing = 0x100000; - - /* "indexed_gzip/tests/ctest_zran.pyx":1079 - * - * indexSpacing = 1048576 - * windowSize = 32768 # <<<<<<<<<<<<<< - * readbufSize = 131072 - * flag = 0 - */ - __Pyx_TraceLine(1079,0,__PYX_ERR(0, 1079, __pyx_L1_error)) - __pyx_v_windowSize = 0x8000; - - /* "indexed_gzip/tests/ctest_zran.pyx":1080 - * indexSpacing = 1048576 - * windowSize = 32768 - * readbufSize = 131072 # <<<<<<<<<<<<<< - * flag = 0 - * - */ - __Pyx_TraceLine(1080,0,__PYX_ERR(0, 1080, __pyx_L1_error)) - __pyx_v_readbufSize = 0x20000; - - /* "indexed_gzip/tests/ctest_zran.pyx":1081 - * windowSize = 32768 - * readbufSize = 131072 - * flag = 0 # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(1081,0,__PYX_ERR(0, 1081, __pyx_L1_error)) - __pyx_v_flag = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1083 - * flag = 0 - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - __Pyx_TraceLine(1083,0,__PYX_ERR(0, 1083, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1083, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1083, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1084 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * - * assert not zran.zran_init(&index1, - */ - __Pyx_TraceLine(1084,0,__PYX_ERR(0, 1084, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1084, __pyx_L7_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1086 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index1, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(1086,0,__PYX_ERR(0, 1086, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1087 - * - * assert not zran.zran_init(&index1, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(1087,0,__PYX_ERR(0, 1087, __pyx_L7_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1087, __pyx_L7_error) - if (__pyx_t_11) { - __pyx_t_10 = NULL; - } else { - __pyx_t_10 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1088 - * assert not zran.zran_init(&index1, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * windowSize, - */ - __Pyx_TraceLine(1088,0,__PYX_ERR(0, 1088, __pyx_L7_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1088, __pyx_L7_error) - if (__pyx_t_11) { - __pyx_t_12 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_12 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1086 - * cfid = fdopen(pyfid.fileno(), 'rb') - * - * assert not zran.zran_init(&index1, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(1086,0,__PYX_ERR(0, 1086, __pyx_L7_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index1), __pyx_t_10, __pyx_t_12, __pyx_v_indexSpacing, __pyx_v_windowSize, __pyx_v_readbufSize, __pyx_v_flag) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1086, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1094 - * flag) - * - * assert not zran.zran_build_index(&index1, 0, 0) # <<<<<<<<<<<<<< - * - * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: - */ - __Pyx_TraceLine(1094,0,__PYX_ERR(0, 1094, __pyx_L7_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((!(zran_build_index((&__pyx_v_index1), 0, 0) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1094, __pyx_L7_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1096 - * assert not zran.zran_build_index(&index1, 0, 0) - * - * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyexportfid.fileno(), 'ab') - * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) - */ - __Pyx_TraceLine(1096,0,__PYX_ERR(0, 1096, __pyx_L7_error)) - /*with:*/ { - __pyx_t_4 = PyNumber_Add(__pyx_v_testfile, __pyx_kp_s_idx_tmp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1096, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_wb); - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1096, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1096, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1096, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - /*try:*/ { - __pyx_v_pyexportfid = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1097 - * - * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: - * cfid = fdopen(pyexportfid.fileno(), 'ab') # <<<<<<<<<<<<<< - * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) - * assert not ret, str(ret) - */ - __Pyx_TraceLine(1097,0,__PYX_ERR(0, 1097, __pyx_L17_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyexportfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1097, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1097, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1097, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"ab")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1098 - * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: - * cfid = fdopen(pyexportfid.fileno(), 'ab') - * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) # <<<<<<<<<<<<<< - * assert not ret, str(ret) - * - */ - __Pyx_TraceLine(1098,0,__PYX_ERR(0, 1098, __pyx_L17_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1098, __pyx_L17_error) - if (__pyx_t_11) { - __pyx_t_10 = NULL; - } else { - __pyx_t_10 = __pyx_v_cfid; - } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1098, __pyx_L17_error) - if (__pyx_t_11) { - __pyx_t_12 = ((PyObject *)__pyx_v_pyexportfid); - } else { - __pyx_t_12 = NULL; - } - __pyx_v_ret = zran_export_index((&__pyx_v_index1), __pyx_t_10, __pyx_t_12); - - /* "indexed_gzip/tests/ctest_zran.pyx":1099 - * cfid = fdopen(pyexportfid.fileno(), 'ab') - * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) - * assert not ret, str(ret) # <<<<<<<<<<<<<< - * - * with open(testfile, 'rb') as pyfid: - */ - __Pyx_TraceLine(1099,0,__PYX_ERR(0, 1099, __pyx_L17_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((!(__pyx_v_ret != 0)) != 0))) { - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1099, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1099, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_Pack(1, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1099, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 1099, __pyx_L17_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1096 - * assert not zran.zran_build_index(&index1, 0, 0) - * - * with open(testfile + '.idx.tmp', 'wb') as pyexportfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyexportfid.fileno(), 'ab') - * ret = zran.zran_export_index(&index1, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) - */ - } - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 1096, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1096, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1096, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 1096, __pyx_L19_except_error) - __pyx_t_18 = ((!(__pyx_t_11 != 0)) != 0); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); - __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1096, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_13) { - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1096, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1083 - * flag = 0 - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 1083, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1083, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1083, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_18 < 0) __PYX_ERR(0, 1083, __pyx_L9_except_error) - __pyx_t_11 = ((!(__pyx_t_18 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1083, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_3) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1083, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L30; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L1_error; - __pyx_L30:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1101 - * assert not ret, str(ret) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index2, - */ - __Pyx_TraceLine(1101,0,__PYX_ERR(0, 1101, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_testfile); - __Pyx_GIVEREF(__pyx_v_testfile); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_testfile); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_rb); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1101, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1101, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1102 - * - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * assert not zran.zran_init(&index2, - * NULL if no_fds else cfid, - */ - __Pyx_TraceLine(1102,0,__PYX_ERR(0, 1102, __pyx_L35_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1102, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1102, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1102, __pyx_L35_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1103 - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index2, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L35_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1104 - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index2, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * indexSpacing, - */ - __Pyx_TraceLine(1104,0,__PYX_ERR(0, 1104, __pyx_L35_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1104, __pyx_L35_error) - if (__pyx_t_11) { - __pyx_t_10 = NULL; - } else { - __pyx_t_10 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1105 - * assert not zran.zran_init(&index2, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * indexSpacing, - * windowSize, - */ - __Pyx_TraceLine(1105,0,__PYX_ERR(0, 1105, __pyx_L35_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1105, __pyx_L35_error) - if (__pyx_t_11) { - __pyx_t_12 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_12 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1103 - * with open(testfile, 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index2, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(1103,0,__PYX_ERR(0, 1103, __pyx_L35_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index2), __pyx_t_10, __pyx_t_12, __pyx_v_indexSpacing, __pyx_v_windowSize, __pyx_v_readbufSize, __pyx_v_flag) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1103, __pyx_L35_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1111 - * flag) - * - * with open(testfile + '.idx.tmp', 'rb') as pyexportfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyexportfid.fileno(), 'rb') - * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) - */ - __Pyx_TraceLine(1111,0,__PYX_ERR(0, 1111, __pyx_L35_error)) - /*with:*/ { - __pyx_t_2 = PyNumber_Add(__pyx_v_testfile, __pyx_kp_s_idx_tmp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1111, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1111, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); - __Pyx_INCREF(__pyx_n_s_rb); - __Pyx_GIVEREF(__pyx_n_s_rb); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_n_s_rb); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1111, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_13 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1111, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1111, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1111, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_4; - __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_15, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_pyexportfid, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1112 - * - * with open(testfile + '.idx.tmp', 'rb') as pyexportfid: - * cfid = fdopen(pyexportfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) - * assert not ret, str(ret) - */ - __Pyx_TraceLine(1112,0,__PYX_ERR(0, 1112, __pyx_L45_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyexportfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1112, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1112, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1112, __pyx_L45_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_9, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1113 - * with open(testfile + '.idx.tmp', 'rb') as pyexportfid: - * cfid = fdopen(pyexportfid.fileno(), 'rb') - * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) # <<<<<<<<<<<<<< - * assert not ret, str(ret) - * - */ - __Pyx_TraceLine(1113,0,__PYX_ERR(0, 1113, __pyx_L45_error)) - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1113, __pyx_L45_error) - if (__pyx_t_11) { - __pyx_t_10 = NULL; - } else { - __pyx_t_10 = __pyx_v_cfid; - } - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 1113, __pyx_L45_error) - if (__pyx_t_11) { - __pyx_t_12 = ((PyObject *)__pyx_v_pyexportfid); - } else { - __pyx_t_12 = NULL; - } - __pyx_v_ret = zran_import_index((&__pyx_v_index2), __pyx_t_10, __pyx_t_12); - - /* "indexed_gzip/tests/ctest_zran.pyx":1114 - * cfid = fdopen(pyexportfid.fileno(), 'rb') - * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) - * assert not ret, str(ret) # <<<<<<<<<<<<<< - * - * _compare_indexes(&index1, &index2) - */ - __Pyx_TraceLine(1114,0,__PYX_ERR(0, 1114, __pyx_L45_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((!(__pyx_v_ret != 0)) != 0))) { - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1114, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_Pack(1, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1114, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 1114, __pyx_L45_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1111 - * flag) - * - * with open(testfile + '.idx.tmp', 'rb') as pyexportfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyexportfid.fileno(), 'rb') - * ret = zran.zran_import_index(&index2, NULL if no_fds else cfid, pyexportfid if no_fds else NULL) - */ - } - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L50_try_end; - __pyx_L45_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(0, 1111, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1111, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1111, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (__pyx_t_11 < 0) __PYX_ERR(0, 1111, __pyx_L47_except_error) - __pyx_t_18 = ((!(__pyx_t_11 != 0)) != 0); - if (__pyx_t_18) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_4); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 1111, __pyx_L47_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L46_exception_handled; - } - __pyx_L47_except_error:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_15, __pyx_t_14); - goto __pyx_L35_error; - __pyx_L46_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_15, __pyx_t_14); - __pyx_L50_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_13) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1111, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L44; - } - __pyx_L44:; - } - goto __pyx_L54; - __pyx_L41_error:; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L35_error; - __pyx_L54:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1116 - * assert not ret, str(ret) - * - * _compare_indexes(&index1, &index2) # <<<<<<<<<<<<<< - * - * zran.zran_free(&index1) - */ - __Pyx_TraceLine(1116,0,__PYX_ERR(0, 1116, __pyx_L35_error)) - __pyx_t_4 = __pyx_f_12indexed_gzip_5tests_10ctest_zran__compare_indexes((&__pyx_v_index1), (&__pyx_v_index2)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1116, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1118 - * _compare_indexes(&index1, &index2) - * - * zran.zran_free(&index1) # <<<<<<<<<<<<<< - * zran.zran_free(&index2) - * - */ - __Pyx_TraceLine(1118,0,__PYX_ERR(0, 1118, __pyx_L35_error)) - zran_free((&__pyx_v_index1)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1119 - * - * zran.zran_free(&index1) - * zran.zran_free(&index2) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1119,0,__PYX_ERR(0, 1119, __pyx_L35_error)) - zran_free((&__pyx_v_index2)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1101 - * assert not ret, str(ret) - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index2, - */ - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L40_try_end; - __pyx_L35_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 1101, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1101, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1101, __pyx_L37_except_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (__pyx_t_18 < 0) __PYX_ERR(0, 1101, __pyx_L37_except_error) - __pyx_t_11 = ((!(__pyx_t_18 != 0)) != 0); - if (__pyx_t_11) { - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_2, __pyx_t_1); - __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1101, __pyx_L37_except_error) - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L36_exception_handled; - } - __pyx_L37_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - goto __pyx_L1_error; - __pyx_L36_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - __pyx_L40_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_3) { - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - goto __pyx_L34; - } - __pyx_L34:; - } - goto __pyx_L58; - __pyx_L31_error:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L1_error; - __pyx_L58:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1070 - * - * - * def test_export_then_import(testfile, no_fds): # <<<<<<<<<<<<<< - * """Export-import round trip . Test exporting an index, then importing it - * back in. - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_then_import", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_pyexportfid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1122 - * - * - * def test_export_import_no_points(no_fds): # <<<<<<<<<<<<<< - * """Test exporting and importing an index which does not contain any - * seek points. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points(PyObject *__pyx_self, PyObject *__pyx_v_no_fds); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points[] = "Test exporting and importing an index which does not contain any\n seek points.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points = {"test_export_import_no_points", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points, METH_O, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points(PyObject *__pyx_self, PyObject *__pyx_v_no_fds) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_export_import_no_points (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points(__pyx_self, ((PyObject *)__pyx_v_no_fds)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_54test_export_import_no_points(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_no_fds) { - zran_index_t __pyx_v_index; - void *__pyx_v_buffer; - PyObject *__pyx_v_data = NULL; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - int64_t __pyx_v_output; - PyObject *__pyx_v_pybuf = NULL; - PyObject *__pyx_v_pyidxfid = NULL; - FILE *__pyx_v_cidxfid; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - void *__pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - int __pyx_t_17; - int __pyx_t_18; - PyObject *__pyx_t_19; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__41) - __Pyx_RefNannySetupContext("test_export_import_no_points", 0); - __Pyx_TraceCall("test_export_import_no_points", __pyx_f[0], 1122, 0, __PYX_ERR(0, 1122, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1129 - * cdef void *buffer - * - * data = np.random.randint(1, 255, 100, dtype=np.uint8) # <<<<<<<<<<<<<< - * buf = ReadBuffer(100) - * buffer = buf.buffer - */ - __Pyx_TraceLine(1129,0,__PYX_ERR(0, 1129, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__42, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_data = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1130 - * - * data = np.random.randint(1, 255, 100, dtype=np.uint8) - * buf = ReadBuffer(100) # <<<<<<<<<<<<<< - * buffer = buf.buffer - * - */ - __Pyx_TraceLine(1130,0,__PYX_ERR(0, 1130, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_tuple__43, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1131 - * data = np.random.randint(1, 255, 100, dtype=np.uint8) - * buf = ReadBuffer(100) - * buffer = buf.buffer # <<<<<<<<<<<<<< - * - * with tempdir(): - */ - __Pyx_TraceLine(1131,0,__PYX_ERR(0, 1131, __pyx_L1_error)) - __pyx_t_5 = __pyx_v_buf->buffer; - __pyx_v_buffer = __pyx_t_5; - - /* "indexed_gzip/tests/ctest_zran.pyx":1133 - * buffer = buf.buffer - * - * with tempdir(): # <<<<<<<<<<<<<< - * - * with gzip.open('data.gz', 'wb') as f: - */ - __Pyx_TraceLine(1133,0,__PYX_ERR(0, 1133, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_6 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1133, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":1135 - * with tempdir(): - * - * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - __Pyx_TraceLine(1135,0,__PYX_ERR(0, 1135, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_gzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1135, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1135, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1135, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1135, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1135, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1135, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1136 - * - * with gzip.open('data.gz', 'wb') as f: - * f.write(data.tostring()) # <<<<<<<<<<<<<< - * - * with open('data.gz', 'rb') as pyfid: - */ - __Pyx_TraceLine(1136,0,__PYX_ERR(0, 1136, __pyx_L17_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1135 - * with tempdir(): - * - * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 1135, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1135, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1135, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1135, __pyx_L19_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); - __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1135, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1135, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1138 - * f.write(data.tostring()) - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, - */ - __Pyx_TraceLine(1138,0,__PYX_ERR(0, 1138, __pyx_L7_error)) - /*with:*/ { - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1138, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1138, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1138, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1138, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_4; - __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1139 - * - * with open('data.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * assert zran.zran_init(&index, - * NULL if no_fds else cfid, - */ - __Pyx_TraceLine(1139,0,__PYX_ERR(0, 1139, __pyx_L31_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1139, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1139, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1139, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_18, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1140 - * with open('data.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(1140,0,__PYX_ERR(0, 1140, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1141 - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * 1048576, - */ - __Pyx_TraceLine(1141,0,__PYX_ERR(0, 1141, __pyx_L31_error)) - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1141, __pyx_L31_error) - if (__pyx_t_17) { - __pyx_t_5 = NULL; - } else { - __pyx_t_5 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1142 - * assert zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * 1048576, - * 32768, - */ - __Pyx_TraceLine(1142,0,__PYX_ERR(0, 1142, __pyx_L31_error)) - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1142, __pyx_L31_error) - if (__pyx_t_17) { - __pyx_t_19 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_19 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1146 - * 32768, - * 131072, - * 0) == 0 # <<<<<<<<<<<<<< - * output = zran.zran_read(&index, buffer, 100) - * assert output == 100, output - */ - __Pyx_TraceLine(1146,0,__PYX_ERR(0, 1146, __pyx_L31_error)) - if (unlikely(!((zran_init((&__pyx_v_index), __pyx_t_5, __pyx_t_19, 0x100000, 0x8000, 0x20000, 0) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1140, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1147 - * 131072, - * 0) == 0 - * output = zran.zran_read(&index, buffer, 100) # <<<<<<<<<<<<<< - * assert output == 100, output - * - */ - __Pyx_TraceLine(1147,0,__PYX_ERR(0, 1147, __pyx_L31_error)) - __pyx_v_output = zran_read((&__pyx_v_index), __pyx_v_buffer, 0x64); - - /* "indexed_gzip/tests/ctest_zran.pyx":1148 - * 0) == 0 - * output = zran.zran_read(&index, buffer, 100) - * assert output == 100, output # <<<<<<<<<<<<<< - * - * pybuf = (buffer)[:100] - */ - __Pyx_TraceLine(1148,0,__PYX_ERR(0, 1148, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_output == 0x64) != 0))) { - __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_v_output); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1148, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __pyx_t_1 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 1148, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1150 - * assert output == 100, output - * - * pybuf = (buffer)[:100] # <<<<<<<<<<<<<< - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) - * - */ - __Pyx_TraceLine(1150,0,__PYX_ERR(0, 1150, __pyx_L31_error)) - __pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, 0x64 - 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1150, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __pyx_t_2; - __Pyx_INCREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_pybuf = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1151 - * - * pybuf = (buffer)[:100] - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) # <<<<<<<<<<<<<< - * - * with open('data.gz.index', 'wb') as pyidxfid: - */ - __Pyx_TraceLine(1151,0,__PYX_ERR(0, 1151, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_all); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_pybuf); - __Pyx_GIVEREF(__pyx_v_pybuf); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_pybuf); - __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_np); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_20, __pyx_n_s_uint8); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_dtype, __pyx_t_21) < 0) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyObject_RichCompare(__pyx_t_21, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __pyx_t_21 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_21)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_21); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_21, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_14); - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1151, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_17)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1151, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1153 - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) - * - * with open('data.gz.index', 'wb') as pyidxfid: # <<<<<<<<<<<<<< - * cidxfid = fdopen(pyidxfid.fileno(), 'wb') - * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - */ - __Pyx_TraceLine(1153,0,__PYX_ERR(0, 1153, __pyx_L31_error)) - /*with:*/ { - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1153, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1153, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1153, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_21 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_21)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_21); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - } - } - __pyx_t_4 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1153, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __pyx_t_4; - __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - /*try:*/ { - __pyx_v_pyidxfid = __pyx_t_14; - __pyx_t_14 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1154 - * - * with open('data.gz.index', 'wb') as pyidxfid: - * cidxfid = fdopen(pyidxfid.fileno(), 'wb') # <<<<<<<<<<<<<< - * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1154,0,__PYX_ERR(0, 1154, __pyx_L41_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyidxfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_14 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1154, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1154, __pyx_L41_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_v_cidxfid = fdopen(__pyx_t_18, ((char const *)"wb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1155 - * with open('data.gz.index', 'wb') as pyidxfid: - * cidxfid = fdopen(pyidxfid.fileno(), 'wb') - * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1155,0,__PYX_ERR(0, 1155, __pyx_L41_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1155, __pyx_L41_error) - if (__pyx_t_17) { - __pyx_t_5 = NULL; - } else { - __pyx_t_5 = __pyx_v_cidxfid; - } - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1155, __pyx_L41_error) - if (__pyx_t_17) { - __pyx_t_19 = ((PyObject *)__pyx_v_pyidxfid); - } else { - __pyx_t_19 = NULL; - } - if (unlikely(!((zran_export_index((&__pyx_v_index), __pyx_t_5, __pyx_t_19) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1155, __pyx_L41_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1153 - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) - * - * with open('data.gz.index', 'wb') as pyidxfid: # <<<<<<<<<<<<<< - * cidxfid = fdopen(pyidxfid.fileno(), 'wb') - * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - */ - } - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - goto __pyx_L46_try_end; - __pyx_L41_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_14, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 1153, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_21 = PyTuple_Pack(3, __pyx_t_14, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1153, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_21, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1153, __pyx_L43_except_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1153, __pyx_L43_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_14, __pyx_t_1, __pyx_t_4); - __pyx_t_14 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 1153, __pyx_L43_except_error) - } - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L42_exception_handled; - } - __pyx_L43_except_error:; - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); - goto __pyx_L31_error; - __pyx_L42_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); - __pyx_L46_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_15) { - __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1153, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_24); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - } - goto __pyx_L40; - } - __pyx_L40:; - } - goto __pyx_L50; - __pyx_L37_error:; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L31_error; - __pyx_L50:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1156 - * cidxfid = fdopen(pyidxfid.fileno(), 'wb') - * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * with open('data.gz', 'rb') as pyfid: - */ - __Pyx_TraceLine(1156,0,__PYX_ERR(0, 1156, __pyx_L31_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1138 - * f.write(data.tostring()) - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, - */ - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_14) < 0) __PYX_ERR(0, 1138, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_21 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_1, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1138, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_21, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1138, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1138, __pyx_L33_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_1, __pyx_t_14); - __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_14 = 0; - __PYX_ERR(0, 1138, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1138, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L54; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L54:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1158 - * zran.zran_free(&index) - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, - */ - __Pyx_TraceLine(1158,0,__PYX_ERR(0, 1158, __pyx_L7_error)) - /*with:*/ { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1158, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_14, __pyx_n_s_exit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1158, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_14, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1158, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_21 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_21)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_21); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1158, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1159 - * - * with open('data.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * assert zran.zran_init(&index, - * NULL if no_fds else cfid, - */ - __Pyx_TraceLine(1159,0,__PYX_ERR(0, 1159, __pyx_L59_error)) - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1159, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1159, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1159, __pyx_L59_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_cfid = fdopen(__pyx_t_18, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1160 - * with open('data.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, - */ - __Pyx_TraceLine(1160,0,__PYX_ERR(0, 1160, __pyx_L59_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1161 - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, - * NULL if no_fds else cfid, # <<<<<<<<<<<<<< - * pyfid if no_fds else NULL, - * 1048576, - */ - __Pyx_TraceLine(1161,0,__PYX_ERR(0, 1161, __pyx_L59_error)) - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1161, __pyx_L59_error) - if (__pyx_t_17) { - __pyx_t_5 = NULL; - } else { - __pyx_t_5 = __pyx_v_cfid; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1162 - * assert zran.zran_init(&index, - * NULL if no_fds else cfid, - * pyfid if no_fds else NULL, # <<<<<<<<<<<<<< - * 1048576, - * 32768, - */ - __Pyx_TraceLine(1162,0,__PYX_ERR(0, 1162, __pyx_L59_error)) - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1162, __pyx_L59_error) - if (__pyx_t_17) { - __pyx_t_19 = ((PyObject *)__pyx_v_pyfid); - } else { - __pyx_t_19 = NULL; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1166 - * 32768, - * 131072, - * 0) == 0 # <<<<<<<<<<<<<< - * - * with open('data.gz.index', 'rb') as pyidxfid: - */ - __Pyx_TraceLine(1166,0,__PYX_ERR(0, 1166, __pyx_L59_error)) - if (unlikely(!((zran_init((&__pyx_v_index), __pyx_t_5, __pyx_t_19, 0x100000, 0x8000, 0x20000, 0) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1160, __pyx_L59_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1168 - * 0) == 0 - * - * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - */ - __Pyx_TraceLine(1168,0,__PYX_ERR(0, 1168, __pyx_L59_error)) - /*with:*/ { - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1168, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_15 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1168, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1168, __pyx_L65_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_21 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_21)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_21); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_14 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1168, __pyx_L65_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_14; - __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_24, &__pyx_t_23, &__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_22); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_pyidxfid, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1169 - * - * with open('data.gz.index', 'rb') as pyidxfid: - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - * assert index.npoints == 0 - */ - __Pyx_TraceLine(1169,0,__PYX_ERR(0, 1169, __pyx_L69_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyidxfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1169, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_14 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1169, __pyx_L69_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1169, __pyx_L69_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cidxfid = fdopen(__pyx_t_18, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1170 - * with open('data.gz.index', 'rb') as pyidxfid: - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 # <<<<<<<<<<<<<< - * assert index.npoints == 0 - * - */ - __Pyx_TraceLine(1170,0,__PYX_ERR(0, 1170, __pyx_L69_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1170, __pyx_L69_error) - if (__pyx_t_17) { - __pyx_t_5 = NULL; - } else { - __pyx_t_5 = __pyx_v_cidxfid; - } - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_no_fds); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 1170, __pyx_L69_error) - if (__pyx_t_17) { - __pyx_t_19 = ((PyObject *)__pyx_v_pyidxfid); - } else { - __pyx_t_19 = NULL; - } - if (unlikely(!((zran_import_index((&__pyx_v_index), __pyx_t_5, __pyx_t_19) == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1170, __pyx_L69_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1168 - * 0) == 0 - * - * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - */ - } - __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - goto __pyx_L74_try_end; - __pyx_L69_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_14) < 0) __PYX_ERR(0, 1168, __pyx_L71_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_21 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1168, __pyx_L71_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_21, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 1168, __pyx_L71_except_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_25); - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1168, __pyx_L71_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_14); - __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_14 = 0; - __PYX_ERR(0, 1168, __pyx_L71_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L70_exception_handled; - } - __pyx_L71_except_error:; - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_23, __pyx_t_22); - goto __pyx_L59_error; - __pyx_L70_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_23, __pyx_t_22); - __pyx_L74_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_15) { - __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1168, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_22); - __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; - } - goto __pyx_L68; - } - __pyx_L68:; - } - goto __pyx_L78; - __pyx_L65_error:; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L59_error; - __pyx_L78:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1171 - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - * assert index.npoints == 0 # <<<<<<<<<<<<<< - * - * assert zran.zran_read(&index, buffer, 100) == 100 - */ - __Pyx_TraceLine(1171,0,__PYX_ERR(0, 1171, __pyx_L59_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_index.npoints == 0) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1171, __pyx_L59_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1173 - * assert index.npoints == 0 - * - * assert zran.zran_read(&index, buffer, 100) == 100 # <<<<<<<<<<<<<< - * pybuf = (buffer)[:100] - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) - */ - __Pyx_TraceLine(1173,0,__PYX_ERR(0, 1173, __pyx_L59_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((zran_read((&__pyx_v_index), __pyx_v_buffer, 0x64) == 0x64) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1173, __pyx_L59_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1174 - * - * assert zran.zran_read(&index, buffer, 100) == 100 - * pybuf = (buffer)[:100] # <<<<<<<<<<<<<< - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1174,0,__PYX_ERR(0, 1174, __pyx_L59_error)) - __pyx_t_14 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, 0x64 - 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1174, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_4 = __pyx_t_14; - __Pyx_INCREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF_SET(__pyx_v_pybuf, ((PyObject*)__pyx_t_4)); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1175 - * assert zran.zran_read(&index, buffer, 100) == 100 - * pybuf = (buffer)[:100] - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1175,0,__PYX_ERR(0, 1175, __pyx_L59_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_21); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_INCREF(__pyx_v_pybuf); - __Pyx_GIVEREF(__pyx_v_pybuf); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_pybuf); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_20) < 0) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_14, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_20, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_20 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_20)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_20); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_20, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1175, __pyx_L59_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1175, __pyx_L59_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1176 - * pybuf = (buffer)[:100] - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1176,0,__PYX_ERR(0, 1176, __pyx_L59_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1158 - * zran.zran_free(&index) - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, - */ - } - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L64_try_end; - __pyx_L59_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1158, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_20 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1158, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_20, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1158, __pyx_L61_except_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1158, __pyx_L61_except_error) - __pyx_t_17 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_17) { - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_1, __pyx_t_2); - __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1158, __pyx_L61_except_error) - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L60_exception_handled; - } - __pyx_L61_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L7_error; - __pyx_L60_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - __pyx_L64_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1158, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - goto __pyx_L58; - } - __pyx_L58:; - } - goto __pyx_L82; - __pyx_L55_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L7_error; - __pyx_L82:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1133 - * buffer = buf.buffer - * - * with tempdir(): # <<<<<<<<<<<<<< - * - * with gzip.open('data.gz', 'wb') as f: - */ - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_4) < 0) __PYX_ERR(0, 1133, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_20 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1133, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_20, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1133, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_17 < 0) __PYX_ERR(0, 1133, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_17 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_4); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 1133, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_6) { - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L86; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L1_error; - __pyx_L86:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1122 - * - * - * def test_export_import_no_points(no_fds): # <<<<<<<<<<<<<< - * """Test exporting and importing an index which does not contain any - * seek points. - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_XDECREF(__pyx_t_21); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_no_points", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_pybuf); - __Pyx_XDECREF(__pyx_v_pyidxfid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1179 - * - * - * def test_export_import_format_v0(): # <<<<<<<<<<<<<< - * """Test index export and import on a version 0 index file. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0[] = "Test index export and import on a version 0 index file. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0 = {"test_export_import_format_v0", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0, METH_NOARGS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_export_import_format_v0 (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_56test_export_import_format_v0(CYTHON_UNUSED PyObject *__pyx_self) { - zran_index_t __pyx_v_index1; - zran_index_t __pyx_v_index2; - int __pyx_v_ret; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_pyfid = NULL; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_pyidxfid = NULL; - FILE *__pyx_v_cidxfid; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - int __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__48) - __Pyx_RefNannySetupContext("test_export_import_format_v0", 0); - __Pyx_TraceCall("test_export_import_format_v0", __pyx_f[0], 1179, 0, __PYX_ERR(0, 1179, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1186 - * cdef int ret - * - * data = np.random.randint(1, 255, 1000000, dtype=np.uint8) # <<<<<<<<<<<<<< - * with tempdir(): - * - */ - __Pyx_TraceLine(1186,0,__PYX_ERR(0, 1186, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__49, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_data = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1187 - * - * data = np.random.randint(1, 255, 1000000, dtype=np.uint8) - * with tempdir(): # <<<<<<<<<<<<<< - * - * with gzip.open('data.gz', 'wb') as f: - */ - __Pyx_TraceLine(1187,0,__PYX_ERR(0, 1187, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1187, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1187, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":1189 - * with tempdir(): - * - * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - __Pyx_TraceLine(1189,0,__PYX_ERR(0, 1189, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_gzip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1189, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1189, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__44, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1189, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1189, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1189, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1189, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1190 - * - * with gzip.open('data.gz', 'wb') as f: - * f.write(data.tostring()) # <<<<<<<<<<<<<< - * - * with open('data.gz', 'rb') as pyfid: - */ - __Pyx_TraceLine(1190,0,__PYX_ERR(0, 1190, __pyx_L17_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1190, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tostring); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1190, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1190, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1190, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1189 - * with tempdir(): - * - * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 1189, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1189, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1189, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1189, __pyx_L19_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_4, __pyx_t_2); - __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1189, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1189, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1192 - * f.write(data.tostring()) - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init( - */ - __Pyx_TraceLine(1192,0,__PYX_ERR(0, 1192, __pyx_L7_error)) - /*with:*/ { - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1192, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1192, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_4; - __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1193 - * - * with open('data.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * assert not zran.zran_init( - * &index1, cfid, NULL, 50000, 32768, 131072, 0) - */ - __Pyx_TraceLine(1193,0,__PYX_ERR(0, 1193, __pyx_L31_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1193, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1193, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1193, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_17, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1194 - * with open('data.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init( # <<<<<<<<<<<<<< - * &index1, cfid, NULL, 50000, 32768, 131072, 0) - * - */ - __Pyx_TraceLine(1194,0,__PYX_ERR(0, 1194, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1195 - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init( - * &index1, cfid, NULL, 50000, 32768, 131072, 0) # <<<<<<<<<<<<<< - * - * assert not zran.zran_build_index(&index1, 0, 0) - */ - __Pyx_TraceLine(1195,0,__PYX_ERR(0, 1195, __pyx_L31_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index1), __pyx_v_cfid, NULL, 0xC350, 0x8000, 0x20000, 0) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1194, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1197 - * &index1, cfid, NULL, 50000, 32768, 131072, 0) - * - * assert not zran.zran_build_index(&index1, 0, 0) # <<<<<<<<<<<<<< - * _write_index_file_v0(&index1, 'data.gz.index') - * - */ - __Pyx_TraceLine(1197,0,__PYX_ERR(0, 1197, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((!(zran_build_index((&__pyx_v_index1), 0, 0) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1197, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1198 - * - * assert not zran.zran_build_index(&index1, 0, 0) - * _write_index_file_v0(&index1, 'data.gz.index') # <<<<<<<<<<<<<< - * - * with open('data.gz', 'rb') as pyfid: - */ - __Pyx_TraceLine(1198,0,__PYX_ERR(0, 1198, __pyx_L31_error)) - __pyx_t_1 = __pyx_f_12indexed_gzip_5tests_10ctest_zran__write_index_file_v0((&__pyx_v_index1), __pyx_kp_s_data_gz_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1198, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1192 - * f.write(data.tostring()) - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init( - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(0, 1192, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1192, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1192, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1192, __pyx_L33_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_4); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 1192, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1192, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L40; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L40:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1200 - * _write_index_file_v0(&index1, 'data.gz.index') - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init( - */ - __Pyx_TraceLine(1200,0,__PYX_ERR(0, 1200, __pyx_L7_error)) - /*with:*/ { - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1200, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1200, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L41_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __Pyx_XDECREF_SET(__pyx_v_pyfid, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1201 - * - * with open('data.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * assert not zran.zran_init( - * &index2, cfid, NULL, 50000, 32768, 131072, 0) - */ - __Pyx_TraceLine(1201,0,__PYX_ERR(0, 1201, __pyx_L45_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1201, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1201, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1201, __pyx_L45_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_17, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1202 - * with open('data.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init( # <<<<<<<<<<<<<< - * &index2, cfid, NULL, 50000, 32768, 131072, 0) - * - */ - __Pyx_TraceLine(1202,0,__PYX_ERR(0, 1202, __pyx_L45_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1203 - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init( - * &index2, cfid, NULL, 50000, 32768, 131072, 0) # <<<<<<<<<<<<<< - * - * with open('data.gz.index', 'rb') as pyidxfid: - */ - __Pyx_TraceLine(1203,0,__PYX_ERR(0, 1203, __pyx_L45_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index2), __pyx_v_cfid, NULL, 0xC350, 0x8000, 0x20000, 0) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1202, __pyx_L45_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1205 - * &index2, cfid, NULL, 50000, 32768, 131072, 0) - * - * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * ret = zran.zran_import_index(&index2, cidxfid, NULL) - */ - __Pyx_TraceLine(1205,0,__PYX_ERR(0, 1205, __pyx_L45_error)) - /*with:*/ { - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1205, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1205, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1205, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1205, __pyx_L51_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_t_4; - __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - /*try:*/ { - __pyx_v_pyidxfid = __pyx_t_2; - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1206 - * - * with open('data.gz.index', 'rb') as pyidxfid: - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * ret = zran.zran_import_index(&index2, cidxfid, NULL) - * assert ret == 0, ret - */ - __Pyx_TraceLine(1206,0,__PYX_ERR(0, 1206, __pyx_L55_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyidxfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1206, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1206, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1206, __pyx_L55_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_cidxfid = fdopen(__pyx_t_17, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1207 - * with open('data.gz.index', 'rb') as pyidxfid: - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * ret = zran.zran_import_index(&index2, cidxfid, NULL) # <<<<<<<<<<<<<< - * assert ret == 0, ret - * - */ - __Pyx_TraceLine(1207,0,__PYX_ERR(0, 1207, __pyx_L55_error)) - __pyx_v_ret = zran_import_index((&__pyx_v_index2), __pyx_v_cidxfid, NULL); - - /* "indexed_gzip/tests/ctest_zran.pyx":1208 - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * ret = zran.zran_import_index(&index2, cidxfid, NULL) - * assert ret == 0, ret # <<<<<<<<<<<<<< - * - * _compare_indexes(&index1, &index2) - */ - __Pyx_TraceLine(1208,0,__PYX_ERR(0, 1208, __pyx_L55_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_ret == 0) != 0))) { - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1208, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1208, __pyx_L55_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); - __pyx_t_2 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 1208, __pyx_L55_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1205 - * &index2, cfid, NULL, 50000, 32768, 131072, 0) - * - * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * ret = zran.zran_import_index(&index2, cidxfid, NULL) - */ - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L60_try_end; - __pyx_L55_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(0, 1205, __pyx_L57_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1205, __pyx_L57_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1205, __pyx_L57_except_error) - __Pyx_GOTREF(__pyx_t_21); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_21); - __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1205, __pyx_L57_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_4); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 1205, __pyx_L57_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L56_exception_handled; - } - __pyx_L57_except_error:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - goto __pyx_L45_error; - __pyx_L56_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_L60_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_14) { - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1205, __pyx_L45_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - } - goto __pyx_L54; - } - __pyx_L54:; - } - goto __pyx_L64; - __pyx_L51_error:; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L45_error; - __pyx_L64:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1200 - * _write_index_file_v0(&index1, 'data.gz.index') - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init( - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L50_try_end; - __pyx_L45_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 1200, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1200, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1200, __pyx_L47_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1200, __pyx_L47_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_2, __pyx_t_1); - __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1200, __pyx_L47_except_error) - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L46_exception_handled; - } - __pyx_L47_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L7_error; - __pyx_L46_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L50_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1200, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L44; - } - __pyx_L44:; - } - goto __pyx_L68; - __pyx_L41_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L68:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1210 - * assert ret == 0, ret - * - * _compare_indexes(&index1, &index2) # <<<<<<<<<<<<<< - * zran.zran_free(&index1) - * zran.zran_free(&index2) - */ - __Pyx_TraceLine(1210,0,__PYX_ERR(0, 1210, __pyx_L7_error)) - __pyx_t_1 = __pyx_f_12indexed_gzip_5tests_10ctest_zran__compare_indexes((&__pyx_v_index1), (&__pyx_v_index2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1210, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1211 - * - * _compare_indexes(&index1, &index2) - * zran.zran_free(&index1) # <<<<<<<<<<<<<< - * zran.zran_free(&index2) - * - */ - __Pyx_TraceLine(1211,0,__PYX_ERR(0, 1211, __pyx_L7_error)) - zran_free((&__pyx_v_index1)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1212 - * _compare_indexes(&index1, &index2) - * zran.zran_free(&index1) - * zran.zran_free(&index2) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1212,0,__PYX_ERR(0, 1212, __pyx_L7_error)) - zran_free((&__pyx_v_index2)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1187 - * - * data = np.random.randint(1, 255, 1000000, dtype=np.uint8) - * with tempdir(): # <<<<<<<<<<<<<< - * - * with gzip.open('data.gz', 'wb') as f: - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(0, 1187, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1187, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1187, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1187, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_2, __pyx_t_4); - __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 1187, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_5) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1187, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L72; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L1_error; - __pyx_L72:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1179 - * - * - * def test_export_import_format_v0(): # <<<<<<<<<<<<<< - * """Test index export and import on a version 0 index file. """ - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_export_import_format_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_pyidxfid); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1215 - * - * - * cdef _write_index_file_v0(zran.zran_index_t *index, dest): # <<<<<<<<<<<<<< - * """Write the given index out to a file, index file version 0 format. """ - * - */ - -static PyObject *__pyx_f_12indexed_gzip_5tests_10ctest_zran__write_index_file_v0(zran_index_t *__pyx_v_index, PyObject *__pyx_v_dest) { - zran_point_t *__pyx_v_point; - PyObject *__pyx_v_f = NULL; - long __pyx_v_i; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - uint32_t __pyx_t_9; - uint32_t __pyx_t_10; - long __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - int __pyx_t_14; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_write_index_file_v0", 0); - __Pyx_TraceCall("_write_index_file_v0", __pyx_f[0], 1215, 0, __PYX_ERR(0, 1215, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1220 - * cdef zran.zran_point_t *point - * - * with open(dest, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(b'GZIDX\0\0') - * f.write(((&index.compressed_size))[:8]) - */ - __Pyx_TraceLine(1220,0,__PYX_ERR(0, 1220, __pyx_L1_error)) - /*with:*/ { - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_dest); - __Pyx_GIVEREF(__pyx_v_dest); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dest); - __Pyx_INCREF(__pyx_n_s_wb); - __Pyx_GIVEREF(__pyx_n_s_wb); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_wb); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_exit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_2, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1220, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1220, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - __pyx_v_f = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1221 - * - * with open(dest, 'wb') as f: - * f.write(b'GZIDX\0\0') # <<<<<<<<<<<<<< - * f.write(((&index.compressed_size))[:8]) - * f.write(((&index.uncompressed_size))[:8]) - */ - __Pyx_TraceLine(1221,0,__PYX_ERR(0, 1221, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1221, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_kp_b_GZIDX) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b_GZIDX); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1221, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1222 - * with open(dest, 'wb') as f: - * f.write(b'GZIDX\0\0') - * f.write(((&index.compressed_size))[:8]) # <<<<<<<<<<<<<< - * f.write(((&index.uncompressed_size))[:8]) - * f.write(((&index.spacing))[:4]) - */ - __Pyx_TraceLine(1222,0,__PYX_ERR(0, 1222, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1222, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->compressed_size)) + 0, 8 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1222, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1222, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1223 - * f.write(b'GZIDX\0\0') - * f.write(((&index.compressed_size))[:8]) - * f.write(((&index.uncompressed_size))[:8]) # <<<<<<<<<<<<<< - * f.write(((&index.spacing))[:4]) - * f.write(((&index.window_size))[:4]) - */ - __Pyx_TraceLine(1223,0,__PYX_ERR(0, 1223, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1223, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->uncompressed_size)) + 0, 8 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1223, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1223, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1224 - * f.write(((&index.compressed_size))[:8]) - * f.write(((&index.uncompressed_size))[:8]) - * f.write(((&index.spacing))[:4]) # <<<<<<<<<<<<<< - * f.write(((&index.window_size))[:4]) - * f.write(((&index.npoints))[:4]) - */ - __Pyx_TraceLine(1224,0,__PYX_ERR(0, 1224, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1224, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->spacing)) + 0, 4 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1224, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1224, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1225 - * f.write(((&index.uncompressed_size))[:8]) - * f.write(((&index.spacing))[:4]) - * f.write(((&index.window_size))[:4]) # <<<<<<<<<<<<<< - * f.write(((&index.npoints))[:4]) - * - */ - __Pyx_TraceLine(1225,0,__PYX_ERR(0, 1225, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1225, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->window_size)) + 0, 4 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1225, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1225, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1226 - * f.write(((&index.spacing))[:4]) - * f.write(((&index.window_size))[:4]) - * f.write(((&index.npoints))[:4]) # <<<<<<<<<<<<<< - * - * for i in range(index.npoints): - */ - __Pyx_TraceLine(1226,0,__PYX_ERR(0, 1226, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1226, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_index->npoints)) + 0, 4 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1226, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1226, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1228 - * f.write(((&index.npoints))[:4]) - * - * for i in range(index.npoints): # <<<<<<<<<<<<<< - * point = &index.list[i] - * f.write(((&point.cmp_offset))[:8]) - */ - __Pyx_TraceLine(1228,0,__PYX_ERR(0, 1228, __pyx_L7_error)) - __pyx_t_9 = __pyx_v_index->npoints; - __pyx_t_10 = __pyx_t_9; - for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i = __pyx_t_11; - - /* "indexed_gzip/tests/ctest_zran.pyx":1229 - * - * for i in range(index.npoints): - * point = &index.list[i] # <<<<<<<<<<<<<< - * f.write(((&point.cmp_offset))[:8]) - * f.write(((&point.uncmp_offset))[:8]) - */ - __Pyx_TraceLine(1229,0,__PYX_ERR(0, 1229, __pyx_L7_error)) - __pyx_v_point = (&(__pyx_v_index->list[__pyx_v_i])); - - /* "indexed_gzip/tests/ctest_zran.pyx":1230 - * for i in range(index.npoints): - * point = &index.list[i] - * f.write(((&point.cmp_offset))[:8]) # <<<<<<<<<<<<<< - * f.write(((&point.uncmp_offset))[:8]) - * f.write(((&point.bits))[:1]) - */ - __Pyx_TraceLine(1230,0,__PYX_ERR(0, 1230, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1230, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_point->cmp_offset)) + 0, 8 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1230, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1230, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1231 - * point = &index.list[i] - * f.write(((&point.cmp_offset))[:8]) - * f.write(((&point.uncmp_offset))[:8]) # <<<<<<<<<<<<<< - * f.write(((&point.bits))[:1]) - * - */ - __Pyx_TraceLine(1231,0,__PYX_ERR(0, 1231, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1231, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_point->uncmp_offset)) + 0, 8 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1231, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1231, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1232 - * f.write(((&point.cmp_offset))[:8]) - * f.write(((&point.uncmp_offset))[:8]) - * f.write(((&point.bits))[:1]) # <<<<<<<<<<<<<< - * - * for i in range(1, index.npoints): - */ - __Pyx_TraceLine(1232,0,__PYX_ERR(0, 1232, __pyx_L7_error)) - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1232, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)(&__pyx_v_point->bits)) + 0, 1 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1232, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1232, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1234 - * f.write(((&point.bits))[:1]) - * - * for i in range(1, index.npoints): # <<<<<<<<<<<<<< - * point = &index.list[i] - * data = point.data[:index.window_size] - */ - __Pyx_TraceLine(1234,0,__PYX_ERR(0, 1234, __pyx_L7_error)) - __pyx_t_9 = __pyx_v_index->npoints; - __pyx_t_10 = __pyx_t_9; - for (__pyx_t_11 = 1; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) { - __pyx_v_i = __pyx_t_11; - - /* "indexed_gzip/tests/ctest_zran.pyx":1235 - * - * for i in range(1, index.npoints): - * point = &index.list[i] # <<<<<<<<<<<<<< - * data = point.data[:index.window_size] - * f.write(data) - */ - __Pyx_TraceLine(1235,0,__PYX_ERR(0, 1235, __pyx_L7_error)) - __pyx_v_point = (&(__pyx_v_index->list[__pyx_v_i])); - - /* "indexed_gzip/tests/ctest_zran.pyx":1236 - * for i in range(1, index.npoints): - * point = &index.list[i] - * data = point.data[:index.window_size] # <<<<<<<<<<<<<< - * f.write(data) - * - */ - __Pyx_TraceLine(1236,0,__PYX_ERR(0, 1236, __pyx_L7_error)) - __pyx_t_4 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_point->data) + 0, __pyx_v_index->window_size - 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __pyx_t_4; - __Pyx_INCREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF_SET(__pyx_v_data, ((PyObject*)__pyx_t_2)); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1237 - * point = &index.list[i] - * data = point.data[:index.window_size] - * f.write(data) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1237,0,__PYX_ERR(0, 1237, __pyx_L7_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1237, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_data) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_data); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1220 - * cdef zran.zran_point_t *point - * - * with open(dest, 'wb') as f: # <<<<<<<<<<<<<< - * f.write(b'GZIDX\0\0') - * f.write(((&index.compressed_size))[:8]) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran._write_index_file_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_4, &__pyx_t_1) < 0) __PYX_ERR(0, 1220, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1220, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1220, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (__pyx_t_13 < 0) __PYX_ERR(0, 1220, __pyx_L9_except_error) - __pyx_t_14 = ((!(__pyx_t_13 != 0)) != 0); - if (__pyx_t_14) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_4, __pyx_t_1); - __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; - __PYX_ERR(0, 1220, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_3) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L20; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L1_error; - __pyx_L20:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1215 - * - * - * cdef _write_index_file_v0(zran.zran_index_t *index, dest): # <<<<<<<<<<<<<< - * """Write the given index out to a file, index file version 0 format. """ - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran._write_index_file_v0", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1240 - * - * - * def test_crc_validation(concat): # <<<<<<<<<<<<<< - * """Basic test of CRC validation. """ - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation(PyObject *__pyx_self, PyObject *__pyx_v_concat); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation[] = "Basic test of CRC validation. "; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation = {"test_crc_validation", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation, METH_O, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation(PyObject *__pyx_self, PyObject *__pyx_v_concat) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_crc_validation (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation(__pyx_self, ((PyObject *)__pyx_v_concat)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1256 - * f = [None] # to prevent gc - * - * def _zran_init(flags): # <<<<<<<<<<<<<< - * f[0] = BytesIO(cmpdata) - * assert not zran.zran_init(&index, - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init(PyObject *__pyx_self, PyObject *__pyx_v_flags); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init = {"_zran_init", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init(PyObject *__pyx_self, PyObject *__pyx_v_flags) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_zran_init (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(__pyx_self, ((PyObject *)__pyx_v_flags)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(PyObject *__pyx_self, PyObject *__pyx_v_flags) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_cur_scope; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_outer_scope; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - uint16_t __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_zran_init", 0); - __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *) __Pyx_CyFunction_GetClosure(__pyx_self); - __pyx_cur_scope = __pyx_outer_scope; - __Pyx_TraceCall("_zran_init", __pyx_f[0], 1256, 0, __PYX_ERR(0, 1256, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1257 - * - * def _zran_init(flags): - * f[0] = BytesIO(cmpdata) # <<<<<<<<<<<<<< - * assert not zran.zran_init(&index, - * NULL, - */ - __Pyx_TraceLine(1257,0,__PYX_ERR(0, 1257, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely(!__pyx_cur_scope->__pyx_v_cmpdata)) { __Pyx_RaiseClosureNameError("cmpdata"); __PYX_ERR(0, 1257, __pyx_L1_error) } - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_cur_scope->__pyx_v_cmpdata) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_cur_scope->__pyx_v_cmpdata); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_cur_scope->__pyx_v_f)) { __Pyx_RaiseClosureNameError("f"); __PYX_ERR(0, 1257, __pyx_L1_error) } - if (unlikely(__pyx_cur_scope->__pyx_v_f == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1257, __pyx_L1_error) - } - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_f, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 1257, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1258 - * def _zran_init(flags): - * f[0] = BytesIO(cmpdata) - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL, - * f[0], - */ - __Pyx_TraceLine(1258,0,__PYX_ERR(0, 1258, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1260 - * assert not zran.zran_init(&index, - * NULL, - * f[0], # <<<<<<<<<<<<<< - * 1048576, - * 32768, - */ - __Pyx_TraceLine(1260,0,__PYX_ERR(0, 1260, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v_f)) { __Pyx_RaiseClosureNameError("f"); __PYX_ERR(0, 1260, __pyx_L1_error) } - if (unlikely(__pyx_cur_scope->__pyx_v_f == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1260, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_cur_scope->__pyx_v_f, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1260, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - /* "indexed_gzip/tests/ctest_zran.pyx":1264 - * 32768, - * 131072, - * flags) # <<<<<<<<<<<<<< - * - * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): - */ - __Pyx_TraceLine(1264,0,__PYX_ERR(0, 1264, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_As_uint16_t(__pyx_v_flags); if (unlikely((__pyx_t_4 == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1264, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1258 - * def _zran_init(flags): - * f[0] = BytesIO(cmpdata) - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL, - * f[0], - */ - __Pyx_TraceLine(1258,0,__PYX_ERR(0, 1258, __pyx_L1_error)) - if (unlikely(!((!(zran_init((&__pyx_cur_scope->__pyx_v_index), NULL, ((PyObject *)__pyx_t_1), 0x100000, 0x8000, 0x20000, __pyx_t_4) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1258, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1256 - * f = [None] # to prevent gc - * - * def _zran_init(flags): # <<<<<<<<<<<<<< - * f[0] = BytesIO(cmpdata) - * assert not zran.zran_init(&index, - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation._zran_init", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1266 - * flags) - * - * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): # <<<<<<<<<<<<<< - * if shouldpass: - * expect_build = zran.ZRAN_BUILD_INDEX_OK - */ - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_66__defaults__(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__defaults__", 0); - __Pyx_TraceCall("__defaults__", __pyx_f[0], 1266, 0, __PYX_ERR(0, 1266, __pyx_L1_error)); - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_flags); - __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_flags); - PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_flags); - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None); - __pyx_t_1 = 0; - __pyx_r = __pyx_t_2; - __pyx_t_2 = 0; - goto __pyx_L0; - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests = {"_run_crc_tests", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests, METH_VARARGS|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { - PyObject *__pyx_v_shouldpass = 0; - PyObject *__pyx_v_flags = 0; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_run_crc_tests (wrapper)", 0); - { - static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_shouldpass,&__pyx_n_s_flags,0}; - PyObject* values[2] = {0,0}; - __pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self); - values[1] = __pyx_dynamic_args->__pyx_arg_flags; - if (unlikely(__pyx_kwds)) { - Py_ssize_t kw_args; - const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); - switch (pos_args) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = PyDict_Size(__pyx_kwds); - switch (pos_args) { - case 0: - if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_shouldpass)) != 0)) kw_args--; - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (kw_args > 0) { - PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flags); - if (value) { values[1] = value; kw_args--; } - } - } - if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_run_crc_tests") < 0)) __PYX_ERR(0, 1266, __pyx_L3_error) - } - } else { - switch (PyTuple_GET_SIZE(__pyx_args)) { - case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_shouldpass = values[0]; - __pyx_v_flags = values[1]; - } - goto __pyx_L4_argument_unpacking_done; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_run_crc_tests", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1266, __pyx_L3_error) - __pyx_L3_error:; - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation._run_crc_tests", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(__pyx_self, __pyx_v_shouldpass, __pyx_v_flags); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(PyObject *__pyx_self, PyObject *__pyx_v_shouldpass, PyObject *__pyx_v_flags) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_cur_scope; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_outer_scope; - int __pyx_v_expect_build; - int __pyx_v_expect_seek; - PyObject *__pyx_v_expect_read = NULL; - int64_t __pyx_v_ret; - PyObject *__pyx_v_pybuf = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int64_t __pyx_t_4; - uint64_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_ssize_t __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_run_crc_tests", 0); - __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *) __Pyx_CyFunction_GetClosure(__pyx_self); - __pyx_cur_scope = __pyx_outer_scope; - __Pyx_TraceCall("_run_crc_tests", __pyx_f[0], 1266, 0, __PYX_ERR(0, 1266, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1267 - * - * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): - * if shouldpass: # <<<<<<<<<<<<<< - * expect_build = zran.ZRAN_BUILD_INDEX_OK - * expect_seek = zran.ZRAN_SEEK_OK - */ - __Pyx_TraceLine(1267,0,__PYX_ERR(0, 1267, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_shouldpass); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1267, __pyx_L1_error) - if (__pyx_t_1) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1268 - * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): - * if shouldpass: - * expect_build = zran.ZRAN_BUILD_INDEX_OK # <<<<<<<<<<<<<< - * expect_seek = zran.ZRAN_SEEK_OK - * expect_read = dsize - */ - __Pyx_TraceLine(1268,0,__PYX_ERR(0, 1268, __pyx_L1_error)) - __pyx_v_expect_build = ZRAN_BUILD_INDEX_OK; - - /* "indexed_gzip/tests/ctest_zran.pyx":1269 - * if shouldpass: - * expect_build = zran.ZRAN_BUILD_INDEX_OK - * expect_seek = zran.ZRAN_SEEK_OK # <<<<<<<<<<<<<< - * expect_read = dsize - * else: - */ - __Pyx_TraceLine(1269,0,__PYX_ERR(0, 1269, __pyx_L1_error)) - __pyx_v_expect_seek = ZRAN_SEEK_OK; - - /* "indexed_gzip/tests/ctest_zran.pyx":1270 - * expect_build = zran.ZRAN_BUILD_INDEX_OK - * expect_seek = zran.ZRAN_SEEK_OK - * expect_read = dsize # <<<<<<<<<<<<<< - * else: - * expect_build = zran.ZRAN_BUILD_INDEX_CRC_ERROR - */ - __Pyx_TraceLine(1270,0,__PYX_ERR(0, 1270, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v_dsize)) { __Pyx_RaiseClosureNameError("dsize"); __PYX_ERR(0, 1270, __pyx_L1_error) } - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_dsize); - __pyx_v_expect_read = __pyx_cur_scope->__pyx_v_dsize; - - /* "indexed_gzip/tests/ctest_zran.pyx":1267 - * - * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): - * if shouldpass: # <<<<<<<<<<<<<< - * expect_build = zran.ZRAN_BUILD_INDEX_OK - * expect_seek = zran.ZRAN_SEEK_OK - */ - goto __pyx_L3; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1272 - * expect_read = dsize - * else: - * expect_build = zran.ZRAN_BUILD_INDEX_CRC_ERROR # <<<<<<<<<<<<<< - * expect_seek = zran.ZRAN_SEEK_CRC_ERROR - * expect_read = zran.ZRAN_READ_CRC_ERROR - */ - __Pyx_TraceLine(1272,0,__PYX_ERR(0, 1272, __pyx_L1_error)) - /*else*/ { - __pyx_v_expect_build = ZRAN_BUILD_INDEX_CRC_ERROR; - - /* "indexed_gzip/tests/ctest_zran.pyx":1273 - * else: - * expect_build = zran.ZRAN_BUILD_INDEX_CRC_ERROR - * expect_seek = zran.ZRAN_SEEK_CRC_ERROR # <<<<<<<<<<<<<< - * expect_read = zran.ZRAN_READ_CRC_ERROR - * - */ - __Pyx_TraceLine(1273,0,__PYX_ERR(0, 1273, __pyx_L1_error)) - __pyx_v_expect_seek = ZRAN_SEEK_CRC_ERROR; - - /* "indexed_gzip/tests/ctest_zran.pyx":1274 - * expect_build = zran.ZRAN_BUILD_INDEX_CRC_ERROR - * expect_seek = zran.ZRAN_SEEK_CRC_ERROR - * expect_read = zran.ZRAN_READ_CRC_ERROR # <<<<<<<<<<<<<< - * - * # CRC validation should occur on the first - */ - __Pyx_TraceLine(1274,0,__PYX_ERR(0, 1274, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyInt_From_int(ZRAN_READ_CRC_ERROR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_v_expect_read = __pyx_t_2; - __pyx_t_2 = 0; - } - __pyx_L3:; - - /* "indexed_gzip/tests/ctest_zran.pyx":1290 - * # and on the constants used in - * # _zran_estimate_offset - * _zran_init(flags) # <<<<<<<<<<<<<< - * ret = zran.zran_build_index(&index, 0, 0) - * assert ret == expect_build, ret - */ - __Pyx_TraceLine(1290,0,__PYX_ERR(0, 1290, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v__zran_init)) { __Pyx_RaiseClosureNameError("_zran_init"); __PYX_ERR(0, 1290, __pyx_L1_error) } - __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(__pyx_cur_scope->__pyx_v__zran_init, __pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1290, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1291 - * # _zran_estimate_offset - * _zran_init(flags) - * ret = zran.zran_build_index(&index, 0, 0) # <<<<<<<<<<<<<< - * assert ret == expect_build, ret - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1291,0,__PYX_ERR(0, 1291, __pyx_L1_error)) - __pyx_v_ret = zran_build_index((&__pyx_cur_scope->__pyx_v_index), 0, 0); - - /* "indexed_gzip/tests/ctest_zran.pyx":1292 - * _zran_init(flags) - * ret = zran.zran_build_index(&index, 0, 0) - * assert ret == expect_build, ret # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1292,0,__PYX_ERR(0, 1292, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_ret == __pyx_v_expect_build) != 0))) { - __pyx_t_2 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1292, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __pyx_t_2 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 1292, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1293 - * ret = zran.zran_build_index(&index, 0, 0) - * assert ret == expect_build, ret - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * # error if we try to seek - */ - __Pyx_TraceLine(1293,0,__PYX_ERR(0, 1293, __pyx_L1_error)) - zran_free((&__pyx_cur_scope->__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1296 - * - * # error if we try to seek - * _zran_init(flags) # <<<<<<<<<<<<<< - * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) - * assert ret == expect_seek, ret - */ - __Pyx_TraceLine(1296,0,__PYX_ERR(0, 1296, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v__zran_init)) { __Pyx_RaiseClosureNameError("_zran_init"); __PYX_ERR(0, 1296, __pyx_L1_error) } - __pyx_t_3 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(__pyx_cur_scope->__pyx_v__zran_init, __pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1296, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1297 - * # error if we try to seek - * _zran_init(flags) - * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) # <<<<<<<<<<<<<< - * assert ret == expect_seek, ret - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1297,0,__PYX_ERR(0, 1297, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v_dsize)) { __Pyx_RaiseClosureNameError("dsize"); __PYX_ERR(0, 1297, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_cur_scope->__pyx_v_dsize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1297, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyInt_As_int64_t(__pyx_t_3); if (unlikely((__pyx_t_4 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1297, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_ret = zran_seek((&__pyx_cur_scope->__pyx_v_index), __pyx_t_4, SEEK_SET, NULL); - - /* "indexed_gzip/tests/ctest_zran.pyx":1298 - * _zran_init(flags) - * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) - * assert ret == expect_seek, ret # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1298,0,__PYX_ERR(0, 1298, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_ret == __pyx_v_expect_seek) != 0))) { - __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1298, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); - __pyx_t_3 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 1298, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1299 - * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) - * assert ret == expect_seek, ret - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * # error if we try to read - */ - __Pyx_TraceLine(1299,0,__PYX_ERR(0, 1299, __pyx_L1_error)) - zran_free((&__pyx_cur_scope->__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1302 - * - * # error if we try to read - * _zran_init(flags) # <<<<<<<<<<<<<< - * ret = zran.zran_read(&index, buffer, dsize) - * assert ret == expect_read, ret - */ - __Pyx_TraceLine(1302,0,__PYX_ERR(0, 1302, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v__zran_init)) { __Pyx_RaiseClosureNameError("_zran_init"); __PYX_ERR(0, 1302, __pyx_L1_error) } - __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation__zran_init(__pyx_cur_scope->__pyx_v__zran_init, __pyx_v_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1302, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1303 - * # error if we try to read - * _zran_init(flags) - * ret = zran.zran_read(&index, buffer, dsize) # <<<<<<<<<<<<<< - * assert ret == expect_read, ret - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1303,0,__PYX_ERR(0, 1303, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v_dsize)) { __Pyx_RaiseClosureNameError("dsize"); __PYX_ERR(0, 1303, __pyx_L1_error) } - __pyx_t_5 = __Pyx_PyInt_As_uint64_t(__pyx_cur_scope->__pyx_v_dsize); if (unlikely((__pyx_t_5 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1303, __pyx_L1_error) - __pyx_v_ret = zran_read((&__pyx_cur_scope->__pyx_v_index), __pyx_cur_scope->__pyx_v_buffer, __pyx_t_5); - - /* "indexed_gzip/tests/ctest_zran.pyx":1304 - * _zran_init(flags) - * ret = zran.zran_read(&index, buffer, dsize) - * assert ret == expect_read, ret # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1304,0,__PYX_ERR(0, 1304, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_2 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_v_expect_read, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1304, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) { - __pyx_t_3 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1304, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); - __pyx_t_3 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 1304, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1305 - * ret = zran.zran_read(&index, buffer, dsize) - * assert ret == expect_read, ret - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * if shouldpass: - */ - __Pyx_TraceLine(1305,0,__PYX_ERR(0, 1305, __pyx_L1_error)) - zran_free((&__pyx_cur_scope->__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1307 - * zran.zran_free(&index) - * - * if shouldpass: # <<<<<<<<<<<<<< - * pybuf = (buffer)[:dsize] - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) - */ - __Pyx_TraceLine(1307,0,__PYX_ERR(0, 1307, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_shouldpass); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1307, __pyx_L1_error) - if (__pyx_t_1) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1308 - * - * if shouldpass: - * pybuf = (buffer)[:dsize] # <<<<<<<<<<<<<< - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) - * - */ - __Pyx_TraceLine(1308,0,__PYX_ERR(0, 1308, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v_dsize)) { __Pyx_RaiseClosureNameError("dsize"); __PYX_ERR(0, 1308, __pyx_L1_error) } - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_dsize); - __pyx_t_2 = __pyx_cur_scope->__pyx_v_dsize; - __pyx_t_1 = (__pyx_t_2 == Py_None); - if (__pyx_t_1) { - __pyx_t_6 = PY_SSIZE_T_MAX; - } else { - __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1308, __pyx_L1_error) - __pyx_t_6 = __pyx_t_7; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_cur_scope->__pyx_v_buffer) + 0, __pyx_t_6 - 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1308, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_t_2; - __Pyx_INCREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_pybuf = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1309 - * if shouldpass: - * pybuf = (buffer)[:dsize] - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) # <<<<<<<<<<<<<< - * - * def wrap(val): - */ - __Pyx_TraceLine(1309,0,__PYX_ERR(0, 1309, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_all); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_v_pybuf); - __Pyx_GIVEREF(__pyx_v_pybuf); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_pybuf); - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_uint32); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_dtype, __pyx_t_12) < 0) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_cur_scope->__pyx_v_data)) { __Pyx_RaiseClosureNameError("data"); __PYX_ERR(0, 1309, __pyx_L1_error) } - __pyx_t_10 = PyObject_RichCompare(__pyx_t_12, __pyx_cur_scope->__pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - } - } - __pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_12, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 1309, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1309, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1307 - * zran.zran_free(&index) - * - * if shouldpass: # <<<<<<<<<<<<<< - * pybuf = (buffer)[:dsize] - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1266 - * flags) - * - * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): # <<<<<<<<<<<<<< - * if shouldpass: - * expect_build = zran.ZRAN_BUILD_INDEX_OK - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation._run_crc_tests", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_expect_read); - __Pyx_XDECREF(__pyx_v_pybuf); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1311 - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) - * - * def wrap(val): # <<<<<<<<<<<<<< - * return val % 255 - * - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap(PyObject *__pyx_self, PyObject *__pyx_v_val); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap = {"wrap", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap(PyObject *__pyx_self, PyObject *__pyx_v_val) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("wrap (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_self, ((PyObject *)__pyx_v_val)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("wrap", 0); - __Pyx_TraceCall("wrap", __pyx_f[0], 1311, 0, __PYX_ERR(0, 1311, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1312 - * - * def wrap(val): - * return val % 255 # <<<<<<<<<<<<<< - * - * # data/crc is good, all should be well - */ - __Pyx_TraceLine(1312,0,__PYX_ERR(0, 1312, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_RemainderObjC(__pyx_v_val, __pyx_int_255, 0xFF, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1312, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1311 - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) - * - * def wrap(val): # <<<<<<<<<<<<<< - * return val % 255 - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1240 - * - * - * def test_crc_validation(concat): # <<<<<<<<<<<<<< - * """Basic test of CRC validation. """ - * - */ - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_58test_crc_validation(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_cur_scope; - PyObject *__pyx_v_strmoffs = NULL; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; - PyObject *__pyx_v__run_crc_tests = 0; - PyObject *__pyx_v_wrap = 0; - PyObject *__pyx_v_off = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *(*__pyx_t_7)(PyObject *); - void *__pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; - PyObject *(*__pyx_t_11)(PyObject *); - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__50) - __Pyx_RefNannySetupContext("test_crc_validation", 0); - __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 1240, __pyx_L1_error) - } else { - __Pyx_GOTREF(__pyx_cur_scope); - } - __Pyx_TraceCall("test_crc_validation", __pyx_f[0], 1240, 0, __PYX_ERR(0, 1240, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1249 - * # use uint32 so there are lots of zeros, - * # and so there is something to compress - * dsize = 1048576 * 10 # <<<<<<<<<<<<<< - * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) - */ - __Pyx_TraceLine(1249,0,__PYX_ERR(0, 1249, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_10485760); - __Pyx_GIVEREF(__pyx_int_10485760); - __pyx_cur_scope->__pyx_v_dsize = __pyx_int_10485760; - - /* "indexed_gzip/tests/ctest_zran.pyx":1250 - * # and so there is something to compress - * dsize = 1048576 * 10 - * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) # <<<<<<<<<<<<<< - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) - * buf = ReadBuffer(dsize) - */ - __Pyx_TraceLine(1250,0,__PYX_ERR(0, 1250, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_FloorDivideObjC(__pyx_cur_scope->__pyx_v_dsize, __pyx_int_4, 4, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); - __Pyx_INCREF(__pyx_int_255); - __Pyx_GIVEREF(__pyx_int_255); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_255); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1251 - * dsize = 1048576 * 10 - * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) # <<<<<<<<<<<<<< - * buf = ReadBuffer(dsize) - * buffer = buf.buffer - */ - __Pyx_TraceLine(1251,0,__PYX_ERR(0, 1251, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_compress_inmem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_6 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_6 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_v_concat}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_v_concat}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_4 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_t_3); - __Pyx_INCREF(__pyx_v_concat); - __Pyx_GIVEREF(__pyx_v_concat); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_concat); - __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { - PyObject* sequence = __pyx_t_5; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1251, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_2 = PyList_GET_ITEM(sequence, 0); - __pyx_t_4 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - #else - __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; - index = 0; __pyx_t_2 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; - __Pyx_GOTREF(__pyx_t_2); - index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) __PYX_ERR(0, 1251, __pyx_L1_error) - __pyx_t_7 = NULL; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L4_unpacking_done; - __pyx_L3_unpacking_failed:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1251, __pyx_L1_error) - __pyx_L4_unpacking_done:; - } - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_cmpdata = __pyx_t_2; - __pyx_t_2 = 0; - __pyx_v_strmoffs = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1252 - * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) - * buf = ReadBuffer(dsize) # <<<<<<<<<<<<<< - * buffer = buf.buffer - * f = [None] # to prevent gc - */ - __Pyx_TraceLine(1252,0,__PYX_ERR(0, 1252, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_cur_scope->__pyx_v_dsize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1253 - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) - * buf = ReadBuffer(dsize) - * buffer = buf.buffer # <<<<<<<<<<<<<< - * f = [None] # to prevent gc - * - */ - __Pyx_TraceLine(1253,0,__PYX_ERR(0, 1253, __pyx_L1_error)) - __pyx_t_8 = __pyx_v_buf->buffer; - __pyx_cur_scope->__pyx_v_buffer = __pyx_t_8; - - /* "indexed_gzip/tests/ctest_zran.pyx":1254 - * buf = ReadBuffer(dsize) - * buffer = buf.buffer - * f = [None] # to prevent gc # <<<<<<<<<<<<<< - * - * def _zran_init(flags): - */ - __Pyx_TraceLine(1254,0,__PYX_ERR(0, 1254, __pyx_L1_error)) - __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - PyList_SET_ITEM(__pyx_t_5, 0, Py_None); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_f = ((PyObject*)__pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1256 - * f = [None] # to prevent gc - * - * def _zran_init(flags): # <<<<<<<<<<<<<< - * f[0] = BytesIO(cmpdata) - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(1256,0,__PYX_ERR(0, 1256, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_1_zran_init, 0, __pyx_n_s_test_crc_validation_locals__zran, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v__zran_init = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1266 - * flags) - * - * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): # <<<<<<<<<<<<<< - * if shouldpass: - * expect_build = zran.ZRAN_BUILD_INDEX_OK - */ - __Pyx_TraceLine(1266,0,__PYX_ERR(0, 1266, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_3_run_crc_tests, 0, __pyx_n_s_test_crc_validation_locals__run, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (!__Pyx_CyFunction_InitDefaults(__pyx_t_5, sizeof(__pyx_defaults), 1)) __PYX_ERR(0, 1266, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyInt_From_int(ZRAN_AUTO_BUILD); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_5)->__pyx_arg_flags = __pyx_t_4; - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_5, __pyx_pf_12indexed_gzip_5tests_10ctest_zran_66__defaults__); - __pyx_v__run_crc_tests = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1311 - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) - * - * def wrap(val): # <<<<<<<<<<<<<< - * return val % 255 - * - */ - __Pyx_TraceLine(1311,0,__PYX_ERR(0, 1311, __pyx_L1_error)) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_5wrap, 0, __pyx_n_s_test_crc_validation_locals_wrap, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1311, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_wrap = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1315 - * - * # data/crc is good, all should be well - * _run_crc_tests(True) # <<<<<<<<<<<<<< - * - * # corrupt the size, we should get an error - */ - __Pyx_TraceLine(1315,0,__PYX_ERR(0, 1315, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v__run_crc_tests, __pyx_tuple__57, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1318 - * - * # corrupt the size, we should get an error - * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size # <<<<<<<<<<<<<< - * _run_crc_tests(False) - * - */ - __Pyx_TraceLine(1318,0,__PYX_ERR(0, 1318, __pyx_L1_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1318, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1318, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1319 - * # corrupt the size, we should get an error - * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size - * _run_crc_tests(False) # <<<<<<<<<<<<<< - * - * # corrupt the crc, we should get an error - */ - __Pyx_TraceLine(1319,0,__PYX_ERR(0, 1319, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v__run_crc_tests, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1322 - * - * # corrupt the crc, we should get an error - * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value # <<<<<<<<<<<<<< - * cmpdata[-5] = wrap(cmpdata[-5] + 1) # corrupt crc - * _run_crc_tests(False) - */ - __Pyx_TraceLine(1322,0,__PYX_ERR(0, 1322, __pyx_L1_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1322, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1322, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1323 - * # corrupt the crc, we should get an error - * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value - * cmpdata[-5] = wrap(cmpdata[-5] + 1) # corrupt crc # <<<<<<<<<<<<<< - * _run_crc_tests(False) - * - */ - __Pyx_TraceLine(1323,0,__PYX_ERR(0, 1323, __pyx_L1_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1323, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1323, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1324 - * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value - * cmpdata[-5] = wrap(cmpdata[-5] + 1) # corrupt crc - * _run_crc_tests(False) # <<<<<<<<<<<<<< - * - * # Corrupt a different stream, if we have more than one - */ - __Pyx_TraceLine(1324,0,__PYX_ERR(0, 1324, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_v__run_crc_tests, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1324, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1327 - * - * # Corrupt a different stream, if we have more than one - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value # <<<<<<<<<<<<<< - * if len(strmoffs) > 1: - * for off in strmoffs[1:]: - */ - __Pyx_TraceLine(1327,0,__PYX_ERR(0, 1327, __pyx_L1_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1327, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1327, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1328 - * # Corrupt a different stream, if we have more than one - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value - * if len(strmoffs) > 1: # <<<<<<<<<<<<<< - * for off in strmoffs[1:]: - * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) - */ - __Pyx_TraceLine(1328,0,__PYX_ERR(0, 1328, __pyx_L1_error)) - __pyx_t_9 = PyObject_Length(__pyx_v_strmoffs); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1328, __pyx_L1_error) - __pyx_t_10 = ((__pyx_t_9 > 1) != 0); - if (__pyx_t_10) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1329 - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value - * if len(strmoffs) > 1: - * for off in strmoffs[1:]: # <<<<<<<<<<<<<< - * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) - * _run_crc_tests(False) - */ - __Pyx_TraceLine(1329,0,__PYX_ERR(0, 1329, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_strmoffs, 1, 0, NULL, NULL, &__pyx_slice__59, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { - __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_9 = 0; - __pyx_t_11 = NULL; - } else { - __pyx_t_9 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1329, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - for (;;) { - if (likely(!__pyx_t_11)) { - if (likely(PyList_CheckExact(__pyx_t_4))) { - if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_4)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1329, __pyx_L1_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } else { - if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_4)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1329, __pyx_L1_error) - #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - #endif - } - } else { - __pyx_t_5 = __pyx_t_11(__pyx_t_4); - if (unlikely(!__pyx_t_5)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1329, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1330 - * if len(strmoffs) > 1: - * for off in strmoffs[1:]: - * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) # <<<<<<<<<<<<<< - * _run_crc_tests(False) - * cmpdata[off-1] = wrap(cmpdata[off-1] - 1) - */ - __Pyx_TraceLine(1330,0,__PYX_ERR(0, 1330, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_off, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_cmpdata, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_off, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (unlikely(PyObject_SetItem(__pyx_cur_scope->__pyx_v_cmpdata, __pyx_t_5, __pyx_t_2) < 0)) __PYX_ERR(0, 1330, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1331 - * for off in strmoffs[1:]: - * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) - * _run_crc_tests(False) # <<<<<<<<<<<<<< - * cmpdata[off-1] = wrap(cmpdata[off-1] - 1) - * - */ - __Pyx_TraceLine(1331,0,__PYX_ERR(0, 1331, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v__run_crc_tests, __pyx_tuple__58, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1331, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1332 - * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) - * _run_crc_tests(False) - * cmpdata[off-1] = wrap(cmpdata[off-1] - 1) # <<<<<<<<<<<<<< - * - * # Disable CRC, all should be well, even with a corrupt CRC/size - */ - __Pyx_TraceLine(1332,0,__PYX_ERR(0, 1332, __pyx_L1_error)) - __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_off, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_cmpdata, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_off, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely(PyObject_SetItem(__pyx_cur_scope->__pyx_v_cmpdata, __pyx_t_2, __pyx_t_5) < 0)) __PYX_ERR(0, 1332, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1329 - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value - * if len(strmoffs) > 1: - * for off in strmoffs[1:]: # <<<<<<<<<<<<<< - * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) - * _run_crc_tests(False) - */ - __Pyx_TraceLine(1329,0,__PYX_ERR(0, 1329, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1328 - * # Corrupt a different stream, if we have more than one - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value - * if len(strmoffs) > 1: # <<<<<<<<<<<<<< - * for off in strmoffs[1:]: - * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1336 - * # Disable CRC, all should be well, even with a corrupt CRC/size - * # First test with good data - * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) # <<<<<<<<<<<<<< - * - * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size - */ - __Pyx_TraceLine(1336,0,__PYX_ERR(0, 1336, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int((ZRAN_AUTO_BUILD | ZRAN_SKIP_CRC_CHECK)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(__pyx_v__run_crc_tests, Py_True, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1336, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1338 - * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) - * - * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size # <<<<<<<<<<<<<< - * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) - * - */ - __Pyx_TraceLine(1338,0,__PYX_ERR(0, 1338, __pyx_L1_error)) - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1338, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1338, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1339 - * - * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size - * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) # <<<<<<<<<<<<<< - * - * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value - */ - __Pyx_TraceLine(1339,0,__PYX_ERR(0, 1339, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyInt_From_int((ZRAN_AUTO_BUILD | ZRAN_SKIP_CRC_CHECK)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(__pyx_v__run_crc_tests, Py_True, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1339, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1341 - * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) - * - * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value # <<<<<<<<<<<<<< - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # corrupt crc - * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) - */ - __Pyx_TraceLine(1341,0,__PYX_ERR(0, 1341, __pyx_L1_error)) - __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -1L, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1341, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1342 - * - * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # corrupt crc # <<<<<<<<<<<<<< - * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) - * - */ - __Pyx_TraceLine(1342,0,__PYX_ERR(0, 1342, __pyx_L1_error)) - __pyx_t_4 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_4wrap(__pyx_v_wrap, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1342, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_cmpdata, -5L, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1342, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1343 - * cmpdata[-1] = wrap(cmpdata[-1] - 1) # restore size to correct value - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # corrupt crc - * _run_crc_tests(True, zran.ZRAN_AUTO_BUILD | zran.ZRAN_SKIP_CRC_CHECK) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1343,0,__PYX_ERR(0, 1343, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_From_int((ZRAN_AUTO_BUILD | ZRAN_SKIP_CRC_CHECK)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_19test_crc_validation_2_run_crc_tests(__pyx_v__run_crc_tests, Py_True, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1240 - * - * - * def test_crc_validation(concat): # <<<<<<<<<<<<<< - * """Basic test of CRC validation. """ - * - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_crc_validation", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_strmoffs); - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v__run_crc_tests); - __Pyx_XDECREF(__pyx_v_wrap); - __Pyx_XDECREF(__pyx_v_off); - __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1346 - * - * - * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< - * """Make sure standard usage works with files that have null-padding after - * the GZIP footer. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding(PyObject *__pyx_self, PyObject *__pyx_v_concat); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding[] = "Make sure standard usage works with files that have null-padding after\n the GZIP footer.\n\n See https://www.gnu.org/software/gzip/manual/gzip.html#Tapes\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding = {"test_standard_usage_with_null_padding", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding, METH_O, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding(PyObject *__pyx_self, PyObject *__pyx_v_concat) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_standard_usage_with_null_padding (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding(__pyx_self, ((PyObject *)__pyx_v_concat)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1391 - * - * - * def _zran_init(): # <<<<<<<<<<<<<< - * f[0] = BytesIO(paddedcmpdata) - * assert not zran.zran_init(&index, - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init = {"_zran_init", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init, METH_NOARGS, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_zran_init (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(PyObject *__pyx_self) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *__pyx_cur_scope; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *__pyx_outer_scope; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_zran_init", 0); - __pyx_outer_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *) __Pyx_CyFunction_GetClosure(__pyx_self); - __pyx_cur_scope = __pyx_outer_scope; - __Pyx_TraceCall("_zran_init", __pyx_f[0], 1391, 0, __PYX_ERR(0, 1391, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1392 - * - * def _zran_init(): - * f[0] = BytesIO(paddedcmpdata) # <<<<<<<<<<<<<< - * assert not zran.zran_init(&index, - * NULL, - */ - __Pyx_TraceLine(1392,0,__PYX_ERR(0, 1392, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely(!__pyx_cur_scope->__pyx_v_paddedcmpdata)) { __Pyx_RaiseClosureNameError("paddedcmpdata"); __PYX_ERR(0, 1392, __pyx_L1_error) } - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_cur_scope->__pyx_v_paddedcmpdata) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_cur_scope->__pyx_v_paddedcmpdata); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1392, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_cur_scope->__pyx_v_f)) { __Pyx_RaiseClosureNameError("f"); __PYX_ERR(0, 1392, __pyx_L1_error) } - if (unlikely(__pyx_cur_scope->__pyx_v_f == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1392, __pyx_L1_error) - } - if (unlikely(__Pyx_SetItemInt(__pyx_cur_scope->__pyx_v_f, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1) < 0)) __PYX_ERR(0, 1392, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1393 - * def _zran_init(): - * f[0] = BytesIO(paddedcmpdata) - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL, - * f[0], - */ - __Pyx_TraceLine(1393,0,__PYX_ERR(0, 1393, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1395 - * assert not zran.zran_init(&index, - * NULL, - * f[0], # <<<<<<<<<<<<<< - * 1048576, - * 32768, - */ - __Pyx_TraceLine(1395,0,__PYX_ERR(0, 1395, __pyx_L1_error)) - if (unlikely(!__pyx_cur_scope->__pyx_v_f)) { __Pyx_RaiseClosureNameError("f"); __PYX_ERR(0, 1395, __pyx_L1_error) } - if (unlikely(__pyx_cur_scope->__pyx_v_f == Py_None)) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); - __PYX_ERR(0, 1395, __pyx_L1_error) - } - __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_cur_scope->__pyx_v_f, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1395, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - /* "indexed_gzip/tests/ctest_zran.pyx":1393 - * def _zran_init(): - * f[0] = BytesIO(paddedcmpdata) - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL, - * f[0], - */ - __Pyx_TraceLine(1393,0,__PYX_ERR(0, 1393, __pyx_L1_error)) - if (unlikely(!((!(zran_init((&__pyx_cur_scope->__pyx_v_index), NULL, ((PyObject *)__pyx_t_1), 0x100000, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1393, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1391 - * - * - * def _zran_init(): # <<<<<<<<<<<<<< - * f[0] = BytesIO(paddedcmpdata) - * assert not zran.zran_init(&index, - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_standard_usage_with_null_padding._zran_init", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1346 - * - * - * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< - * """Make sure standard usage works with files that have null-padding after - * the GZIP footer. - */ - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_60test_standard_usage_with_null_padding(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_concat) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *__pyx_cur_scope; - void *__pyx_v_buffer; - int64_t __pyx_v_ret; - PyObject *__pyx_v_dsize = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_cmpdata = NULL; - PyObject *__pyx_v_strmoffs = NULL; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *__pyx_v_buf = NULL; - PyObject *__pyx_v_padding = NULL; - PyObject *__pyx_v_padoff = NULL; - PyObject *__pyx_v_last = NULL; - PyObject *__pyx_v_off = NULL; - PyObject *__pyx_v_pad = NULL; - PyObject *__pyx_v_strm = NULL; - PyObject *__pyx_v__zran_init = 0; - PyObject *__pyx_v_pybuf = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *(*__pyx_t_7)(PyObject *); - void *__pyx_t_8; - Py_ssize_t __pyx_t_9; - PyObject *(*__pyx_t_10)(PyObject *); - Py_ssize_t __pyx_t_11; - int __pyx_t_12; - Py_ssize_t __pyx_t_13; - Py_ssize_t __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - int64_t __pyx_t_16; - uint64_t __pyx_t_17; - PyObject *__pyx_t_18 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__60) - __Pyx_RefNannySetupContext("test_standard_usage_with_null_padding", 0); - __pyx_cur_scope = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(__pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 1346, __pyx_L1_error) - } else { - __Pyx_GOTREF(__pyx_cur_scope); - } - __Pyx_TraceCall("test_standard_usage_with_null_padding", __pyx_f[0], 1346, 0, __PYX_ERR(0, 1346, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1358 - * # use uint32 so there are lots of zeros, - * # and so there is something to compress - * dsize = 1048576 * 10 # <<<<<<<<<<<<<< - * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) - */ - __Pyx_TraceLine(1358,0,__PYX_ERR(0, 1358, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_10485760); - __pyx_v_dsize = __pyx_int_10485760; - - /* "indexed_gzip/tests/ctest_zran.pyx":1359 - * # and so there is something to compress - * dsize = 1048576 * 10 - * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) # <<<<<<<<<<<<<< - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) - * buf = ReadBuffer(dsize) - */ - __Pyx_TraceLine(1359,0,__PYX_ERR(0, 1359, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyInt_FloorDivideObjC(__pyx_v_dsize, __pyx_int_4, 4, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); - __Pyx_INCREF(__pyx_int_255); - __Pyx_GIVEREF(__pyx_int_255); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_255); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1360 - * dsize = 1048576 * 10 - * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) # <<<<<<<<<<<<<< - * buf = ReadBuffer(dsize) - * buffer = buf.buffer - */ - __Pyx_TraceLine(1360,0,__PYX_ERR(0, 1360, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_compress_inmem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_6 = 0; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_6 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_v_concat}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { - PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_3, __pyx_v_concat}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_4 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (__pyx_t_1) { - __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; - } - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_t_3); - __Pyx_INCREF(__pyx_v_concat); - __Pyx_GIVEREF(__pyx_v_concat); - PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_concat); - __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { - PyObject* sequence = __pyx_t_5; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1360, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_2 = PyList_GET_ITEM(sequence, 0); - __pyx_t_4 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_4); - #else - __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; - index = 0; __pyx_t_2 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed; - __Pyx_GOTREF(__pyx_t_2); - index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) __PYX_ERR(0, 1360, __pyx_L1_error) - __pyx_t_7 = NULL; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L4_unpacking_done; - __pyx_L3_unpacking_failed:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1360, __pyx_L1_error) - __pyx_L4_unpacking_done:; - } - __pyx_v_cmpdata = __pyx_t_2; - __pyx_t_2 = 0; - __pyx_v_strmoffs = __pyx_t_4; - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1361 - * data = np.random.randint(0, 255, dsize // 4, dtype=np.uint32) - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) - * buf = ReadBuffer(dsize) # <<<<<<<<<<<<<< - * buffer = buf.buffer - * f = [None] # to prevent gc - */ - __Pyx_TraceLine(1361,0,__PYX_ERR(0, 1361, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), __pyx_v_dsize); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_v_buf = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)__pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1362 - * cmpdata, strmoffs = compress_inmem(data.tobytes(), concat) - * buf = ReadBuffer(dsize) - * buffer = buf.buffer # <<<<<<<<<<<<<< - * f = [None] # to prevent gc - * - */ - __Pyx_TraceLine(1362,0,__PYX_ERR(0, 1362, __pyx_L1_error)) - __pyx_t_8 = __pyx_v_buf->buffer; - __pyx_v_buffer = __pyx_t_8; - - /* "indexed_gzip/tests/ctest_zran.pyx":1363 - * buf = ReadBuffer(dsize) - * buffer = buf.buffer - * f = [None] # to prevent gc # <<<<<<<<<<<<<< - * - * # random amount of padding for each stream - */ - __Pyx_TraceLine(1363,0,__PYX_ERR(0, 1363, __pyx_L1_error)) - __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_INCREF(Py_None); - __Pyx_GIVEREF(Py_None); - PyList_SET_ITEM(__pyx_t_5, 0, Py_None); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_f = ((PyObject*)__pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1366 - * - * # random amount of padding for each stream - * padding = np.random.randint(1, 100, len(strmoffs)) # <<<<<<<<<<<<<< - * - * # new compressed data - bytearrays - */ - __Pyx_TraceLine(1366,0,__PYX_ERR(0, 1366, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = PyObject_Length(__pyx_v_strmoffs); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1366, __pyx_L1_error) - __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_6 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_6 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_1, __pyx_int_100, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1366, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_int_1, __pyx_int_100, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1366, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } else - #endif - { - __pyx_t_1 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (__pyx_t_3) { - __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; - } - __Pyx_INCREF(__pyx_int_1); - __Pyx_GIVEREF(__pyx_int_1); - PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_6, __pyx_int_1); - __Pyx_INCREF(__pyx_int_100); - __Pyx_GIVEREF(__pyx_int_100); - PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_6, __pyx_int_100); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_6, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_padding = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1370 - * # new compressed data - bytearrays - * # are initialised to contain all 0s - * paddedcmpdata = bytearray(len(cmpdata) + padding.sum()) # <<<<<<<<<<<<<< - * - * # copy old unpadded compressed data - */ - __Pyx_TraceLine(1370,0,__PYX_ERR(0, 1370, __pyx_L1_error)) - __pyx_t_9 = PyObject_Length(__pyx_v_cmpdata); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1370, __pyx_L1_error) - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_padding, __pyx_n_s_sum); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyByteArray_Type)), __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1370, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_paddedcmpdata = ((PyObject*)__pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1374 - * # copy old unpadded compressed data - * # into new padded compressed data - * padoff = 0 # offset into padded data # <<<<<<<<<<<<<< - * last = 0 # offset to end of last copied stream in unpadded data - * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) - */ - __Pyx_TraceLine(1374,0,__PYX_ERR(0, 1374, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_v_padoff = __pyx_int_0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1375 - * # into new padded compressed data - * padoff = 0 # offset into padded data - * last = 0 # offset to end of last copied stream in unpadded data # <<<<<<<<<<<<<< - * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) - * for off, pad in zip(strmoffs, padding): - */ - __Pyx_TraceLine(1375,0,__PYX_ERR(0, 1375, __pyx_L1_error)) - __Pyx_INCREF(__pyx_int_0); - __pyx_v_last = __pyx_int_0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1376 - * padoff = 0 # offset into padded data - * last = 0 # offset to end of last copied stream in unpadded data - * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) # <<<<<<<<<<<<<< - * for off, pad in zip(strmoffs, padding): - * - */ - __Pyx_TraceLine(1376,0,__PYX_ERR(0, 1376, __pyx_L1_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Padding_streams_orig_size, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = PyObject_Length(__pyx_v_cmpdata); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1376, __pyx_L1_error) - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1376, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1377 - * last = 0 # offset to end of last copied stream in unpadded data - * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) - * for off, pad in zip(strmoffs, padding): # <<<<<<<<<<<<<< - * - * strm = cmpdata[last:off] - */ - __Pyx_TraceLine(1377,0,__PYX_ERR(0, 1377, __pyx_L1_error)) - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_strmoffs); - __Pyx_GIVEREF(__pyx_v_strmoffs); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_strmoffs); - __Pyx_INCREF(__pyx_v_padding); - __Pyx_GIVEREF(__pyx_v_padding); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_padding); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_zip, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { - __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; - __pyx_t_10 = NULL; - } else { - __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1377, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - for (;;) { - if (likely(!__pyx_t_10)) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1377, __pyx_L1_error) - #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } else { - if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1377, __pyx_L1_error) - #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - } - } else { - __pyx_t_4 = __pyx_t_10(__pyx_t_1); - if (unlikely(!__pyx_t_4)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1377, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_4); - } - if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { - PyObject* sequence = __pyx_t_4; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1377, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_5 = PyList_GET_ITEM(sequence, 0); - __pyx_t_2 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - #else - __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1377, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; - index = 0; __pyx_t_5 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L7_unpacking_failed; - __Pyx_GOTREF(__pyx_t_5); - index = 1; __pyx_t_2 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L7_unpacking_failed; - __Pyx_GOTREF(__pyx_t_2); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) __PYX_ERR(0, 1377, __pyx_L1_error) - __pyx_t_7 = NULL; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_unpacking_done; - __pyx_L7_unpacking_failed:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1377, __pyx_L1_error) - __pyx_L8_unpacking_done:; - } - __Pyx_XDECREF_SET(__pyx_v_off, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_XDECREF_SET(__pyx_v_pad, __pyx_t_2); - __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1379 - * for off, pad in zip(strmoffs, padding): - * - * strm = cmpdata[last:off] # <<<<<<<<<<<<<< - * - * paddedcmpdata[padoff:padoff + len(strm)] = strm - */ - __Pyx_TraceLine(1379,0,__PYX_ERR(0, 1379, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_cmpdata, 0, 0, &__pyx_v_last, &__pyx_v_off, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1379, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_XDECREF_SET(__pyx_v_strm, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1381 - * strm = cmpdata[last:off] - * - * paddedcmpdata[padoff:padoff + len(strm)] = strm # <<<<<<<<<<<<<< - * - * print(' Copied stream from [{} - {}] to [{} - {}] ({} ' - */ - __Pyx_TraceLine(1381,0,__PYX_ERR(0, 1381, __pyx_L1_error)) - __Pyx_INCREF(__pyx_v_padoff); - __pyx_t_4 = __pyx_v_padoff; - __pyx_t_12 = (__pyx_t_4 == Py_None); - if (__pyx_t_12) { - __pyx_t_11 = 0; - } else { - __pyx_t_13 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_13 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1381, __pyx_L1_error) - __pyx_t_11 = __pyx_t_13; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_13 = PyObject_Length(__pyx_v_strm); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1381, __pyx_L1_error) - __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = PyNumber_Add(__pyx_v_padoff, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_12 = (__pyx_t_2 == Py_None); - if (__pyx_t_12) { - __pyx_t_13 = PY_SSIZE_T_MAX; - } else { - __pyx_t_14 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_14 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1381, __pyx_L1_error) - __pyx_t_13 = __pyx_t_14; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__Pyx_PyObject_SetSlice(__pyx_cur_scope->__pyx_v_paddedcmpdata, __pyx_v_strm, __pyx_t_11, __pyx_t_13, NULL, NULL, NULL, 1, 1, 1) < 0) __PYX_ERR(0, 1381, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1384 - * - * print(' Copied stream from [{} - {}] to [{} - {}] ({} ' - * 'padding bytes)'.format( # <<<<<<<<<<<<<< - * last, off, padoff, padoff + len(strm), pad)) - * - */ - __Pyx_TraceLine(1384,0,__PYX_ERR(0, 1384, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_Copied_stream_from_to_padding_b, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - /* "indexed_gzip/tests/ctest_zran.pyx":1385 - * print(' Copied stream from [{} - {}] to [{} - {}] ({} ' - * 'padding bytes)'.format( - * last, off, padoff, padoff + len(strm), pad)) # <<<<<<<<<<<<<< - * - * padoff += len(strm) + pad - */ - __Pyx_TraceLine(1385,0,__PYX_ERR(0, 1385, __pyx_L1_error)) - __pyx_t_13 = PyObject_Length(__pyx_v_strm); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1385, __pyx_L1_error) - __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = PyNumber_Add(__pyx_v_padoff, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1385, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_6 = 0; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_6 = 1; - } - } - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[6] = {__pyx_t_5, __pyx_v_last, __pyx_v_off, __pyx_v_padoff, __pyx_t_3, __pyx_v_pad}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1384, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { - PyObject *__pyx_temp[6] = {__pyx_t_5, __pyx_v_last, __pyx_v_off, __pyx_v_padoff, __pyx_t_3, __pyx_v_pad}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1384, __pyx_L1_error) - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } else - #endif - { - __pyx_t_15 = PyTuple_New(5+__pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - if (__pyx_t_5) { - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_5); __pyx_t_5 = NULL; - } - __Pyx_INCREF(__pyx_v_last); - __Pyx_GIVEREF(__pyx_v_last); - PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_6, __pyx_v_last); - __Pyx_INCREF(__pyx_v_off); - __Pyx_GIVEREF(__pyx_v_off); - PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_6, __pyx_v_off); - __Pyx_INCREF(__pyx_v_padoff); - __Pyx_GIVEREF(__pyx_v_padoff); - PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_6, __pyx_v_padoff); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_6, __pyx_t_3); - __Pyx_INCREF(__pyx_v_pad); - __Pyx_GIVEREF(__pyx_v_pad); - PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_6, __pyx_v_pad); - __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_15, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1384, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1383 - * paddedcmpdata[padoff:padoff + len(strm)] = strm - * - * print(' Copied stream from [{} - {}] to [{} - {}] ({} ' # <<<<<<<<<<<<<< - * 'padding bytes)'.format( - * last, off, padoff, padoff + len(strm), pad)) - */ - __Pyx_TraceLine(1383,0,__PYX_ERR(0, 1383, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1383, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1387 - * last, off, padoff, padoff + len(strm), pad)) - * - * padoff += len(strm) + pad # <<<<<<<<<<<<<< - * last = off - * - */ - __Pyx_TraceLine(1387,0,__PYX_ERR(0, 1387, __pyx_L1_error)) - __pyx_t_13 = PyObject_Length(__pyx_v_strm); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1387, __pyx_L1_error) - __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_v_pad); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_padoff, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1387, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF_SET(__pyx_v_padoff, __pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1388 - * - * padoff += len(strm) + pad - * last = off # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1388,0,__PYX_ERR(0, 1388, __pyx_L1_error)) - __Pyx_INCREF(__pyx_v_off); - __Pyx_DECREF_SET(__pyx_v_last, __pyx_v_off); - - /* "indexed_gzip/tests/ctest_zran.pyx":1377 - * last = 0 # offset to end of last copied stream in unpadded data - * print('Padding streams [orig size: {}] ...'.format(len(cmpdata))) - * for off, pad in zip(strmoffs, padding): # <<<<<<<<<<<<<< - * - * strm = cmpdata[last:off] - */ - __Pyx_TraceLine(1377,0,__PYX_ERR(0, 1377, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1391 - * - * - * def _zran_init(): # <<<<<<<<<<<<<< - * f[0] = BytesIO(paddedcmpdata) - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(1391,0,__PYX_ERR(0, 1391, __pyx_L1_error)) - __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding_1_zran_init, 0, __pyx_n_s_test_standard_usage_with_null_pa, ((PyObject*)__pyx_cur_scope), __pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_v__zran_init = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1401 - * zran.ZRAN_AUTO_BUILD) - * - * _zran_init() # <<<<<<<<<<<<<< - * ret = zran.zran_build_index(&index, 0, 0) - * assert ret == zran.ZRAN_BUILD_INDEX_OK, ret - */ - __Pyx_TraceLine(1401,0,__PYX_ERR(0, 1401, __pyx_L1_error)) - __pyx_t_1 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(__pyx_v__zran_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1401, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1402 - * - * _zran_init() - * ret = zran.zran_build_index(&index, 0, 0) # <<<<<<<<<<<<<< - * assert ret == zran.ZRAN_BUILD_INDEX_OK, ret - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1402,0,__PYX_ERR(0, 1402, __pyx_L1_error)) - __pyx_v_ret = zran_build_index((&__pyx_cur_scope->__pyx_v_index), 0, 0); - - /* "indexed_gzip/tests/ctest_zran.pyx":1403 - * _zran_init() - * ret = zran.zran_build_index(&index, 0, 0) - * assert ret == zran.ZRAN_BUILD_INDEX_OK, ret # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1403,0,__PYX_ERR(0, 1403, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_ret == ZRAN_BUILD_INDEX_OK) != 0))) { - __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1403, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1403, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); - __pyx_t_1 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 1403, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1404 - * ret = zran.zran_build_index(&index, 0, 0) - * assert ret == zran.ZRAN_BUILD_INDEX_OK, ret - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * _zran_init() - */ - __Pyx_TraceLine(1404,0,__PYX_ERR(0, 1404, __pyx_L1_error)) - zran_free((&__pyx_cur_scope->__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1406 - * zran.zran_free(&index) - * - * _zran_init() # <<<<<<<<<<<<<< - * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) - * assert ret == zran.ZRAN_SEEK_OK, ret - */ - __Pyx_TraceLine(1406,0,__PYX_ERR(0, 1406, __pyx_L1_error)) - __pyx_t_4 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(__pyx_v__zran_init); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1406, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1407 - * - * _zran_init() - * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) # <<<<<<<<<<<<<< - * assert ret == zran.ZRAN_SEEK_OK, ret - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1407,0,__PYX_ERR(0, 1407, __pyx_L1_error)) - __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_dsize, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1407, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = __Pyx_PyInt_As_int64_t(__pyx_t_4); if (unlikely((__pyx_t_16 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1407, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_v_ret = zran_seek((&__pyx_cur_scope->__pyx_v_index), __pyx_t_16, SEEK_SET, NULL); - - /* "indexed_gzip/tests/ctest_zran.pyx":1408 - * _zran_init() - * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) - * assert ret == zran.ZRAN_SEEK_OK, ret # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1408,0,__PYX_ERR(0, 1408, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_ret == ZRAN_SEEK_OK) != 0))) { - __pyx_t_4 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1408, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); - __pyx_t_4 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 1408, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1409 - * ret = zran.zran_seek(&index, dsize - 1, SEEK_SET, NULL) - * assert ret == zran.ZRAN_SEEK_OK, ret - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * _zran_init() - */ - __Pyx_TraceLine(1409,0,__PYX_ERR(0, 1409, __pyx_L1_error)) - zran_free((&__pyx_cur_scope->__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1411 - * zran.zran_free(&index) - * - * _zran_init() # <<<<<<<<<<<<<< - * ret = zran.zran_read(&index, buffer, dsize) - * assert ret == dsize, ret - */ - __Pyx_TraceLine(1411,0,__PYX_ERR(0, 1411, __pyx_L1_error)) - __pyx_t_1 = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_37test_standard_usage_with_null_padding__zran_init(__pyx_v__zran_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1411, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1412 - * - * _zran_init() - * ret = zran.zran_read(&index, buffer, dsize) # <<<<<<<<<<<<<< - * assert ret == dsize, ret - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1412,0,__PYX_ERR(0, 1412, __pyx_L1_error)) - __pyx_t_17 = __Pyx_PyInt_As_uint64_t(__pyx_v_dsize); if (unlikely((__pyx_t_17 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1412, __pyx_L1_error) - __pyx_v_ret = zran_read((&__pyx_cur_scope->__pyx_v_index), __pyx_v_buffer, __pyx_t_17); - - /* "indexed_gzip/tests/ctest_zran.pyx":1413 - * _zran_init() - * ret = zran.zran_read(&index, buffer, dsize) - * assert ret == dsize, ret # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1413,0,__PYX_ERR(0, 1413, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_dsize, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1413, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1413, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_12)) { - __pyx_t_4 = __Pyx_PyInt_From_int64_t(__pyx_v_ret); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1413, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); - __pyx_t_4 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 1413, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1414 - * ret = zran.zran_read(&index, buffer, dsize) - * assert ret == dsize, ret - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * pybuf = (buffer)[:dsize] - */ - __Pyx_TraceLine(1414,0,__PYX_ERR(0, 1414, __pyx_L1_error)) - zran_free((&__pyx_cur_scope->__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1416 - * zran.zran_free(&index) - * - * pybuf = (buffer)[:dsize] # <<<<<<<<<<<<<< - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) - * - */ - __Pyx_TraceLine(1416,0,__PYX_ERR(0, 1416, __pyx_L1_error)) - __Pyx_INCREF(__pyx_v_dsize); - __pyx_t_1 = __pyx_v_dsize; - __pyx_t_12 = (__pyx_t_1 == Py_None); - if (__pyx_t_12) { - __pyx_t_9 = PY_SSIZE_T_MAX; - } else { - __pyx_t_13 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_13 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1416, __pyx_L1_error) - __pyx_t_9 = __pyx_t_13; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((char *)__pyx_v_buffer) + 0, __pyx_t_9 - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1416, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __pyx_t_1; - __Pyx_INCREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_pybuf = ((PyObject*)__pyx_t_4); - __pyx_t_4 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1417 - * - * pybuf = (buffer)[:dsize] - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1417,0,__PYX_ERR(0, 1417, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_all); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_frombuffer); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_v_pybuf); - __Pyx_GIVEREF(__pyx_v_pybuf); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_pybuf); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_uint32); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_18) < 0) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_18, __pyx_v_data, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_4 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_18, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1417, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_12)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1417, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1346 - * - * - * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< - * """Make sure standard usage works with files that have null-padding after - * the GZIP footer. - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_standard_usage_with_null_padding", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_dsize); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_cmpdata); - __Pyx_XDECREF(__pyx_v_strmoffs); - __Pyx_XDECREF((PyObject *)__pyx_v_buf); - __Pyx_XDECREF(__pyx_v_padding); - __Pyx_XDECREF(__pyx_v_padoff); - __Pyx_XDECREF(__pyx_v_last); - __Pyx_XDECREF(__pyx_v_off); - __Pyx_XDECREF(__pyx_v_pad); - __Pyx_XDECREF(__pyx_v_strm); - __Pyx_XDECREF(__pyx_v__zran_init); - __Pyx_XDECREF(__pyx_v_pybuf); - __Pyx_DECREF(((PyObject *)__pyx_cur_scope)); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1421 - * - * # pauldmccarthy/indexed_gzip#82 - * def test_inflateInit_leak_on_error(): # <<<<<<<<<<<<<< - * """Make sure memory is not leaked after a successful call to - * inflateInit2(), but then a failure on subsequent zlib calls. - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error[] = "Make sure memory is not leaked after a successful call to\n inflateInit2(), but then a failure on subsequent zlib calls.\n "; -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error = {"test_inflateInit_leak_on_error", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error, METH_NOARGS, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_inflateInit_leak_on_error (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_62test_inflateInit_leak_on_error(CYTHON_UNUSED PyObject *__pyx_self) { - zran_index_t __pyx_v_index; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_iters = NULL; - PyObject *__pyx_v_mem = NULL; - PyObject *__pyx_v_i = NULL; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - Py_ssize_t __pyx_t_6; - PyObject *(*__pyx_t_7)(PyObject *); - int __pyx_t_8; - int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__62) - __Pyx_RefNannySetupContext("test_inflateInit_leak_on_error", 0); - __Pyx_TraceCall("test_inflateInit_leak_on_error", __pyx_f[0], 1421, 0, __PYX_ERR(0, 1421, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1431 - * # We can target the first call by passing a file containing random noise. - * # I haven't yet figured out a reliable way to target the second call. - * f = BytesIO(np.arange(1, 100).tobytes()) # <<<<<<<<<<<<<< - * - * iters = np.arange(1, 10000) - */ - __Pyx_TraceLine(1431,0,__PYX_ERR(0, 1431, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_arange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_f = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1433 - * f = BytesIO(np.arange(1, 100).tobytes()) - * - * iters = np.arange(1, 10000) # <<<<<<<<<<<<<< - * mem = np.zeros(10000, dtype=np.uint64) - * - */ - __Pyx_TraceLine(1433,0,__PYX_ERR(0, 1433, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__64, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_iters = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1434 - * - * iters = np.arange(1, 10000) - * mem = np.zeros(10000, dtype=np.uint64) # <<<<<<<<<<<<<< - * - * for i in iters: - */ - __Pyx_TraceLine(1434,0,__PYX_ERR(0, 1434, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint64); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 1434, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__65, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_mem = __pyx_t_5; - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1436 - * mem = np.zeros(10000, dtype=np.uint64) - * - * for i in iters: # <<<<<<<<<<<<<< - * assert not zran.zran_init(&index, - * NULL, - */ - __Pyx_TraceLine(1436,0,__PYX_ERR(0, 1436, __pyx_L1_error)) - if (likely(PyList_CheckExact(__pyx_v_iters)) || PyTuple_CheckExact(__pyx_v_iters)) { - __pyx_t_5 = __pyx_v_iters; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0; - __pyx_t_7 = NULL; - } else { - __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_iters); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1436, __pyx_L1_error) - } - for (;;) { - if (likely(!__pyx_t_7)) { - if (likely(PyList_CheckExact(__pyx_t_5))) { - if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1436, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1436, __pyx_L1_error) - #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1436, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } - } else { - __pyx_t_1 = __pyx_t_7(__pyx_t_5); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1436, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1); - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1437 - * - * for i in iters: - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * NULL, - * f, - */ - __Pyx_TraceLine(1437,0,__PYX_ERR(0, 1437, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1443 - * 32768, - * 131072, - * zran.ZRAN_AUTO_BUILD) # <<<<<<<<<<<<<< - * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == \ - * zran.ZRAN_SEEK_FAIL - */ - __Pyx_TraceLine(1443,0,__PYX_ERR(0, 1443, __pyx_L1_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), NULL, ((PyObject *)__pyx_v_f), 0x100000, 0x8000, 0x20000, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1437, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1444 - * 131072, - * zran.ZRAN_AUTO_BUILD) - * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == \ # <<<<<<<<<<<<<< - * zran.ZRAN_SEEK_FAIL - * zran.zran_free(&index) - */ - __Pyx_TraceLine(1444,0,__PYX_ERR(0, 1444, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1445 - * zran.ZRAN_AUTO_BUILD) - * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == \ - * zran.ZRAN_SEEK_FAIL # <<<<<<<<<<<<<< - * zran.zran_free(&index) - * - */ - __Pyx_TraceLine(1445,0,__PYX_ERR(0, 1445, __pyx_L1_error)) - if (unlikely(!((zran_seek((&__pyx_v_index), 20, SEEK_SET, NULL) == ZRAN_SEEK_FAIL) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1444, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1446 - * assert zran.zran_seek(&index, 20, SEEK_SET, NULL) == \ - * zran.ZRAN_SEEK_FAIL - * zran.zran_free(&index) # <<<<<<<<<<<<<< - * - * if resource is not None: - */ - __Pyx_TraceLine(1446,0,__PYX_ERR(0, 1446, __pyx_L1_error)) - zran_free((&__pyx_v_index)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1448 - * zran.zran_free(&index) - * - * if resource is not None: # <<<<<<<<<<<<<< - * mem[i] = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss - * - */ - __Pyx_TraceLine(1448,0,__PYX_ERR(0, 1448, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_resource); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1448, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = (__pyx_t_1 != Py_None); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = (__pyx_t_8 != 0); - if (__pyx_t_9) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1449 - * - * if resource is not None: - * mem[i] = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss # <<<<<<<<<<<<<< - * - * # We expect to see some small growth in memory - */ - __Pyx_TraceLine(1449,0,__PYX_ERR(0, 1449, __pyx_L1_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1449, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getrusage); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1449, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_resource); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1449, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_RUSAGE_SELF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1449, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1449, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ru_maxrss); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1449, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(PyObject_SetItem(__pyx_v_mem, __pyx_v_i, __pyx_t_3) < 0)) __PYX_ERR(0, 1449, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1448 - * zran.zran_free(&index) - * - * if resource is not None: # <<<<<<<<<<<<<< - * mem[i] = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss - * - */ - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1436 - * mem = np.zeros(10000, dtype=np.uint64) - * - * for i in iters: # <<<<<<<<<<<<<< - * assert not zran.zran_init(&index, - * NULL, - */ - __Pyx_TraceLine(1436,0,__PYX_ERR(0, 1436, __pyx_L1_error)) - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1454 - * # usage for the first few iterations, but then - * # it should remain stable - * mem = mem[5:] # <<<<<<<<<<<<<< - * assert np.all(mem == mem[0]) - * - */ - __Pyx_TraceLine(1454,0,__PYX_ERR(0, 1454, __pyx_L1_error)) - __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_mem, 5, 0, NULL, NULL, &__pyx_slice__66, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1454, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF_SET(__pyx_v_mem, __pyx_t_5); - __pyx_t_5 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1455 - * # it should remain stable - * mem = mem[5:] - * assert np.all(mem == mem[0]) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1455,0,__PYX_ERR(0, 1455, __pyx_L1_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1455, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_all); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1455, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_mem, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1455, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_mem, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1455, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1455, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1455, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1455, __pyx_L1_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1421 - * - * # pauldmccarthy/indexed_gzip#82 - * def test_inflateInit_leak_on_error(): # <<<<<<<<<<<<<< - * """Make sure memory is not leaked after a successful call to - * inflateInit2(), but then a failure on subsequent zlib calls. - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_inflateInit_leak_on_error", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_iters); - __Pyx_XDECREF(__pyx_v_mem); - __Pyx_XDECREF(__pyx_v_i); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "indexed_gzip/tests/ctest_zran.pyx":1459 - * - * # pauldmccarthy/indexed_gzip#80 - * def test_read_eof_memmove_rotate_bug(seed): # <<<<<<<<<<<<<< - * - * # This bug was triggered by the read buffer rotation - */ - -/* Python wrapper */ -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug(PyObject *__pyx_self, PyObject *__pyx_v_seed); /*proto*/ -static PyMethodDef __pyx_mdef_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug = {"test_read_eof_memmove_rotate_bug", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug, METH_O, 0}; -static PyObject *__pyx_pw_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug(PyObject *__pyx_self, PyObject *__pyx_v_seed) { - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("test_read_eof_memmove_rotate_bug (wrapper)", 0); - __pyx_r = __pyx_pf_12indexed_gzip_5tests_10ctest_zran_64test_read_eof_memmove_rotate_bug(__pyx_self, ((PyObject *)__pyx_v_seed)); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_12indexed_gzip_5tests_10ctest_zran_64test_read_eof_memmove_rotate_bug(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_seed) { - zran_index_t __pyx_v_index; - FILE *__pyx_v_cfid; - PyObject *__pyx_v_nelems = NULL; - PyObject *__pyx_v_data = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_fsize = NULL; - PyObject *__pyx_v_readbuf_size = NULL; - PyObject *__pyx_v_pyfid = NULL; - PyObject *__pyx_v_eof = NULL; - int __pyx_v_got; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - int __pyx_t_17; - uint32_t __pyx_t_18; - int64_t __pyx_t_19; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceFrameInit(__pyx_codeobj__67) - __Pyx_RefNannySetupContext("test_read_eof_memmove_rotate_bug", 0); - __Pyx_TraceCall("test_read_eof_memmove_rotate_bug", __pyx_f[0], 1459, 0, __PYX_ERR(0, 1459, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":1481 - * cdef FILE *cfid - * - * with tempdir(): # <<<<<<<<<<<<<< - * nelems = np.random.randint(524288, 525000, 1)[0] - * data = np.random.random(nelems) - */ - __Pyx_TraceLine(1481,0,__PYX_ERR(0, 1481, __pyx_L1_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1481, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1481, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":1482 - * - * with tempdir(): - * nelems = np.random.randint(524288, 525000, 1)[0] # <<<<<<<<<<<<<< - * data = np.random.random(nelems) - * with gzip.open('test.gz', 'wb') as f: - */ - __Pyx_TraceLine(1482,0,__PYX_ERR(0, 1482, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1482, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_randint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1482, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1482, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_nelems = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1483 - * with tempdir(): - * nelems = np.random.randint(524288, 525000, 1)[0] - * data = np.random.random(nelems) # <<<<<<<<<<<<<< - * with gzip.open('test.gz', 'wb') as f: - * f.write(data.tobytes()) - */ - __Pyx_TraceLine(1483,0,__PYX_ERR(0, 1483, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1483, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1483, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_random); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1483, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - } - } - __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_nelems) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_nelems); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1483, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1484 - * nelems = np.random.randint(524288, 525000, 1)[0] - * data = np.random.random(nelems) - * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - __Pyx_TraceLine(1484,0,__PYX_ERR(0, 1484, __pyx_L7_error)) - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_gzip); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_3 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1484, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1484, __pyx_L13_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - __pyx_v_f = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1485 - * data = np.random.random(nelems) - * with gzip.open('test.gz', 'wb') as f: - * f.write(data.tobytes()) # <<<<<<<<<<<<<< - * - * fsize = os.stat('test.gz').st_size - */ - __Pyx_TraceLine(1485,0,__PYX_ERR(0, 1485, __pyx_L17_error)) - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_write); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1485, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_tobytes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1485, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_13 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - } - } - __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_13) : __Pyx_PyObject_CallNoArg(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1485, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1485, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1484 - * nelems = np.random.randint(524288, 525000, 1)[0] - * data = np.random.random(nelems) - * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_eof_memmove_rotate_bug", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1484, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1484, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1484, __pyx_L19_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1484, __pyx_L19_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1484, __pyx_L19_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L18_exception_handled; - } - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L7_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L22_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1484, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - goto __pyx_L16; - } - __pyx_L16:; - } - goto __pyx_L26; - __pyx_L13_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L26:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1487 - * f.write(data.tobytes()) - * - * fsize = os.stat('test.gz').st_size # <<<<<<<<<<<<<< - * readbuf_size = fsize - 10 - * - */ - __Pyx_TraceLine(1487,0,__PYX_ERR(0, 1487, __pyx_L7_error)) - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1487, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_stat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1487, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_kp_s_test_gz) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_s_test_gz); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1487, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_st_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1487, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_v_fsize = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1488 - * - * fsize = os.stat('test.gz').st_size - * readbuf_size = fsize - 10 # <<<<<<<<<<<<<< - * - * with open('test.gz', 'rb') as pyfid: - */ - __Pyx_TraceLine(1488,0,__PYX_ERR(0, 1488, __pyx_L7_error)) - __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_fsize, __pyx_int_10, 10, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1488, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_v_readbuf_size = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1490 - * readbuf_size = fsize - 10 - * - * with open('test.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index, - */ - __Pyx_TraceLine(1490,0,__PYX_ERR(0, 1490, __pyx_L7_error)) - /*with:*/ { - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1490, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1490, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1490, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - } - } - __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1490, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_11, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - __pyx_v_pyfid = __pyx_t_1; - __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1491 - * - * with open('test.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') # <<<<<<<<<<<<<< - * assert not zran.zran_init(&index, - * cfid, - */ - __Pyx_TraceLine(1491,0,__PYX_ERR(0, 1491, __pyx_L31_error)) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_pyfid, __pyx_n_s_fileno); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1491, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - } - } - __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1491, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1491, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_cfid = fdopen(__pyx_t_17, ((char const *)"rb")); - - /* "indexed_gzip/tests/ctest_zran.pyx":1492 - * with open('test.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * cfid, - * NULL, - */ - __Pyx_TraceLine(1492,0,__PYX_ERR(0, 1492, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - - /* "indexed_gzip/tests/ctest_zran.pyx":1497 - * 4194304, - * 32768, - * readbuf_size, # <<<<<<<<<<<<<< - * zran.ZRAN_AUTO_BUILD) - * - */ - __Pyx_TraceLine(1497,0,__PYX_ERR(0, 1497, __pyx_L31_error)) - __pyx_t_18 = __Pyx_PyInt_As_uint32_t(__pyx_v_readbuf_size); if (unlikely((__pyx_t_18 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1497, __pyx_L31_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1492 - * with open('test.gz', 'rb') as pyfid: - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index, # <<<<<<<<<<<<<< - * cfid, - * NULL, - */ - __Pyx_TraceLine(1492,0,__PYX_ERR(0, 1492, __pyx_L31_error)) - if (unlikely(!((!(zran_init((&__pyx_v_index), __pyx_v_cfid, NULL, 0x400000, 0x8000, __pyx_t_18, ZRAN_AUTO_BUILD) != 0)) != 0))) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1492, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1500 - * zran.ZRAN_AUTO_BUILD) - * - * eof = nelems * 8 - 1 # <<<<<<<<<<<<<< - * got = zran.zran_seek(&index, eof, SEEK_SET, NULL) - * - */ - __Pyx_TraceLine(1500,0,__PYX_ERR(0, 1500, __pyx_L31_error)) - __pyx_t_1 = PyNumber_Multiply(__pyx_v_nelems, __pyx_int_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1500, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1500, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_v_eof = __pyx_t_3; - __pyx_t_3 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1501 - * - * eof = nelems * 8 - 1 - * got = zran.zran_seek(&index, eof, SEEK_SET, NULL) # <<<<<<<<<<<<<< - * - * assert got == zran.ZRAN_SEEK_OK, got - */ - __Pyx_TraceLine(1501,0,__PYX_ERR(0, 1501, __pyx_L31_error)) - __pyx_t_19 = __Pyx_PyInt_As_int64_t(__pyx_v_eof); if (unlikely((__pyx_t_19 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 1501, __pyx_L31_error) - __pyx_v_got = zran_seek((&__pyx_v_index), __pyx_t_19, SEEK_SET, NULL); - - /* "indexed_gzip/tests/ctest_zran.pyx":1503 - * got = zran.zran_seek(&index, eof, SEEK_SET, NULL) - * - * assert got == zran.ZRAN_SEEK_OK, got # <<<<<<<<<<<<<< - * assert zran.zran_tell(&index) == eof - */ - __Pyx_TraceLine(1503,0,__PYX_ERR(0, 1503, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - if (unlikely(!((__pyx_v_got == ZRAN_SEEK_OK) != 0))) { - __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_got); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1503, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1503, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); - __pyx_t_3 = 0; - PyErr_SetObject(PyExc_AssertionError, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 1503, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1504 - * - * assert got == zran.ZRAN_SEEK_OK, got - * assert zran.zran_tell(&index) == eof # <<<<<<<<<<<<<< - */ - __Pyx_TraceLine(1504,0,__PYX_ERR(0, 1504, __pyx_L31_error)) - #ifndef CYTHON_WITHOUT_ASSERTIONS - if (unlikely(!Py_OptimizeFlag)) { - __pyx_t_1 = __Pyx_PyInt_From_uint64_t(zran_tell((&__pyx_v_index))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1504, __pyx_L31_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_v_eof, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1504, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 1504, __pyx_L31_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_16)) { - PyErr_SetNone(PyExc_AssertionError); - __PYX_ERR(0, 1504, __pyx_L31_error) - } - } - #endif - - /* "indexed_gzip/tests/ctest_zran.pyx":1490 - * readbuf_size = fsize - 10 - * - * with open('test.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index, - */ - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L36_try_end; - __pyx_L31_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_eof_memmove_rotate_bug", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 1490, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_3, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1490, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1490, __pyx_L33_except_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__pyx_t_16 < 0) __PYX_ERR(0, 1490, __pyx_L33_except_error) - __pyx_t_15 = ((!(__pyx_t_16 != 0)) != 0); - if (__pyx_t_15) { - __Pyx_GIVEREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_ErrRestoreWithState(__pyx_t_3, __pyx_t_1, __pyx_t_2); - __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; - __PYX_ERR(0, 1490, __pyx_L33_except_error) - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L32_exception_handled; - } - __pyx_L33_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - goto __pyx_L7_error; - __pyx_L32_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_11, __pyx_t_10); - __pyx_L36_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_9) { - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1490, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - goto __pyx_L30; - } - __pyx_L30:; - } - goto __pyx_L40; - __pyx_L27_error:; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L7_error; - __pyx_L40:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1481 - * cdef FILE *cfid - * - * with tempdir(): # <<<<<<<<<<<<<< - * nelems = np.random.randint(524288, 525000, 1)[0] - * data = np.random.random(nelems) - */ - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - /*except:*/ { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_eof_memmove_rotate_bug", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_3) < 0) __PYX_ERR(0, 1481, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1481, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1481, __pyx_L9_except_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_15 < 0) __PYX_ERR(0, 1481, __pyx_L9_except_error) - __pyx_t_16 = ((!(__pyx_t_15 != 0)) != 0); - if (__pyx_t_16) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_1, __pyx_t_3); - __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; - __PYX_ERR(0, 1481, __pyx_L9_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - __pyx_L12_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_4) { - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__23, NULL); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1481, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - goto __pyx_L6; - } - __pyx_L6:; - } - goto __pyx_L44; - __pyx_L3_error:; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L1_error; - __pyx_L44:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":1459 - * - * # pauldmccarthy/indexed_gzip#80 - * def test_read_eof_memmove_rotate_bug(seed): # <<<<<<<<<<<<<< - * - * # This bug was triggered by the read buffer rotation - */ - - /* function exit code */ - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran.test_read_eof_memmove_rotate_bug", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_nelems); - __Pyx_XDECREF(__pyx_v_data); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_fsize); - __Pyx_XDECREF(__pyx_v_readbuf_size); - __Pyx_XDECREF(__pyx_v_pyfid); - __Pyx_XDECREF(__pyx_v_eof); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":735 - * ctypedef npy_cdouble complex_t - * - * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(1, a) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); - __Pyx_TraceCall("PyArray_MultiIterNew1", __pyx_f[2], 735, 0, __PYX_ERR(2, 735, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":736 - * - * cdef inline object PyArray_MultiIterNew1(a): - * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew2(a, b): - */ - __Pyx_TraceLine(736,0,__PYX_ERR(2, 736, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 736, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":735 - * ctypedef npy_cdouble complex_t - * - * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(1, a) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":738 - * return PyArray_MultiIterNew(1, a) - * - * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(2, a, b) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); - __Pyx_TraceCall("PyArray_MultiIterNew2", __pyx_f[2], 738, 0, __PYX_ERR(2, 738, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":739 - * - * cdef inline object PyArray_MultiIterNew2(a, b): - * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): - */ - __Pyx_TraceLine(739,0,__PYX_ERR(2, 739, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 739, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":738 - * return PyArray_MultiIterNew(1, a) - * - * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(2, a, b) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":741 - * return PyArray_MultiIterNew(2, a, b) - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(3, a, b, c) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); - __Pyx_TraceCall("PyArray_MultiIterNew3", __pyx_f[2], 741, 0, __PYX_ERR(2, 741, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":742 - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): - * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): - */ - __Pyx_TraceLine(742,0,__PYX_ERR(2, 742, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 742, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":741 - * return PyArray_MultiIterNew(2, a, b) - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(3, a, b, c) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":744 - * return PyArray_MultiIterNew(3, a, b, c) - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(4, a, b, c, d) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); - __Pyx_TraceCall("PyArray_MultiIterNew4", __pyx_f[2], 744, 0, __PYX_ERR(2, 744, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":745 - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): - * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): - */ - __Pyx_TraceLine(745,0,__PYX_ERR(2, 745, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 745, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":744 - * return PyArray_MultiIterNew(3, a, b, c) - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(4, a, b, c, d) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":747 - * return PyArray_MultiIterNew(4, a, b, c, d) - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); - __Pyx_TraceCall("PyArray_MultiIterNew5", __pyx_f[2], 747, 0, __PYX_ERR(2, 747, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":748 - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): - * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - */ - __Pyx_TraceLine(748,0,__PYX_ERR(2, 748, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 748, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_r = __pyx_t_1; - __pyx_t_1 = 0; - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":747 - * return PyArray_MultiIterNew(4, a, b, c, d) - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":750 - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) { - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0); - __Pyx_TraceCall("PyDataType_SHAPE", __pyx_f[2], 750, 0, __PYX_ERR(2, 750, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":751 - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< - * return d.subarray.shape - * else: - */ - __Pyx_TraceLine(751,0,__PYX_ERR(2, 751, __pyx_L1_error)) - __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0); - if (__pyx_t_1) { - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":752 - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape # <<<<<<<<<<<<<< - * else: - * return () - */ - __Pyx_TraceLine(752,0,__PYX_ERR(2, 752, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape)); - __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape); - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":751 - * - * cdef inline tuple PyDataType_SHAPE(dtype d): - * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< - * return d.subarray.shape - * else: - */ - } - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":754 - * return d.subarray.shape - * else: - * return () # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(754,0,__PYX_ERR(2, 754, __pyx_L1_error)) - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_empty_tuple); - __pyx_r = __pyx_empty_tuple; - goto __pyx_L0; - } - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":750 - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("numpy.PyDataType_SHAPE", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":929 - * int _import_umath() except -1 - * - * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) - */ - -static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("set_array_base", 0); - __Pyx_TraceCall("set_array_base", __pyx_f[2], 929, 0, __PYX_ERR(2, 929, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":930 - * - * cdef inline void set_array_base(ndarray arr, object base): - * Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<< - * PyArray_SetBaseObject(arr, base) - * - */ - __Pyx_TraceLine(930,0,__PYX_ERR(2, 930, __pyx_L1_error)) - Py_INCREF(__pyx_v_base); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":931 - * cdef inline void set_array_base(ndarray arr, object base): - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<< - * - * cdef inline object get_array_base(ndarray arr): - */ - __Pyx_TraceLine(931,0,__PYX_ERR(2, 931, __pyx_L1_error)) - (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":929 - * int _import_umath() except -1 - * - * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) - */ - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_WriteUnraisable("numpy.set_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":933 - * PyArray_SetBaseObject(arr, base) - * - * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< - * base = PyArray_BASE(arr) - * if base is NULL: - */ - -static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { - PyObject *__pyx_v_base; - PyObject *__pyx_r = NULL; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_t_1; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("get_array_base", 0); - __Pyx_TraceCall("get_array_base", __pyx_f[2], 933, 0, __PYX_ERR(2, 933, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":934 - * - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) # <<<<<<<<<<<<<< - * if base is NULL: - * return None - */ - __Pyx_TraceLine(934,0,__PYX_ERR(2, 934, __pyx_L1_error)) - __pyx_v_base = PyArray_BASE(__pyx_v_arr); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":935 - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) - * if base is NULL: # <<<<<<<<<<<<<< - * return None - * return base - */ - __Pyx_TraceLine(935,0,__PYX_ERR(2, 935, __pyx_L1_error)) - __pyx_t_1 = ((__pyx_v_base == NULL) != 0); - if (__pyx_t_1) { - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":936 - * base = PyArray_BASE(arr) - * if base is NULL: - * return None # <<<<<<<<<<<<<< - * return base - * - */ - __Pyx_TraceLine(936,0,__PYX_ERR(2, 936, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":935 - * cdef inline object get_array_base(ndarray arr): - * base = PyArray_BASE(arr) - * if base is NULL: # <<<<<<<<<<<<<< - * return None - * return base - */ - } - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":937 - * if base is NULL: - * return None - * return base # <<<<<<<<<<<<<< - * - * # Versions of the import_* functions which are more suitable for - */ - __Pyx_TraceLine(937,0,__PYX_ERR(2, 937, __pyx_L1_error)) - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(((PyObject *)__pyx_v_base)); - __pyx_r = ((PyObject *)__pyx_v_base); - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":933 - * PyArray_SetBaseObject(arr, base) - * - * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< - * base = PyArray_BASE(arr) - * if base is NULL: - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("numpy.get_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = 0; - __pyx_L0:; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_TraceReturn(__pyx_r, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":941 - * # Versions of the import_* functions which are more suitable for - * # Cython code. - * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< - * try: - * __pyx_import_array() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) { - int __pyx_r; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_array", 0); - __Pyx_TraceCall("import_array", __pyx_f[2], 941, 0, __PYX_ERR(2, 941, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":942 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * __pyx_import_array() - * except Exception: - */ - __Pyx_TraceLine(942,0,__PYX_ERR(2, 942, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":943 - * cdef inline int import_array() except -1: - * try: - * __pyx_import_array() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") - */ - __Pyx_TraceLine(943,0,__PYX_ERR(2, 943, __pyx_L3_error)) - __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 943, __pyx_L3_error) - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":942 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * __pyx_import_array() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":944 - * try: - * __pyx_import_array() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.multiarray failed to import") - * - */ - __Pyx_TraceLine(944,0,__PYX_ERR(2, 944, __pyx_L5_except_error)) - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 944, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":945 - * __pyx_import_array() - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_umath() except -1: - */ - __Pyx_TraceLine(945,0,__PYX_ERR(2, 945, __pyx_L5_except_error)) - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__71, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 945, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(2, 945, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":942 - * # Cython code. - * cdef inline int import_array() except -1: - * try: # <<<<<<<<<<<<<< - * __pyx_import_array() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":941 - * # Versions of the import_* functions which are more suitable for - * # Cython code. - * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< - * try: - * __pyx_import_array() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":947 - * raise ImportError("numpy.core.multiarray failed to import") - * - * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) { - int __pyx_r; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_umath", 0); - __Pyx_TraceCall("import_umath", __pyx_f[2], 947, 0, __PYX_ERR(2, 947, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":948 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - __Pyx_TraceLine(948,0,__PYX_ERR(2, 948, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":949 - * cdef inline int import_umath() except -1: - * try: - * _import_umath() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.umath failed to import") - */ - __Pyx_TraceLine(949,0,__PYX_ERR(2, 949, __pyx_L3_error)) - __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 949, __pyx_L3_error) - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":948 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":950 - * try: - * _import_umath() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.umath failed to import") - * - */ - __Pyx_TraceLine(950,0,__PYX_ERR(2, 950, __pyx_L5_except_error)) - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 950, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":951 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_ufunc() except -1: - */ - __Pyx_TraceLine(951,0,__PYX_ERR(2, 951, __pyx_L5_except_error)) - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 951, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(2, 951, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":948 - * - * cdef inline int import_umath() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":947 - * raise ImportError("numpy.core.multiarray failed to import") - * - * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":953 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - -static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) { - int __pyx_r; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("import_ufunc", 0); - __Pyx_TraceCall("import_ufunc", __pyx_f[2], 953, 0, __PYX_ERR(2, 953, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":954 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - __Pyx_TraceLine(954,0,__PYX_ERR(2, 954, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":955 - * cdef inline int import_ufunc() except -1: - * try: - * _import_umath() # <<<<<<<<<<<<<< - * except Exception: - * raise ImportError("numpy.core.umath failed to import") - */ - __Pyx_TraceLine(955,0,__PYX_ERR(2, 955, __pyx_L3_error)) - __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(2, 955, __pyx_L3_error) - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":954 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_try_end; - __pyx_L3_error:; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":956 - * try: - * _import_umath() - * except Exception: # <<<<<<<<<<<<<< - * raise ImportError("numpy.core.umath failed to import") - * - */ - __Pyx_TraceLine(956,0,__PYX_ERR(2, 956, __pyx_L5_except_error)) - __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_4) { - __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 956, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GOTREF(__pyx_t_7); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":957 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - * - * cdef extern from *: - */ - __Pyx_TraceLine(957,0,__PYX_ERR(2, 957, __pyx_L5_except_error)) - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 957, __pyx_L5_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_Raise(__pyx_t_8, 0, 0, 0); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __PYX_ERR(2, 957, __pyx_L5_except_error) - } - goto __pyx_L5_except_error; - __pyx_L5_except_error:; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":954 - * - * cdef inline int import_ufunc() except -1: - * try: # <<<<<<<<<<<<<< - * _import_umath() - * except Exception: - */ - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_end:; - } - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":953 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - - /* function exit code */ - __pyx_r = 0; - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = -1; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":967 - * - * - * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< - * """ - * Cython equivalent of `isinstance(obj, np.timedelta64)` - */ - -static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) { - int __pyx_r; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("is_timedelta64_object", 0); - __Pyx_TraceCall("is_timedelta64_object", __pyx_f[2], 967, 0, __PYX_ERR(2, 967, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":979 - * bool - * """ - * return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(979,0,__PYX_ERR(2, 979, __pyx_L1_error)) - __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type)); - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":967 - * - * - * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< - * """ - * Cython equivalent of `isinstance(obj, np.timedelta64)` - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_WriteUnraisable("numpy.is_timedelta64_object", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); - __pyx_r = 0; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":982 - * - * - * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< - * """ - * Cython equivalent of `isinstance(obj, np.datetime64)` - */ - -static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) { - int __pyx_r; - __Pyx_TraceDeclarations - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("is_datetime64_object", 0); - __Pyx_TraceCall("is_datetime64_object", __pyx_f[2], 982, 0, __PYX_ERR(2, 982, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":994 - * bool - * """ - * return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type) # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(994,0,__PYX_ERR(2, 994, __pyx_L1_error)) - __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type)); - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":982 - * - * - * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< - * """ - * Cython equivalent of `isinstance(obj, np.datetime64)` - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_WriteUnraisable("numpy.is_datetime64_object", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); - __pyx_r = 0; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 0); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":997 - * - * - * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the int64 value underlying scalar numpy datetime64 object - */ - -static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) { - npy_datetime __pyx_r; - __Pyx_TraceDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceCall("get_datetime64_value", __pyx_f[2], 997, 1, __PYX_ERR(2, 997, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1004 - * also needed. That can be found using `get_datetime64_unit`. - * """ - * return (obj).obval # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1004,1,__PYX_ERR(2, 1004, __pyx_L1_error)) - __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval; - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":997 - * - * - * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the int64 value underlying scalar numpy datetime64 object - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_WriteUnraisable("numpy.get_datetime64_value", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); - __pyx_r = 0; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 1); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1007 - * - * - * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the int64 value underlying scalar numpy timedelta64 object - */ - -static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) { - npy_timedelta __pyx_r; - __Pyx_TraceDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceCall("get_timedelta64_value", __pyx_f[2], 1007, 1, __PYX_ERR(2, 1007, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1011 - * returns the int64 value underlying scalar numpy timedelta64 object - * """ - * return (obj).obval # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(1011,1,__PYX_ERR(2, 1011, __pyx_L1_error)) - __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval; - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1007 - * - * - * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the int64 value underlying scalar numpy timedelta64 object - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_WriteUnraisable("numpy.get_timedelta64_value", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); - __pyx_r = 0; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 1); - return __pyx_r; -} - -/* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1014 - * - * - * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the unit part of the dtype for a numpy datetime64 object. - */ - -static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) { - NPY_DATETIMEUNIT __pyx_r; - __Pyx_TraceDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_TraceCall("get_datetime64_unit", __pyx_f[2], 1014, 1, __PYX_ERR(2, 1014, __pyx_L1_error)); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1018 - * returns the unit part of the dtype for a numpy datetime64 object. - * """ - * return (obj).obmeta.base # <<<<<<<<<<<<<< - */ - __Pyx_TraceLine(1018,1,__PYX_ERR(2, 1018, __pyx_L1_error)) - __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base); - goto __pyx_L0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1014 - * - * - * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the unit part of the dtype for a numpy datetime64 object. - */ - - /* function exit code */ - __pyx_L1_error:; - __Pyx_WriteUnraisable("numpy.get_datetime64_unit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 1); - __pyx_r = (NPY_DATETIMEUNIT) 0; - __pyx_L0:; - __Pyx_TraceReturn(Py_None, 1); - return __pyx_r; -} - -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyTypeObject *t, PyObject *a, PyObject *k) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *p; - PyObject *o; - if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { - o = (*t->tp_alloc)(t, 0); - } else { - o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); - } - if (unlikely(!o)) return 0; - p = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)o); - p->mmap_fd = Py_None; Py_INCREF(Py_None); - p->mmap_path = Py_None; Py_INCREF(Py_None); - if (unlikely(__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_1__cinit__(o, a, k) < 0)) goto bad; - return o; - bad: - Py_DECREF(o); o = 0; - return NULL; -} - -static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyObject *o) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && !_PyGC_FINALIZED(o)) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - #endif - PyObject_GC_UnTrack(o); - { - PyObject *etype, *eval, *etb; - PyErr_Fetch(&etype, &eval, &etb); - __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1); - __pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_5__dealloc__(o); - __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1); - PyErr_Restore(etype, eval, etb); - } - Py_CLEAR(p->mmap_fd); - Py_CLEAR(p->mmap_path); - (*Py_TYPE(o)->tp_free)(o); -} - -static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)o; - if (p->mmap_fd) { - e = (*v)(p->mmap_fd, a); if (e) return e; - } - if (p->mmap_path) { - e = (*v)(p->mmap_path, a); if (e) return e; - } - return 0; -} - -static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran_ReadBuffer(PyObject *o) { - PyObject* tmp; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer *)o; - tmp = ((PyObject*)p->mmap_fd); - p->mmap_fd = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - tmp = ((PyObject*)p->mmap_path); - p->mmap_path = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; -} - -static PyMethodDef __pyx_methods_12indexed_gzip_5tests_10ctest_zran_ReadBuffer[] = { - {"resize", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_3resize, METH_O, __pyx_doc_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_2resize}, - {"__reduce_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_7__reduce_cython__, METH_NOARGS, 0}, - {"__setstate_cython__", (PyCFunction)__pyx_pw_12indexed_gzip_5tests_10ctest_zran_10ReadBuffer_9__setstate_cython__, METH_O, 0}, - {0, 0, 0, 0} -}; - -static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.tests.ctest_zran.ReadBuffer", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran_ReadBuffer), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - "Wrapper around a chunk of memory.\n\n .. see:: http://docs.cython.org/src/tutorial/memory_allocation.html\n ", /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_traverse*/ - __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - __pyx_methods_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran_ReadBuffer, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__[8]; -static int __pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ = 0; - -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__)))) { - o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__[--__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__]; - memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyObject *o) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)o; - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_fd); - Py_CLEAR(p->__pyx_v_th); - if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__)))) { - __pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__[__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__++] = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)o); - } else { - (*Py_TYPE(o)->tp_free)(o); - } -} - -static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)o; - if (p->__pyx_v_fd) { - e = (*v)(p->__pyx_v_fd, a); if (e) return e; - } - if (p->__pyx_v_th) { - e = (*v)(p->__pyx_v_th, a); if (e) return e; - } - return 0; -} - -static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__(PyObject *o) { - PyObject* tmp; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ *)o; - tmp = ((PyObject*)p->__pyx_v_fd); - p->__pyx_v_fd = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - tmp = ((PyObject*)p->__pyx_v_th); - p->__pyx_v_th = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; -} - -static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.tests.ctest_zran.__pyx_scope_struct____cinit__", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, /*tp_traverse*/ - __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn[8]; -static int __pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn = 0; - -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn)))) { - o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn[--__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn]; - memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyObject *o) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)o; - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_return_value); - if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn)))) { - __pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn[__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn++] = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)o); - } else { - (*Py_TYPE(o)->tp_free)(o); - } -} - -static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)o; - if (p->__pyx_v_return_value) { - e = (*v)(p->__pyx_v_return_value, a); if (e) return e; - } - return 0; -} - -static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn(PyObject *o) { - PyObject* tmp; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn *)o; - tmp = ((PyObject*)p->__pyx_v_return_value); - p->__pyx_v_return_value = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; -} - -static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.tests.ctest_zran.__pyx_scope_struct_1_return_fn", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, /*tp_traverse*/ - __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation[8]; -static int __pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation = 0; - -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation)))) { - o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation[--__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation]; - memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyObject *o) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)o; - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v__zran_init); - Py_CLEAR(p->__pyx_v_cmpdata); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_dsize); - Py_CLEAR(p->__pyx_v_f); - if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation)))) { - __pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation[__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation++] = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)o); - } else { - (*Py_TYPE(o)->tp_free)(o); - } -} - -static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)o; - if (p->__pyx_v__zran_init) { - e = (*v)(p->__pyx_v__zran_init, a); if (e) return e; - } - if (p->__pyx_v_cmpdata) { - e = (*v)(p->__pyx_v_cmpdata, a); if (e) return e; - } - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_dsize) { - e = (*v)(p->__pyx_v_dsize, a); if (e) return e; - } - if (p->__pyx_v_f) { - e = (*v)(p->__pyx_v_f, a); if (e) return e; - } - return 0; -} - -static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation(PyObject *o) { - PyObject* tmp; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation *)o; - tmp = ((PyObject*)p->__pyx_v__zran_init); - p->__pyx_v__zran_init = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - tmp = ((PyObject*)p->__pyx_v_cmpdata); - p->__pyx_v_cmpdata = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - tmp = ((PyObject*)p->__pyx_v_data); - p->__pyx_v_data = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - tmp = ((PyObject*)p->__pyx_v_dsize); - p->__pyx_v_dsize = Py_None; Py_INCREF(Py_None); - Py_XDECREF(tmp); - tmp = ((PyObject*)p->__pyx_v_f); - p->__pyx_v_f = ((PyObject*)Py_None); Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; -} - -static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.tests.ctest_zran.__pyx_scope_struct_2_test_crc_validation", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, /*tp_traverse*/ - __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding[8]; -static int __pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding = 0; - -static PyObject *__pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding)))) { - o = (PyObject*)__pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding[--__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding]; - memset(o, 0, sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - return o; -} - -static void __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyObject *o) { - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)o; - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_f); - Py_CLEAR(p->__pyx_v_paddedcmpdata); - if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding)))) { - __pyx_freelist_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding[__pyx_freecount_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding++] = ((struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)o); - } else { - (*Py_TYPE(o)->tp_free)(o); - } -} - -static int __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)o; - if (p->__pyx_v_f) { - e = (*v)(p->__pyx_v_f, a); if (e) return e; - } - return 0; -} - -static int __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding(PyObject *o) { - PyObject* tmp; - struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *p = (struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding *)o; - tmp = ((PyObject*)p->__pyx_v_f); - p->__pyx_v_f = ((PyObject*)Py_None); Py_INCREF(Py_None); - Py_XDECREF(tmp); - return 0; -} - -static PyTypeObject __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding = { - PyVarObject_HEAD_INIT(0, 0) - "indexed_gzip.tests.ctest_zran.__pyx_scope_struct_3_test_standard_usage_with_null_padding", /*tp_name*/ - sizeof(struct __pyx_obj_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, /*tp_traverse*/ - __pyx_tp_clear_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - 0, /*tp_dictoffset*/ - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - 0, /*tp_finalize*/ - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, /*tp_print*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, /*tp_pypy_flags*/ - #endif -}; - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_ctest_zran(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_ctest_zran}, - {0, NULL} -}; -#endif - -static struct PyModuleDef __pyx_moduledef = { - PyModuleDef_HEAD_INIT, - "ctest_zran", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ -}; -#endif -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif - -static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_s_0_2f_seconds, __pyx_k_0_2f_seconds, sizeof(__pyx_k_0_2f_seconds), 0, 0, 1, 0}, - {&__pyx_n_s_BytesIO, __pyx_k_BytesIO, sizeof(__pyx_k_BytesIO), 0, 0, 1, 1}, - {&__pyx_kp_s_Cannot_resize_a_memmapped_array, __pyx_k_Cannot_resize_a_memmapped_array, sizeof(__pyx_k_Cannot_resize_a_memmapped_array), 0, 0, 1, 0}, - {&__pyx_kp_s_Copied_stream_from_to_padding_b, __pyx_k_Copied_stream_from_to_padding_b, sizeof(__pyx_k_Copied_stream_from_to_padding_b), 0, 0, 1, 0}, - {&__pyx_n_s_Error, __pyx_k_Error, sizeof(__pyx_k_Error), 0, 0, 1, 1}, - {&__pyx_kp_s_Error_at_point_d, __pyx_k_Error_at_point_d, sizeof(__pyx_k_Error_at_point_d), 0, 0, 1, 0}, - {&__pyx_kp_b_GZIDX, __pyx_k_GZIDX, sizeof(__pyx_k_GZIDX), 0, 0, 0, 0}, - {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, - {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1}, - {&__pyx_kp_s_Memory_mapping_0_2f_GB, __pyx_k_Memory_mapping_0_2f_GB, sizeof(__pyx_k_Memory_mapping_0_2f_GB), 0, 0, 1, 0}, - {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1}, - {&__pyx_kp_s_Padding_streams_orig_size, __pyx_k_Padding_streams_orig_size, sizeof(__pyx_k_Padding_streams_orig_size), 0, 0, 1, 0}, - {&__pyx_kp_s_PyMem_Realloc_fail, __pyx_k_PyMem_Realloc_fail, sizeof(__pyx_k_PyMem_Realloc_fail), 0, 0, 1, 0}, - {&__pyx_n_s_RUSAGE_SELF, __pyx_k_RUSAGE_SELF, sizeof(__pyx_k_RUSAGE_SELF), 0, 0, 1, 1}, - {&__pyx_n_s_ReadBuffer, __pyx_k_ReadBuffer, sizeof(__pyx_k_ReadBuffer), 0, 0, 1, 1}, - {&__pyx_kp_s_ReadBuffer_init_fail, __pyx_k_ReadBuffer_init_fail, sizeof(__pyx_k_ReadBuffer_init_fail), 0, 0, 1, 0}, - {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, - {&__pyx_n_s_Thread, __pyx_k_Thread, sizeof(__pyx_k_Thread), 0, 0, 1, 1}, - {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_kp_s__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 0, 1, 0}, - {&__pyx_kp_s__35, __pyx_k__35, sizeof(__pyx_k__35), 0, 0, 1, 0}, - {&__pyx_n_s__73, __pyx_k__73, sizeof(__pyx_k__73), 0, 0, 1, 1}, - {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, - {&__pyx_kp_s_a_2, __pyx_k_a_2, sizeof(__pyx_k_a_2), 0, 0, 1, 0}, - {&__pyx_n_b_abc, __pyx_k_abc, sizeof(__pyx_k_abc), 0, 0, 0, 1}, - {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, - {&__pyx_n_s_arange, __pyx_k_arange, sizeof(__pyx_k_arange), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_bmode, __pyx_k_bmode, sizeof(__pyx_k_bmode), 0, 0, 1, 1}, - {&__pyx_n_s_buf, __pyx_k_buf, sizeof(__pyx_k_buf), 0, 0, 1, 1}, - {&__pyx_n_s_bufSize, __pyx_k_bufSize, sizeof(__pyx_k_bufSize), 0, 0, 1, 1}, - {&__pyx_n_s_buffer, __pyx_k_buffer, sizeof(__pyx_k_buffer), 0, 0, 1, 1}, - {&__pyx_n_s_bufsize, __pyx_k_bufsize, sizeof(__pyx_k_bufsize), 0, 0, 1, 1}, - {&__pyx_n_s_bufsizes, __pyx_k_bufsizes, sizeof(__pyx_k_bufsizes), 0, 0, 1, 1}, - {&__pyx_n_s_cfid, __pyx_k_cfid, sizeof(__pyx_k_cfid), 0, 0, 1, 1}, - {&__pyx_n_s_check_data_valid, __pyx_k_check_data_valid, sizeof(__pyx_k_check_data_valid), 0, 0, 1, 1}, - {&__pyx_n_s_cidxfid, __pyx_k_cidxfid, sizeof(__pyx_k_cidxfid), 0, 0, 1, 1}, - {&__pyx_n_s_cinit___locals_initmem, __pyx_k_cinit___locals_initmem, sizeof(__pyx_k_cinit___locals_initmem), 0, 0, 1, 1}, - {&__pyx_n_s_cinit___locals_lambda, __pyx_k_cinit___locals_lambda, sizeof(__pyx_k_cinit___locals_lambda), 0, 0, 1, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_s_cmode, __pyx_k_cmode, sizeof(__pyx_k_cmode), 0, 0, 1, 1}, - {&__pyx_n_s_cmpdata, __pyx_k_cmpdata, sizeof(__pyx_k_cmpdata), 0, 0, 1, 1}, - {&__pyx_n_s_compress_inmem, __pyx_k_compress_inmem, sizeof(__pyx_k_compress_inmem), 0, 0, 1, 1}, - {&__pyx_n_s_concat, __pyx_k_concat, sizeof(__pyx_k_concat), 0, 0, 1, 1}, - {&__pyx_n_s_concatenate, __pyx_k_concatenate, sizeof(__pyx_k_concatenate), 0, 0, 1, 1}, - {&__pyx_n_s_contextlib, __pyx_k_contextlib, sizeof(__pyx_k_contextlib), 0, 0, 1, 1}, - {&__pyx_n_s_curelem, __pyx_k_curelem, sizeof(__pyx_k_curelem), 0, 0, 1, 1}, - {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, - {&__pyx_kp_s_data_gz, __pyx_k_data_gz, sizeof(__pyx_k_data_gz), 0, 0, 1, 0}, - {&__pyx_kp_s_data_gz_index, __pyx_k_data_gz_index, sizeof(__pyx_k_data_gz_index), 0, 0, 1, 0}, - {&__pyx_n_b_dbc, __pyx_k_dbc, sizeof(__pyx_k_dbc), 0, 0, 0, 1}, - {&__pyx_n_b_dec, __pyx_k_dec, sizeof(__pyx_k_dec), 0, 0, 0, 1}, - {&__pyx_n_s_dsize, __pyx_k_dsize, sizeof(__pyx_k_dsize), 0, 0, 1, 1}, - {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, - {&__pyx_kp_s_dummy_gz, __pyx_k_dummy_gz, sizeof(__pyx_k_dummy_gz), 0, 0, 1, 0}, - {&__pyx_kp_s_element, __pyx_k_element, sizeof(__pyx_k_element), 0, 0, 1, 0}, - {&__pyx_n_s_elems_read, __pyx_k_elems_read, sizeof(__pyx_k_elems_read), 0, 0, 1, 1}, - {&__pyx_n_s_elems_written, __pyx_k_elems_written, sizeof(__pyx_k_elems_written), 0, 0, 1, 1}, - {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, - {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1}, - {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, - {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1}, - {&__pyx_n_s_eof, __pyx_k_eof, sizeof(__pyx_k_eof), 0, 0, 1, 1}, - {&__pyx_n_s_error_fn, __pyx_k_error_fn, sizeof(__pyx_k_error_fn), 0, 0, 1, 1}, - {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1}, - {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, - {&__pyx_n_s_exp, __pyx_k_exp, sizeof(__pyx_k_exp), 0, 0, 1, 1}, - {&__pyx_n_s_expect_build, __pyx_k_expect_build, sizeof(__pyx_k_expect_build), 0, 0, 1, 1}, - {&__pyx_n_s_expect_read, __pyx_k_expect_read, sizeof(__pyx_k_expect_read), 0, 0, 1, 1}, - {&__pyx_n_s_expect_seek, __pyx_k_expect_seek, sizeof(__pyx_k_expect_seek), 0, 0, 1, 1}, - {&__pyx_n_s_expected, __pyx_k_expected, sizeof(__pyx_k_expected), 0, 0, 1, 1}, - {&__pyx_kp_s_expread, __pyx_k_expread, sizeof(__pyx_k_expread), 0, 0, 1, 0}, - {&__pyx_n_s_expread_2, __pyx_k_expread_2, sizeof(__pyx_k_expread_2), 0, 0, 1, 1}, - {&__pyx_kp_s_expseek, __pyx_k_expseek, sizeof(__pyx_k_expseek), 0, 0, 1, 0}, - {&__pyx_n_s_expseek_2, __pyx_k_expseek_2, sizeof(__pyx_k_expseek_2), 0, 0, 1, 1}, - {&__pyx_kp_s_exptell, __pyx_k_exptell, sizeof(__pyx_k_exptell), 0, 0, 1, 0}, - {&__pyx_n_s_exptell_2, __pyx_k_exptell_2, sizeof(__pyx_k_exptell_2), 0, 0, 1, 1}, - {&__pyx_n_s_expval, __pyx_k_expval, sizeof(__pyx_k_expval), 0, 0, 1, 1}, - {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1}, - {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, - {&__pyx_n_s_fileno, __pyx_k_fileno, sizeof(__pyx_k_fileno), 0, 0, 1, 1}, - {&__pyx_n_s_files, __pyx_k_files, sizeof(__pyx_k_files), 0, 0, 1, 1}, - {&__pyx_n_s_filesize, __pyx_k_filesize, sizeof(__pyx_k_filesize), 0, 0, 1, 1}, - {&__pyx_n_s_flag, __pyx_k_flag, sizeof(__pyx_k_flag), 0, 0, 1, 1}, - {&__pyx_n_s_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 0, 0, 1, 1}, - {&__pyx_n_s_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 0, 0, 1, 1}, - {&__pyx_n_s_fn, __pyx_k_fn, sizeof(__pyx_k_fn), 0, 0, 1, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_n_s_frombuffer, __pyx_k_frombuffer, sizeof(__pyx_k_frombuffer), 0, 0, 1, 1}, - {&__pyx_n_s_fsize, __pyx_k_fsize, sizeof(__pyx_k_fsize), 0, 0, 1, 1}, - {&__pyx_kp_s_ftell, __pyx_k_ftell, sizeof(__pyx_k_ftell), 0, 0, 1, 0}, - {&__pyx_n_s_getrusage, __pyx_k_getrusage, sizeof(__pyx_k_getrusage), 0, 0, 1, 1}, - {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, - {&__pyx_n_s_got, __pyx_k_got, sizeof(__pyx_k_got), 0, 0, 1, 1}, - {&__pyx_kp_s_gotread, __pyx_k_gotread, sizeof(__pyx_k_gotread), 0, 0, 1, 0}, - {&__pyx_n_s_gotread_2, __pyx_k_gotread_2, sizeof(__pyx_k_gotread_2), 0, 0, 1, 1}, - {&__pyx_kp_s_gotseek, __pyx_k_gotseek, sizeof(__pyx_k_gotseek), 0, 0, 1, 0}, - {&__pyx_kp_s_gottell, __pyx_k_gottell, sizeof(__pyx_k_gottell), 0, 0, 1, 0}, - {&__pyx_n_s_gottell_2, __pyx_k_gottell_2, sizeof(__pyx_k_gottell_2), 0, 0, 1, 1}, - {&__pyx_n_s_gzip, __pyx_k_gzip, sizeof(__pyx_k_gzip), 0, 0, 1, 1}, - {&__pyx_n_s_hashlib, __pyx_k_hashlib, sizeof(__pyx_k_hashlib), 0, 0, 1, 1}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1}, - {&__pyx_kp_s_idx_tmp, __pyx_k_idx_tmp, sizeof(__pyx_k_idx_tmp), 0, 0, 1, 0}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1}, - {&__pyx_n_s_index1, __pyx_k_index1, sizeof(__pyx_k_index1), 0, 0, 1, 1}, - {&__pyx_n_s_index2, __pyx_k_index2, sizeof(__pyx_k_index2), 0, 0, 1, 1}, - {&__pyx_n_s_indexSpacing, __pyx_k_indexSpacing, sizeof(__pyx_k_indexSpacing), 0, 0, 1, 1}, - {&__pyx_n_s_indexed_gzip_tests_ctest_zran, __pyx_k_indexed_gzip_tests_ctest_zran, sizeof(__pyx_k_indexed_gzip_tests_ctest_zran), 0, 0, 1, 1}, - {&__pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_k_indexed_gzip_tests_ctest_zran_py, sizeof(__pyx_k_indexed_gzip_tests_ctest_zran_py), 0, 0, 1, 0}, - {&__pyx_n_s_initmem, __pyx_k_initmem, sizeof(__pyx_k_initmem), 0, 0, 1, 1}, - {&__pyx_n_s_inp, __pyx_k_inp, sizeof(__pyx_k_inp), 0, 0, 1, 1}, - {&__pyx_n_s_io, __pyx_k_io, sizeof(__pyx_k_io), 0, 0, 1, 1}, - {&__pyx_n_s_is_alive, __pyx_k_is_alive, sizeof(__pyx_k_is_alive), 0, 0, 1, 1}, - {&__pyx_n_s_it, __pyx_k_it, sizeof(__pyx_k_it), 0, 0, 1, 1}, - {&__pyx_n_s_iters, __pyx_k_iters, sizeof(__pyx_k_iters), 0, 0, 1, 1}, - {&__pyx_n_s_itertools, __pyx_k_itertools, sizeof(__pyx_k_itertools), 0, 0, 1, 1}, - {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, - {&__pyx_n_s_last, __pyx_k_last, sizeof(__pyx_k_last), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_mem, __pyx_k_mem, sizeof(__pyx_k_mem), 0, 0, 1, 1}, - {&__pyx_n_s_mkstemp, __pyx_k_mkstemp, sizeof(__pyx_k_mkstemp), 0, 0, 1, 1}, - {&__pyx_kp_s_mmap_fail, __pyx_k_mmap_fail, sizeof(__pyx_k_mmap_fail), 0, 0, 1, 0}, - {&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1}, - {&__pyx_n_s_modes, __pyx_k_modes, sizeof(__pyx_k_modes), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_kp_s_nbytes, __pyx_k_nbytes, sizeof(__pyx_k_nbytes), 0, 0, 1, 0}, - {&__pyx_n_s_nbytes_2, __pyx_k_nbytes_2, sizeof(__pyx_k_nbytes_2), 0, 0, 1, 1}, - {&__pyx_kp_s_nelems, __pyx_k_nelems, sizeof(__pyx_k_nelems), 0, 0, 1, 0}, - {&__pyx_n_s_nelems_2, __pyx_k_nelems_2, sizeof(__pyx_k_nelems_2), 0, 0, 1, 1}, - {&__pyx_n_s_nelemsp, __pyx_k_nelemsp, sizeof(__pyx_k_nelemsp), 0, 0, 1, 1}, - {&__pyx_n_s_niters, __pyx_k_niters, sizeof(__pyx_k_niters), 0, 0, 1, 1}, - {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0}, - {&__pyx_n_s_no_fds, __pyx_k_no_fds, sizeof(__pyx_k_no_fds), 0, 0, 1, 1}, - {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, - {&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1}, - {&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0}, - {&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0}, - {&__pyx_n_s_off, __pyx_k_off, sizeof(__pyx_k_off), 0, 0, 1, 1}, - {&__pyx_n_s_op, __pyx_k_op, sizeof(__pyx_k_op), 0, 0, 1, 1}, - {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1}, - {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, - {&__pyx_n_s_os_path, __pyx_k_os_path, sizeof(__pyx_k_os_path), 0, 0, 1, 1}, - {&__pyx_n_s_out, __pyx_k_out, sizeof(__pyx_k_out), 0, 0, 1, 1}, - {&__pyx_n_s_output, __pyx_k_output, sizeof(__pyx_k_output), 0, 0, 1, 1}, - {&__pyx_n_s_pad, __pyx_k_pad, sizeof(__pyx_k_pad), 0, 0, 1, 1}, - {&__pyx_n_s_paddedcmpdata, __pyx_k_paddedcmpdata, sizeof(__pyx_k_paddedcmpdata), 0, 0, 1, 1}, - {&__pyx_n_s_padding, __pyx_k_padding, sizeof(__pyx_k_padding), 0, 0, 1, 1}, - {&__pyx_n_s_padoff, __pyx_k_padoff, sizeof(__pyx_k_padoff), 0, 0, 1, 1}, - {&__pyx_n_s_poll, __pyx_k_poll, sizeof(__pyx_k_poll), 0, 0, 1, 1}, - {&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1}, - {&__pyx_n_s_product, __pyx_k_product, sizeof(__pyx_k_product), 0, 0, 1, 1}, - {&__pyx_n_s_pybuf, __pyx_k_pybuf, sizeof(__pyx_k_pybuf), 0, 0, 1, 1}, - {&__pyx_n_s_pyexportfid, __pyx_k_pyexportfid, sizeof(__pyx_k_pyexportfid), 0, 0, 1, 1}, - {&__pyx_n_s_pyfid, __pyx_k_pyfid, sizeof(__pyx_k_pyfid), 0, 0, 1, 1}, - {&__pyx_n_s_pyidxfid, __pyx_k_pyidxfid, sizeof(__pyx_k_pyidxfid), 0, 0, 1, 1}, - {&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1}, - {&__pyx_kp_s_r_2, __pyx_k_r_2, sizeof(__pyx_k_r_2), 0, 0, 1, 0}, - {&__pyx_n_s_randint, __pyx_k_randint, sizeof(__pyx_k_randint), 0, 0, 1, 1}, - {&__pyx_n_s_random, __pyx_k_random, sizeof(__pyx_k_random), 0, 0, 1, 1}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_s_rb, __pyx_k_rb, sizeof(__pyx_k_rb), 0, 0, 1, 1}, - {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1}, - {&__pyx_n_s_readbufSize, __pyx_k_readbufSize, sizeof(__pyx_k_readbufSize), 0, 0, 1, 1}, - {&__pyx_kp_s_readbuf_mmap, __pyx_k_readbuf_mmap, sizeof(__pyx_k_readbuf_mmap), 0, 0, 1, 0}, - {&__pyx_n_s_readbuf_size, __pyx_k_readbuf_size, sizeof(__pyx_k_readbuf_size), 0, 0, 1, 1}, - {&__pyx_n_s_readbuf_sizes, __pyx_k_readbuf_sizes, sizeof(__pyx_k_readbuf_sizes), 0, 0, 1, 1}, - {&__pyx_kp_s_readelems, __pyx_k_readelems, sizeof(__pyx_k_readelems), 0, 0, 1, 0}, - {&__pyx_n_s_readelems_2, __pyx_k_readelems_2, sizeof(__pyx_k_readelems_2), 0, 0, 1, 1}, - {&__pyx_kp_s_reading_elements_from, __pyx_k_reading_elements_from, sizeof(__pyx_k_reading_elements_from), 0, 0, 1, 0}, - {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, - {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, - {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, - {&__pyx_n_s_remove, __pyx_k_remove, sizeof(__pyx_k_remove), 0, 0, 1, 1}, - {&__pyx_n_s_resource, __pyx_k_resource, sizeof(__pyx_k_resource), 0, 0, 1, 1}, - {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1}, - {&__pyx_n_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 1}, - {&__pyx_n_s_return_fn, __pyx_k_return_fn, sizeof(__pyx_k_return_fn), 0, 0, 1, 1}, - {&__pyx_n_s_return_fn_locals_lambda, __pyx_k_return_fn_locals_lambda, sizeof(__pyx_k_return_fn_locals_lambda), 0, 0, 1, 1}, - {&__pyx_n_s_return_value, __pyx_k_return_value, sizeof(__pyx_k_return_value), 0, 0, 1, 1}, - {&__pyx_n_s_ru_maxrss, __pyx_k_ru_maxrss, sizeof(__pyx_k_ru_maxrss), 0, 0, 1, 1}, - {&__pyx_n_s_run_crc_tests, __pyx_k_run_crc_tests, sizeof(__pyx_k_run_crc_tests), 0, 0, 1, 1}, - {&__pyx_n_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 1}, - {&__pyx_n_s_sbi, __pyx_k_sbi, sizeof(__pyx_k_sbi), 0, 0, 1, 1}, - {&__pyx_n_s_se, __pyx_k_se, sizeof(__pyx_k_se), 0, 0, 1, 1}, - {&__pyx_n_s_seed, __pyx_k_seed, sizeof(__pyx_k_seed), 0, 0, 1, 1}, - {&__pyx_n_s_seek, __pyx_k_seek, sizeof(__pyx_k_seek), 0, 0, 1, 1}, - {&__pyx_kp_s_seek_2, __pyx_k_seek_2, sizeof(__pyx_k_seek_2), 0, 0, 1, 0}, - {&__pyx_n_s_seek_point, __pyx_k_seek_point, sizeof(__pyx_k_seek_point), 0, 0, 1, 1}, - {&__pyx_n_s_seek_points, __pyx_k_seek_points, sizeof(__pyx_k_seek_points), 0, 0, 1, 1}, - {&__pyx_n_s_seekable, __pyx_k_seekable, sizeof(__pyx_k_seekable), 0, 0, 1, 1}, - {&__pyx_kp_s_seekelem, __pyx_k_seekelem, sizeof(__pyx_k_seekelem), 0, 0, 1, 0}, - {&__pyx_n_s_seekelems, __pyx_k_seekelems, sizeof(__pyx_k_seekelems), 0, 0, 1, 1}, - {&__pyx_n_s_seekloc, __pyx_k_seekloc, sizeof(__pyx_k_seekloc), 0, 0, 1, 1}, - {&__pyx_n_s_seekpoints, __pyx_k_seekpoints, sizeof(__pyx_k_seekpoints), 0, 0, 1, 1}, - {&__pyx_n_s_seekstep, __pyx_k_seekstep, sizeof(__pyx_k_seekstep), 0, 0, 1, 1}, - {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, - {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, - {&__pyx_kp_s_should_be, __pyx_k_should_be, sizeof(__pyx_k_should_be), 0, 0, 1, 0}, - {&__pyx_n_s_shouldpass, __pyx_k_shouldpass, sizeof(__pyx_k_shouldpass), 0, 0, 1, 1}, - {&__pyx_n_s_shutil, __pyx_k_shutil, sizeof(__pyx_k_shutil), 0, 0, 1, 1}, - {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, - {&__pyx_n_s_sort, __pyx_k_sort, sizeof(__pyx_k_sort), 0, 0, 1, 1}, - {&__pyx_n_s_sp, __pyx_k_sp, sizeof(__pyx_k_sp), 0, 0, 1, 1}, - {&__pyx_kp_s_sp_size, __pyx_k_sp_size, sizeof(__pyx_k_sp_size), 0, 0, 1, 0}, - {&__pyx_n_s_spacing, __pyx_k_spacing, sizeof(__pyx_k_spacing), 0, 0, 1, 1}, - {&__pyx_kp_s_spacing_bufsize, __pyx_k_spacing_bufsize, sizeof(__pyx_k_spacing_bufsize), 0, 0, 1, 0}, - {&__pyx_n_s_spacings, __pyx_k_spacings, sizeof(__pyx_k_spacings), 0, 0, 1, 1}, - {&__pyx_n_s_st_size, __pyx_k_st_size, sizeof(__pyx_k_st_size), 0, 0, 1, 1}, - {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1}, - {&__pyx_n_s_stat, __pyx_k_stat, sizeof(__pyx_k_stat), 0, 0, 1, 1}, - {&__pyx_n_s_strm, __pyx_k_strm, sizeof(__pyx_k_strm), 0, 0, 1, 1}, - {&__pyx_n_s_strmoffs, __pyx_k_strmoffs, sizeof(__pyx_k_strmoffs), 0, 0, 1, 1}, - {&__pyx_n_s_subprocess, __pyx_k_subprocess, sizeof(__pyx_k_subprocess), 0, 0, 1, 1}, - {&__pyx_n_s_sum, __pyx_k_sum, sizeof(__pyx_k_sum), 0, 0, 1, 1}, - {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, - {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1}, - {&__pyx_n_s_tell, __pyx_k_tell, sizeof(__pyx_k_tell), 0, 0, 1, 1}, - {&__pyx_kp_s_tell_2, __pyx_k_tell_2, sizeof(__pyx_k_tell_2), 0, 0, 1, 0}, - {&__pyx_n_s_tempdir, __pyx_k_tempdir, sizeof(__pyx_k_tempdir), 0, 0, 1, 1}, - {&__pyx_n_s_tempfile, __pyx_k_tempfile, sizeof(__pyx_k_tempfile), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_test_build_then_read, __pyx_k_test_build_then_read, sizeof(__pyx_k_test_build_then_read), 0, 0, 1, 1}, - {&__pyx_n_s_test_crc_validation, __pyx_k_test_crc_validation, sizeof(__pyx_k_test_crc_validation), 0, 0, 1, 1}, - {&__pyx_n_s_test_crc_validation_locals__run, __pyx_k_test_crc_validation_locals__run, sizeof(__pyx_k_test_crc_validation_locals__run), 0, 0, 1, 1}, - {&__pyx_n_s_test_crc_validation_locals__zran, __pyx_k_test_crc_validation_locals__zran, sizeof(__pyx_k_test_crc_validation_locals__zran), 0, 0, 1, 1}, - {&__pyx_n_s_test_crc_validation_locals_wrap, __pyx_k_test_crc_validation_locals_wrap, sizeof(__pyx_k_test_crc_validation_locals_wrap), 0, 0, 1, 1}, - {&__pyx_n_s_test_export_import_format_v0, __pyx_k_test_export_import_format_v0, sizeof(__pyx_k_test_export_import_format_v0), 0, 0, 1, 1}, - {&__pyx_n_s_test_export_import_no_points, __pyx_k_test_export_import_no_points, sizeof(__pyx_k_test_export_import_no_points), 0, 0, 1, 1}, - {&__pyx_n_s_test_export_then_import, __pyx_k_test_export_then_import, sizeof(__pyx_k_test_export_then_import), 0, 0, 1, 1}, - {&__pyx_n_s_test_feof, __pyx_k_test_feof, sizeof(__pyx_k_test_feof), 0, 0, 1, 1}, - {&__pyx_n_s_test_ferror, __pyx_k_test_ferror, sizeof(__pyx_k_test_ferror), 0, 0, 1, 1}, - {&__pyx_n_s_test_fflush, __pyx_k_test_fflush, sizeof(__pyx_k_test_fflush), 0, 0, 1, 1}, - {&__pyx_n_s_test_fread, __pyx_k_test_fread, sizeof(__pyx_k_test_fread), 0, 0, 1, 1}, - {&__pyx_n_s_test_fseek, __pyx_k_test_fseek, sizeof(__pyx_k_test_fseek), 0, 0, 1, 1}, - {&__pyx_n_s_test_ftell, __pyx_k_test_ftell, sizeof(__pyx_k_test_ftell), 0, 0, 1, 1}, - {&__pyx_n_s_test_fwrite, __pyx_k_test_fwrite, sizeof(__pyx_k_test_fwrite), 0, 0, 1, 1}, - {&__pyx_n_s_test_getc, __pyx_k_test_getc, sizeof(__pyx_k_test_getc), 0, 0, 1, 1}, - {&__pyx_kp_s_test_gz, __pyx_k_test_gz, sizeof(__pyx_k_test_gz), 0, 0, 1, 0}, - {&__pyx_n_s_test_inflateInit_leak_on_error, __pyx_k_test_inflateInit_leak_on_error, sizeof(__pyx_k_test_inflateInit_leak_on_error), 0, 0, 1, 1}, - {&__pyx_n_s_test_init, __pyx_k_test_init, sizeof(__pyx_k_test_init), 0, 0, 1, 1}, - {&__pyx_n_s_test_init_file_modes, __pyx_k_test_init_file_modes, sizeof(__pyx_k_test_init_file_modes), 0, 0, 1, 1}, - {&__pyx_n_s_test_no_auto_build, __pyx_k_test_no_auto_build, sizeof(__pyx_k_test_no_auto_build), 0, 0, 1, 1}, - {&__pyx_n_s_test_random_seek, __pyx_k_test_random_seek, sizeof(__pyx_k_test_random_seek), 0, 0, 1, 1}, - {&__pyx_n_s_test_random_seek_and_read, __pyx_k_test_random_seek_and_read, sizeof(__pyx_k_test_random_seek_and_read), 0, 0, 1, 1}, - {&__pyx_n_s_test_read_all, __pyx_k_test_read_all, sizeof(__pyx_k_test_read_all), 0, 0, 1, 1}, - {&__pyx_n_s_test_read_all_sequential, __pyx_k_test_read_all_sequential, sizeof(__pyx_k_test_read_all_sequential), 0, 0, 1, 1}, - {&__pyx_n_s_test_read_eof_memmove_rotate_bug, __pyx_k_test_read_eof_memmove_rotate_bug, sizeof(__pyx_k_test_read_eof_memmove_rotate_bug), 0, 0, 1, 1}, - {&__pyx_n_s_test_readbuf_spacing_sizes, __pyx_k_test_readbuf_spacing_sizes, sizeof(__pyx_k_test_readbuf_spacing_sizes), 0, 0, 1, 1}, - {&__pyx_n_s_test_seek_beyond_end, __pyx_k_test_seek_beyond_end, sizeof(__pyx_k_test_seek_beyond_end), 0, 0, 1, 1}, - {&__pyx_n_s_test_seek_cur, __pyx_k_test_seek_cur, sizeof(__pyx_k_test_seek_cur), 0, 0, 1, 1}, - {&__pyx_n_s_test_seek_end, __pyx_k_test_seek_end, sizeof(__pyx_k_test_seek_end), 0, 0, 1, 1}, - {&__pyx_n_s_test_seek_then_read_block, __pyx_k_test_seek_then_read_block, sizeof(__pyx_k_test_seek_then_read_block), 0, 0, 1, 1}, - {&__pyx_n_s_test_seek_to_end, __pyx_k_test_seek_to_end, sizeof(__pyx_k_test_seek_to_end), 0, 0, 1, 1}, - {&__pyx_n_s_test_seekable, __pyx_k_test_seekable, sizeof(__pyx_k_test_seekable), 0, 0, 1, 1}, - {&__pyx_n_s_test_seekable_locals_lambda, __pyx_k_test_seekable_locals_lambda, sizeof(__pyx_k_test_seekable_locals_lambda), 0, 0, 1, 1}, - {&__pyx_n_s_test_sequential_seek_to_end, __pyx_k_test_sequential_seek_to_end, sizeof(__pyx_k_test_sequential_seek_to_end), 0, 0, 1, 1}, - {&__pyx_n_s_test_standard_usage_with_null_pa, __pyx_k_test_standard_usage_with_null_pa, sizeof(__pyx_k_test_standard_usage_with_null_pa), 0, 0, 1, 1}, - {&__pyx_n_s_test_standard_usage_with_null_pa_2, __pyx_k_test_standard_usage_with_null_pa_2, sizeof(__pyx_k_test_standard_usage_with_null_pa_2), 0, 0, 1, 1}, - {&__pyx_n_s_testfile, __pyx_k_testfile, sizeof(__pyx_k_testfile), 0, 0, 1, 1}, - {&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1}, - {&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1}, - {&__pyx_n_s_tobytes, __pyx_k_tobytes, sizeof(__pyx_k_tobytes), 0, 0, 1, 1}, - {&__pyx_n_s_tostring, __pyx_k_tostring, sizeof(__pyx_k_tostring), 0, 0, 1, 1}, - {&__pyx_n_s_towrite, __pyx_k_towrite, sizeof(__pyx_k_towrite), 0, 0, 1, 1}, - {&__pyx_n_s_uint32, __pyx_k_uint32, sizeof(__pyx_k_uint32), 0, 0, 1, 1}, - {&__pyx_n_s_uint64, __pyx_k_uint64, sizeof(__pyx_k_uint64), 0, 0, 1, 1}, - {&__pyx_n_s_uint8, __pyx_k_uint8, sizeof(__pyx_k_uint8), 0, 0, 1, 1}, - {&__pyx_n_s_use_mmap, __pyx_k_use_mmap, sizeof(__pyx_k_use_mmap), 0, 0, 1, 1}, - {&__pyx_n_s_val, __pyx_k_val, sizeof(__pyx_k_val), 0, 0, 1, 1}, - {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1}, - {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1}, - {&__pyx_kp_s_w_2, __pyx_k_w_2, sizeof(__pyx_k_w_2), 0, 0, 1, 0}, - {&__pyx_n_s_wb, __pyx_k_wb, sizeof(__pyx_k_wb), 0, 0, 1, 1}, - {&__pyx_n_s_windowSize, __pyx_k_windowSize, sizeof(__pyx_k_windowSize), 0, 0, 1, 1}, - {&__pyx_n_s_window_sizes, __pyx_k_window_sizes, sizeof(__pyx_k_window_sizes), 0, 0, 1, 1}, - {&__pyx_n_s_wrap, __pyx_k_wrap, sizeof(__pyx_k_wrap), 0, 0, 1, 1}, - {&__pyx_n_s_write, __pyx_k_write, sizeof(__pyx_k_write), 0, 0, 1, 1}, - {&__pyx_kp_s_x_x, __pyx_k_x_x, sizeof(__pyx_k_x_x), 0, 0, 1, 0}, - {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1}, - {&__pyx_n_s_zip, __pyx_k_zip, sizeof(__pyx_k_zip), 0, 0, 1, 1}, - {&__pyx_n_s_zran_init, __pyx_k_zran_init, sizeof(__pyx_k_zran_init), 0, 0, 1, 1}, - {&__pyx_n_s_zs, __pyx_k_zs, sizeof(__pyx_k_zs), 0, 0, 1, 1}, - {&__pyx_n_s_zt, __pyx_k_zt, sizeof(__pyx_k_zt), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} -}; -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 30, __pyx_L1_error) - __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 98, __pyx_L1_error) - __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_n_s_id); if (!__pyx_builtin_id) __PYX_ERR(0, 171, __pyx_L1_error) - __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(0, 200, __pyx_L1_error) - __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(0, 210, __pyx_L1_error) - __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(0, 215, __pyx_L1_error) - __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error) - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 309, __pyx_L1_error) - __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 391, __pyx_L1_error) - __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_n_s_zip); if (!__pyx_builtin_zip) __PYX_ERR(0, 430, __pyx_L1_error) - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 744, __pyx_L1_error) - __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 829, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - /* "indexed_gzip/tests/ctest_zran.pyx":81 - * cdef void *buffer - * - * buf = ReadBuffer(8) # <<<<<<<<<<<<<< - * buffer = buf.buffer - * - */ - __pyx_tuple_ = PyTuple_Pack(1, __pyx_int_8); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple_); - __Pyx_GIVEREF(__pyx_tuple_); - - /* "indexed_gzip/tests/ctest_zran.pyx":175 - * print('Memory-mapping {:0.2f} GB ({})'.format(size / 1073741824., path)) - * - * def initmem(): # <<<<<<<<<<<<<< - * - * towrite = size - */ - __pyx_tuple__2 = PyTuple_Pack(2, __pyx_n_s_towrite, __pyx_n_s_zeros); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__2); - __Pyx_GIVEREF(__pyx_tuple__2); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__2, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_initmem, 175, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 175, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":200 - * - * if self.buffer == MAP_FAILED: - * raise RuntimeError('mmap fail') # <<<<<<<<<<<<<< - * - * if not self.buffer: - */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_mmap_fail); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__4); - __Pyx_GIVEREF(__pyx_tuple__4); - - /* "indexed_gzip/tests/ctest_zran.pyx":203 - * - * if not self.buffer: - * raise RuntimeError('ReadBuffer init fail') # <<<<<<<<<<<<<< - * - * - */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_ReadBuffer_init_fail); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); - - /* "indexed_gzip/tests/ctest_zran.pyx":210 - * - * if self.use_mmap: - * raise NotImplementedError('Cannot resize a memmapped array!') # <<<<<<<<<<<<<< - * - * buf = PyMem_Realloc(self.buffer, size) - */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_Cannot_resize_a_memmapped_array); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__6); - __Pyx_GIVEREF(__pyx_tuple__6); - - /* "indexed_gzip/tests/ctest_zran.pyx":215 - * - * if not buf: - * raise MemoryError('PyMem_Realloc fail') # <<<<<<<<<<<<<< - * - * self.buffer = buf - */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_PyMem_Realloc_fail); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__7); - __Pyx_GIVEREF(__pyx_tuple__7); - - /* "(tree fragment)":2 - * def __reduce_cython__(self): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__8); - __Pyx_GIVEREF(__pyx_tuple__8); - - /* "(tree fragment)":4 - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") - * def __setstate_cython__(self, __pyx_state): - * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< - */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__9); - __Pyx_GIVEREF(__pyx_tuple__9); - - /* "indexed_gzip/tests/ctest_zran.pyx":233 - * - * def error_fn(*args, **kwargs): - * raise Exception("Error") # <<<<<<<<<<<<<< - * - * - */ - __pyx_tuple__11 = PyTuple_Pack(1, __pyx_n_s_Error); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 233, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__11); - __Pyx_GIVEREF(__pyx_tuple__11); - - /* "indexed_gzip/tests/ctest_zran.pyx":391 - * cdef FILE *cfid - * - * with open(testfile, 'rb') as pyfid: # <<<<<<<<<<<<<< - * - * cfid = fdopen(pyfid.fileno(), 'rb') - */ - __pyx_tuple__23 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 391, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__23); - __Pyx_GIVEREF(__pyx_tuple__23); - - /* "indexed_gzip/tests/ctest_zran.pyx":1129 - * cdef void *buffer - * - * data = np.random.randint(1, 255, 100, dtype=np.uint8) # <<<<<<<<<<<<<< - * buf = ReadBuffer(100) - * buffer = buf.buffer - */ - __pyx_tuple__42 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_255, __pyx_int_100); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 1129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__42); - __Pyx_GIVEREF(__pyx_tuple__42); - - /* "indexed_gzip/tests/ctest_zran.pyx":1130 - * - * data = np.random.randint(1, 255, 100, dtype=np.uint8) - * buf = ReadBuffer(100) # <<<<<<<<<<<<<< - * buffer = buf.buffer - * - */ - __pyx_tuple__43 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 1130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__43); - __Pyx_GIVEREF(__pyx_tuple__43); - - /* "indexed_gzip/tests/ctest_zran.pyx":1135 - * with tempdir(): - * - * with gzip.open('data.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tostring()) - * - */ - __pyx_tuple__44 = PyTuple_Pack(2, __pyx_kp_s_data_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 1135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__44); - __Pyx_GIVEREF(__pyx_tuple__44); - - /* "indexed_gzip/tests/ctest_zran.pyx":1138 - * f.write(data.tostring()) - * - * with open('data.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert zran.zran_init(&index, - */ - __pyx_tuple__45 = PyTuple_Pack(2, __pyx_kp_s_data_gz, __pyx_n_s_rb); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 1138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__45); - __Pyx_GIVEREF(__pyx_tuple__45); - - /* "indexed_gzip/tests/ctest_zran.pyx":1153 - * assert np.all(np.frombuffer(pybuf, dtype=np.uint8) == data) - * - * with open('data.gz.index', 'wb') as pyidxfid: # <<<<<<<<<<<<<< - * cidxfid = fdopen(pyidxfid.fileno(), 'wb') - * assert zran.zran_export_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - */ - __pyx_tuple__46 = PyTuple_Pack(2, __pyx_kp_s_data_gz_index, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 1153, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__46); - __Pyx_GIVEREF(__pyx_tuple__46); - - /* "indexed_gzip/tests/ctest_zran.pyx":1168 - * 0) == 0 - * - * with open('data.gz.index', 'rb') as pyidxfid: # <<<<<<<<<<<<<< - * cidxfid = fdopen(pyidxfid.fileno(), 'rb') - * assert zran.zran_import_index(&index, NULL if no_fds else cidxfid, pyidxfid if no_fds else NULL) == 0 - */ - __pyx_tuple__47 = PyTuple_Pack(2, __pyx_kp_s_data_gz_index, __pyx_n_s_rb); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 1168, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__47); - __Pyx_GIVEREF(__pyx_tuple__47); - - /* "indexed_gzip/tests/ctest_zran.pyx":1186 - * cdef int ret - * - * data = np.random.randint(1, 255, 1000000, dtype=np.uint8) # <<<<<<<<<<<<<< - * with tempdir(): - * - */ - __pyx_tuple__49 = PyTuple_Pack(3, __pyx_int_1, __pyx_int_255, __pyx_int_1000000); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 1186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__49); - __Pyx_GIVEREF(__pyx_tuple__49); - - /* "indexed_gzip/tests/ctest_zran.pyx":1256 - * f = [None] # to prevent gc - * - * def _zran_init(flags): # <<<<<<<<<<<<<< - * f[0] = BytesIO(cmpdata) - * assert not zran.zran_init(&index, - */ - __pyx_tuple__51 = PyTuple_Pack(1, __pyx_n_s_flags); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 1256, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__51); - __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_zran_init, 1256, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 1256, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1266 - * flags) - * - * def _run_crc_tests(shouldpass, flags=zran.ZRAN_AUTO_BUILD): # <<<<<<<<<<<<<< - * if shouldpass: - * expect_build = zran.ZRAN_BUILD_INDEX_OK - */ - __pyx_tuple__53 = PyTuple_Pack(7, __pyx_n_s_shouldpass, __pyx_n_s_flags, __pyx_n_s_expect_build, __pyx_n_s_expect_seek, __pyx_n_s_expect_read, __pyx_n_s_ret, __pyx_n_s_pybuf); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 1266, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__53); - __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_run_crc_tests, 1266, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 1266, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1311 - * assert np.all(np.frombuffer(pybuf, dtype=np.uint32) == data) - * - * def wrap(val): # <<<<<<<<<<<<<< - * return val % 255 - * - */ - __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_s_val); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 1311, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__55); - __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_wrap, 1311, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 1311, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1315 - * - * # data/crc is good, all should be well - * _run_crc_tests(True) # <<<<<<<<<<<<<< - * - * # corrupt the size, we should get an error - */ - __pyx_tuple__57 = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 1315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__57); - __Pyx_GIVEREF(__pyx_tuple__57); - - /* "indexed_gzip/tests/ctest_zran.pyx":1319 - * # corrupt the size, we should get an error - * cmpdata[-1] = wrap(cmpdata[-1] + 1) # corrupt size - * _run_crc_tests(False) # <<<<<<<<<<<<<< - * - * # corrupt the crc, we should get an error - */ - __pyx_tuple__58 = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 1319, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__58); - __Pyx_GIVEREF(__pyx_tuple__58); - - /* "indexed_gzip/tests/ctest_zran.pyx":1329 - * cmpdata[-5] = wrap(cmpdata[-5] - 1) # restore crc to correct value - * if len(strmoffs) > 1: - * for off in strmoffs[1:]: # <<<<<<<<<<<<<< - * cmpdata[off-1] = wrap(cmpdata[off-1] + 1) - * _run_crc_tests(False) - */ - __pyx_slice__59 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__59)) __PYX_ERR(0, 1329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_slice__59); - __Pyx_GIVEREF(__pyx_slice__59); - - /* "indexed_gzip/tests/ctest_zran.pyx":1391 - * - * - * def _zran_init(): # <<<<<<<<<<<<<< - * f[0] = BytesIO(paddedcmpdata) - * assert not zran.zran_init(&index, - */ - __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_zran_init, 1391, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 1391, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1431 - * # We can target the first call by passing a file containing random noise. - * # I haven't yet figured out a reliable way to target the second call. - * f = BytesIO(np.arange(1, 100).tobytes()) # <<<<<<<<<<<<<< - * - * iters = np.arange(1, 10000) - */ - __pyx_tuple__63 = PyTuple_Pack(2, __pyx_int_1, __pyx_int_100); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 1431, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__63); - __Pyx_GIVEREF(__pyx_tuple__63); - - /* "indexed_gzip/tests/ctest_zran.pyx":1433 - * f = BytesIO(np.arange(1, 100).tobytes()) - * - * iters = np.arange(1, 10000) # <<<<<<<<<<<<<< - * mem = np.zeros(10000, dtype=np.uint64) - * - */ - __pyx_tuple__64 = PyTuple_Pack(2, __pyx_int_1, __pyx_int_10000); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 1433, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__64); - __Pyx_GIVEREF(__pyx_tuple__64); - - /* "indexed_gzip/tests/ctest_zran.pyx":1434 - * - * iters = np.arange(1, 10000) - * mem = np.zeros(10000, dtype=np.uint64) # <<<<<<<<<<<<<< - * - * for i in iters: - */ - __pyx_tuple__65 = PyTuple_Pack(1, __pyx_int_10000); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 1434, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__65); - __Pyx_GIVEREF(__pyx_tuple__65); - - /* "indexed_gzip/tests/ctest_zran.pyx":1454 - * # usage for the first few iterations, but then - * # it should remain stable - * mem = mem[5:] # <<<<<<<<<<<<<< - * assert np.all(mem == mem[0]) - * - */ - __pyx_slice__66 = PySlice_New(__pyx_int_5, Py_None, Py_None); if (unlikely(!__pyx_slice__66)) __PYX_ERR(0, 1454, __pyx_L1_error) - __Pyx_GOTREF(__pyx_slice__66); - __Pyx_GIVEREF(__pyx_slice__66); - - /* "indexed_gzip/tests/ctest_zran.pyx":1482 - * - * with tempdir(): - * nelems = np.random.randint(524288, 525000, 1)[0] # <<<<<<<<<<<<<< - * data = np.random.random(nelems) - * with gzip.open('test.gz', 'wb') as f: - */ - __pyx_tuple__68 = PyTuple_Pack(3, __pyx_int_524288, __pyx_int_525000, __pyx_int_1); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 1482, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__68); - __Pyx_GIVEREF(__pyx_tuple__68); - - /* "indexed_gzip/tests/ctest_zran.pyx":1484 - * nelems = np.random.randint(524288, 525000, 1)[0] - * data = np.random.random(nelems) - * with gzip.open('test.gz', 'wb') as f: # <<<<<<<<<<<<<< - * f.write(data.tobytes()) - * - */ - __pyx_tuple__69 = PyTuple_Pack(2, __pyx_kp_s_test_gz, __pyx_n_s_wb); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 1484, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__69); - __Pyx_GIVEREF(__pyx_tuple__69); - - /* "indexed_gzip/tests/ctest_zran.pyx":1490 - * readbuf_size = fsize - 10 - * - * with open('test.gz', 'rb') as pyfid: # <<<<<<<<<<<<<< - * cfid = fdopen(pyfid.fileno(), 'rb') - * assert not zran.zran_init(&index, - */ - __pyx_tuple__70 = PyTuple_Pack(2, __pyx_kp_s_test_gz, __pyx_n_s_rb); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 1490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__70); - __Pyx_GIVEREF(__pyx_tuple__70); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":945 - * __pyx_import_array() - * except Exception: - * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_umath() except -1: - */ - __pyx_tuple__71 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(2, 945, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__71); - __Pyx_GIVEREF(__pyx_tuple__71); - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":951 - * _import_umath() - * except Exception: - * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< - * - * cdef inline int import_ufunc() except -1: - */ - __pyx_tuple__72 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__72)) __PYX_ERR(2, 951, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__72); - __Pyx_GIVEREF(__pyx_tuple__72); - - /* "indexed_gzip/tests/ctest_zran.pyx":232 - * - * - * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< - * raise Exception("Error") - * - */ - __pyx_tuple__74 = PyTuple_Pack(2, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__74)) __PYX_ERR(0, 232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__74); - __Pyx_GIVEREF(__pyx_tuple__74); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_error_fn, 232, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 232, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":236 - * - * - * def return_fn(return_value): # <<<<<<<<<<<<<< - * return lambda *args, **kwargs: return_value - * - */ - __pyx_tuple__75 = PyTuple_Pack(1, __pyx_n_s_return_value); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 236, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__75); - __Pyx_GIVEREF(__pyx_tuple__75); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_return_fn, 236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 236, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":240 - * - * - * def test_fread(): # <<<<<<<<<<<<<< - * """Tests Python wrapper C function for fread.""" - * - */ - __pyx_tuple__76 = PyTuple_Pack(4, __pyx_n_s_f, __pyx_n_s_buf, __pyx_n_s_elems_read, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__76)) __PYX_ERR(0, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__76); - __Pyx_GIVEREF(__pyx_tuple__76); - __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_fread, 240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 240, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":259 - * - * - * def test_ftell(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__77); - __Pyx_GIVEREF(__pyx_tuple__77); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_ftell, 259, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 259, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":275 - * - * - * def test_fseek(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __pyx_tuple__78 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__78)) __PYX_ERR(0, 275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__78); - __Pyx_GIVEREF(__pyx_tuple__78); - __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__78, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_fseek, 275, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 275, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":294 - * - * - * def test_feof(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_s_f); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__79); - __Pyx_GIVEREF(__pyx_tuple__79); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_feof, 294, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 294, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":305 - * - * - * def test_ferror(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_s_f); if (unlikely(!__pyx_tuple__80)) __PYX_ERR(0, 305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__80); - __Pyx_GIVEREF(__pyx_tuple__80); - __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__80, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_ferror, 305, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 305, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":315 - * - * - * def test_fflush(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__81); - __Pyx_GIVEREF(__pyx_tuple__81); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_fflush, 315, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 315, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":329 - * - * - * def test_fwrite(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __pyx_tuple__82 = PyTuple_Pack(5, __pyx_n_s_f, __pyx_n_s_inp, __pyx_n_s_elems_written, __pyx_n_s_fn, __pyx_n_s_result); if (unlikely(!__pyx_tuple__82)) __PYX_ERR(0, 329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__82); - __Pyx_GIVEREF(__pyx_tuple__82); - __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__82, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_fwrite, 329, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 329, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":351 - * - * - * def test_getc(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"dbc") - */ - __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_f, __pyx_n_s_fn); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(0, 351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__83); - __Pyx_GIVEREF(__pyx_tuple__83); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_getc, 351, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 351, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":372 - * - * - * def test_seekable(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_s_f); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(0, 372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__84); - __Pyx_GIVEREF(__pyx_tuple__84); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seekable, 372, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 372, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":380 - * - * - * def test_init(testfile, no_fds): # <<<<<<<<<<<<<< - * """Tests a bunch of permutations of the parameters to zran_init. """ - * - */ - __pyx_tuple__85 = PyTuple_Pack(15, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_spacings, __pyx_n_s_window_sizes, __pyx_n_s_readbuf_sizes, __pyx_n_s_flags, __pyx_n_s_index, __pyx_n_s_cfid, __pyx_n_s_pyfid, __pyx_n_s_s, __pyx_n_s_w, __pyx_n_s_r, __pyx_n_s_f, __pyx_n_s_result, __pyx_n_s_expected); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__85); - __Pyx_GIVEREF(__pyx_tuple__85); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(2, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_init, 380, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 380, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":418 - * - * - * def test_init_file_modes(testfile, no_fds): # <<<<<<<<<<<<<< - * - * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] - */ - __pyx_tuple__86 = PyTuple_Pack(13, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_modes, __pyx_n_s_files, __pyx_n_s_index, __pyx_n_s_cfid, __pyx_n_s_bmode, __pyx_n_s_cmode, __pyx_n_s_filename, __pyx_n_s_mode, __pyx_n_s_pyfid, __pyx_n_s_expected, __pyx_n_s_result); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__86); - __Pyx_GIVEREF(__pyx_tuple__86); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_init_file_modes, 418, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 418, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":451 - * - * - * def test_no_auto_build(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__87 = PyTuple_Pack(17, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_bufSize, __pyx_n_s_buf, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_gotread_2, __pyx_n_s_gottell_2, __pyx_n_s_expread_2, __pyx_n_s_exptell_2, __pyx_n_s_pybuf, __pyx_n_s_data); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__87); - __Pyx_GIVEREF(__pyx_tuple__87); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_no_auto_build, 451, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 451, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":506 - * - * - * def test_seek_to_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__88 = PyTuple_Pack(10, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_seek_point, __pyx_n_s_indexSpacing, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_zt); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__88); - __Pyx_GIVEREF(__pyx_tuple__88); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_to_end, 506, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 506, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":535 - * - * - * def test_seek_cur(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__89 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_seekstep, __pyx_n_s_curelem, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_exp, __pyx_n_s_out, __pyx_n_s_zt, __pyx_n_s_val); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 535, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__89); - __Pyx_GIVEREF(__pyx_tuple__89); - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_cur, 535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 535, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":579 - * - * - * def test_seek_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * cdef zran.zran_index_t index - * - */ - __pyx_tuple__90 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_seekstep, __pyx_n_s_curelem, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_seekloc, __pyx_n_s_exp, __pyx_n_s_zt, __pyx_n_s_val); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__90); - __Pyx_GIVEREF(__pyx_tuple__90); - __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_end, 579, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 579, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":637 - * - * - * def test_seek_beyond_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__91 = PyTuple_Pack(13, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_seekpoints, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_sp, __pyx_n_s_zs, __pyx_n_s_expected, __pyx_n_s_zt); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 637, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__91); - __Pyx_GIVEREF(__pyx_tuple__91); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(3, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_beyond_end, 637, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 637, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":691 - * - * - * def test_sequential_seek_to_end(testfile, no_fds, nelems, niters): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__92 = PyTuple_Pack(15, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_seek_points, __pyx_n_s_indexSpacing, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_sp, __pyx_n_s_expseek_2, __pyx_n_s_exptell_2, __pyx_n_s_seek, __pyx_n_s_tell); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__92); - __Pyx_GIVEREF(__pyx_tuple__92); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(4, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_sequential_seek_to_end, 691, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(0, 691, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":738 - * - * - * def test_random_seek(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__93 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_seekpoints, __pyx_n_s_indexSpacing, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_sp, __pyx_n_s_zt, __pyx_n_s_i); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 738, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__93); - __Pyx_GIVEREF(__pyx_tuple__93); - __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(5, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_random_seek, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 738, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":769 - * - * - * def test_read_all(testfile, no_fds, nelems, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - __pyx_tuple__94 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_use_mmap, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_nelemsp, __pyx_n_s_buf, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_nbytes_2, __pyx_n_s_data); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 769, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__94); - __Pyx_GIVEREF(__pyx_tuple__94); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(4, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__94, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_read_all, 769, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 769, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":805 - * - * - * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - __pyx_tuple__95 = PyTuple_Pack(23, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_use_mmap, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_buf, __pyx_n_s_seekelems, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_nelemsp, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_ret, __pyx_n_s_i, __pyx_n_s_se, __pyx_n_s_readelems_2, __pyx_n_s_start, __pyx_n_s_nbytes_2, __pyx_n_s_data, __pyx_n_s_end); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__95); - __Pyx_GIVEREF(__pyx_tuple__95); - __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(6, 0, 23, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_seek_then_read_block, 805, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 805, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":870 - * - * - * def test_random_seek_and_read(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__96 = PyTuple_Pack(14, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_seekelems, __pyx_n_s_indexSpacing, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_se, __pyx_n_s_expval, __pyx_n_s_val); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__96); - __Pyx_GIVEREF(__pyx_tuple__96); - __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(5, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_random_seek_and_read, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 870, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":907 - * - * - * def test_read_all_sequential(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__97 = PyTuple_Pack(11, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_index, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_seekelems, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_se, __pyx_n_s_val); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 907, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__97); - __Pyx_GIVEREF(__pyx_tuple__97); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(3, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_read_all_sequential, 907, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 907, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":943 - * - * - * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - __pyx_tuple__98 = PyTuple_Pack(20, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_seed, __pyx_n_s_use_mmap, __pyx_n_s_filesize, __pyx_n_s_indexSpacing, __pyx_n_s_buf, __pyx_n_s_seekelems, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_se, __pyx_n_s_readelems_2, __pyx_n_s_nbytes_2, __pyx_n_s_pybuf, __pyx_n_s_data, __pyx_n_s_i, __pyx_n_s_val); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 943, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__98); - __Pyx_GIVEREF(__pyx_tuple__98); - __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(5, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_build_then_read, 943, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 943, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":990 - * - * - * def test_readbuf_spacing_sizes(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __pyx_tuple__99 = PyTuple_Pack(18, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_nelems_2, __pyx_n_s_niters, __pyx_n_s_seed, __pyx_n_s_index, __pyx_n_s_spacings, __pyx_n_s_bufsizes, __pyx_n_s_seekelems, __pyx_n_s_sbi, __pyx_n_s_spacing, __pyx_n_s_bufsize, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_i, __pyx_n_s_se, __pyx_n_s_expval, __pyx_n_s_val); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 990, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__99); - __Pyx_GIVEREF(__pyx_tuple__99); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(5, 0, 18, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_readbuf_spacing_sizes, 990, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 990, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1070 - * - * - * def test_export_then_import(testfile, no_fds): # <<<<<<<<<<<<<< - * """Export-import round trip . Test exporting an index, then importing it - * back in. - */ - __pyx_tuple__100 = PyTuple_Pack(12, __pyx_n_s_testfile, __pyx_n_s_no_fds, __pyx_n_s_index1, __pyx_n_s_index2, __pyx_n_s_indexSpacing, __pyx_n_s_windowSize, __pyx_n_s_readbufSize, __pyx_n_s_flag, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_pyexportfid, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 1070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__100); - __Pyx_GIVEREF(__pyx_tuple__100); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_export_then_import, 1070, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 1070, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1122 - * - * - * def test_export_import_no_points(no_fds): # <<<<<<<<<<<<<< - * """Test exporting and importing an index which does not contain any - * seek points. - */ - __pyx_tuple__101 = PyTuple_Pack(12, __pyx_n_s_no_fds, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_data, __pyx_n_s_buf, __pyx_n_s_f, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_output, __pyx_n_s_pybuf, __pyx_n_s_pyidxfid, __pyx_n_s_cidxfid); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 1122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__101); - __Pyx_GIVEREF(__pyx_tuple__101); - __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_export_import_no_points, 1122, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 1122, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1179 - * - * - * def test_export_import_format_v0(): # <<<<<<<<<<<<<< - * """Test index export and import on a version 0 index file. """ - * - */ - __pyx_tuple__102 = PyTuple_Pack(9, __pyx_n_s_index1, __pyx_n_s_index2, __pyx_n_s_ret, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_pyfid, __pyx_n_s_cfid, __pyx_n_s_pyidxfid, __pyx_n_s_cidxfid); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 1179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__102); - __Pyx_GIVEREF(__pyx_tuple__102); - __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_export_import_format_v0, 1179, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 1179, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1240 - * - * - * def test_crc_validation(concat): # <<<<<<<<<<<<<< - * """Basic test of CRC validation. """ - * - */ - __pyx_tuple__103 = PyTuple_Pack(17, __pyx_n_s_concat, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_ret, __pyx_n_s_dsize, __pyx_n_s_data, __pyx_n_s_cmpdata, __pyx_n_s_strmoffs, __pyx_n_s_buf, __pyx_n_s_f, __pyx_n_s_zran_init, __pyx_n_s_zran_init, __pyx_n_s_run_crc_tests, __pyx_n_s_run_crc_tests, __pyx_n_s_wrap, __pyx_n_s_wrap, __pyx_n_s_off); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 1240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__103); - __Pyx_GIVEREF(__pyx_tuple__103); - __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_crc_validation, 1240, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 1240, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1346 - * - * - * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< - * """Make sure standard usage works with files that have null-padding after - * the GZIP footer. - */ - __pyx_tuple__104 = PyTuple_Pack(20, __pyx_n_s_concat, __pyx_n_s_index, __pyx_n_s_buffer, __pyx_n_s_ret, __pyx_n_s_dsize, __pyx_n_s_data, __pyx_n_s_cmpdata, __pyx_n_s_strmoffs, __pyx_n_s_buf, __pyx_n_s_f, __pyx_n_s_padding, __pyx_n_s_paddedcmpdata, __pyx_n_s_padoff, __pyx_n_s_last, __pyx_n_s_off, __pyx_n_s_pad, __pyx_n_s_strm, __pyx_n_s_zran_init, __pyx_n_s_zran_init, __pyx_n_s_pybuf); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 1346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__104); - __Pyx_GIVEREF(__pyx_tuple__104); - __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_standard_usage_with_null_pa_2, 1346, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 1346, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1421 - * - * # pauldmccarthy/indexed_gzip#82 - * def test_inflateInit_leak_on_error(): # <<<<<<<<<<<<<< - * """Make sure memory is not leaked after a successful call to - * inflateInit2(), but then a failure on subsequent zlib calls. - */ - __pyx_tuple__105 = PyTuple_Pack(5, __pyx_n_s_index, __pyx_n_s_f, __pyx_n_s_iters, __pyx_n_s_mem, __pyx_n_s_i); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 1421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__105); - __Pyx_GIVEREF(__pyx_tuple__105); - __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_inflateInit_leak_on_error, 1421, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 1421, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":1459 - * - * # pauldmccarthy/indexed_gzip#80 - * def test_read_eof_memmove_rotate_bug(seed): # <<<<<<<<<<<<<< - * - * # This bug was triggered by the read buffer rotation - */ - __pyx_tuple__106 = PyTuple_Pack(11, __pyx_n_s_seed, __pyx_n_s_index, __pyx_n_s_cfid, __pyx_n_s_nelems_2, __pyx_n_s_data, __pyx_n_s_f, __pyx_n_s_fsize, __pyx_n_s_readbuf_size, __pyx_n_s_pyfid, __pyx_n_s_eof, __pyx_n_s_got); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 1459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__106); - __Pyx_GIVEREF(__pyx_tuple__106); - __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_indexed_gzip_tests_ctest_zran_py, __pyx_n_s_test_read_eof_memmove_rotate_bug, 1459, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 1459, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_float_8_ = PyFloat_FromDouble(8.); if (unlikely(!__pyx_float_8_)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_100 = PyInt_FromLong(100); if (unlikely(!__pyx_int_100)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_255 = PyInt_FromLong(255); if (unlikely(!__pyx_int_255)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_500 = PyInt_FromLong(500); if (unlikely(!__pyx_int_500)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1000 = PyInt_FromLong(1000); if (unlikely(!__pyx_int_1000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1500 = PyInt_FromLong(1500); if (unlikely(!__pyx_int_1500)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2000 = PyInt_FromLong(2000); if (unlikely(!__pyx_int_2000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_5000 = PyInt_FromLong(5000); if (unlikely(!__pyx_int_5000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_8192 = PyInt_FromLong(8192); if (unlikely(!__pyx_int_8192)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_10000 = PyInt_FromLong(10000L); if (unlikely(!__pyx_int_10000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_16384 = PyInt_FromLong(16384L); if (unlikely(!__pyx_int_16384)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_24576 = PyInt_FromLong(24576L); if (unlikely(!__pyx_int_24576)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_32768 = PyInt_FromLong(32768L); if (unlikely(!__pyx_int_32768)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_65536 = PyInt_FromLong(65536L); if (unlikely(!__pyx_int_65536)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_131072 = PyInt_FromLong(131072L); if (unlikely(!__pyx_int_131072)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_262144 = PyInt_FromLong(262144L); if (unlikely(!__pyx_int_262144)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_524288 = PyInt_FromLong(524288L); if (unlikely(!__pyx_int_524288)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_525000 = PyInt_FromLong(525000L); if (unlikely(!__pyx_int_525000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1000000 = PyInt_FromLong(1000000L); if (unlikely(!__pyx_int_1000000)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1048575 = PyInt_FromLong(1048575L); if (unlikely(!__pyx_int_1048575)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1048576 = PyInt_FromLong(1048576L); if (unlikely(!__pyx_int_1048576)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1048577 = PyInt_FromLong(1048577L); if (unlikely(!__pyx_int_1048577)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2097152 = PyInt_FromLong(2097152L); if (unlikely(!__pyx_int_2097152)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_4194304 = PyInt_FromLong(4194304L); if (unlikely(!__pyx_int_4194304)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_8388608 = PyInt_FromLong(8388608L); if (unlikely(!__pyx_int_8388608)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_10485760 = PyInt_FromLong(10485760L); if (unlikely(!__pyx_int_10485760)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer) < 0) __PYX_ERR(0, 134, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer.tp_getattro = __Pyx_PyObject_GenericGetAttr; - } - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_ReadBuffer, (PyObject *)&__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer) < 0) __PYX_ERR(0, 134, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer) < 0) __PYX_ERR(0, 134, __pyx_L1_error) - __pyx_ptype_12indexed_gzip_5tests_10ctest_zran_ReadBuffer = &__pyx_type_12indexed_gzip_5tests_10ctest_zran_ReadBuffer; - if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__) < 0) __PYX_ERR(0, 155, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - __pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__ = &__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct____cinit__; - if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn) < 0) __PYX_ERR(0, 236, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - __pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn = &__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_1_return_fn; - if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation) < 0) __PYX_ERR(0, 1240, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - __pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation = &__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_2_test_crc_validation; - if (PyType_Ready(&__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding) < 0) __PYX_ERR(0, 1346, __pyx_L1_error) - #if PY_VERSION_HEX < 0x030800B1 - __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding.tp_print = 0; - #endif - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding.tp_dictoffset && __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding.tp_getattro == PyObject_GenericGetAttr)) { - __pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - __pyx_ptype_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding = &__pyx_type_12indexed_gzip_5tests_10ctest_zran___pyx_scope_struct_3_test_standard_usage_with_null_padding; - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type", - #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 - sizeof(PyTypeObject), - #else - sizeof(PyHeapTypeObject), - #endif - __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 200, __pyx_L1_error) - __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 223, __pyx_L1_error) - __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 227, __pyx_L1_error) - __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 239, __pyx_L1_error) - __pyx_ptype_5numpy_generic = __Pyx_ImportType(__pyx_t_1, "numpy", "generic", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_generic) __PYX_ERR(2, 771, __pyx_L1_error) - __pyx_ptype_5numpy_number = __Pyx_ImportType(__pyx_t_1, "numpy", "number", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_number) __PYX_ERR(2, 773, __pyx_L1_error) - __pyx_ptype_5numpy_integer = __Pyx_ImportType(__pyx_t_1, "numpy", "integer", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_integer) __PYX_ERR(2, 775, __pyx_L1_error) - __pyx_ptype_5numpy_signedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "signedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 777, __pyx_L1_error) - __pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType(__pyx_t_1, "numpy", "unsignedinteger", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 779, __pyx_L1_error) - __pyx_ptype_5numpy_inexact = __Pyx_ImportType(__pyx_t_1, "numpy", "inexact", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 781, __pyx_L1_error) - __pyx_ptype_5numpy_floating = __Pyx_ImportType(__pyx_t_1, "numpy", "floating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_floating) __PYX_ERR(2, 783, __pyx_L1_error) - __pyx_ptype_5numpy_complexfloating = __Pyx_ImportType(__pyx_t_1, "numpy", "complexfloating", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 785, __pyx_L1_error) - __pyx_ptype_5numpy_flexible = __Pyx_ImportType(__pyx_t_1, "numpy", "flexible", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 787, __pyx_L1_error) - __pyx_ptype_5numpy_character = __Pyx_ImportType(__pyx_t_1, "numpy", "character", sizeof(PyObject), __Pyx_ImportType_CheckSize_Warn); - if (!__pyx_ptype_5numpy_character) __PYX_ERR(2, 789, __pyx_L1_error) - __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Ignore); - if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 827, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initctest_zran(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initctest_zran(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_ctest_zran(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_ctest_zran(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) { - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { - result = PyDict_SetItemString(moddict, to_name, value); - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_ctest_zran(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - __Pyx_TraceDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'ctest_zran' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_ctest_zran(void)", 0); - if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("ctest_zran", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - #endif - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_b); - __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_cython_runtime); - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_indexed_gzip__tests__ctest_zran) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "indexed_gzip.tests.ctest_zran")) { - if (unlikely(PyDict_SetItemString(modules, "indexed_gzip.tests.ctest_zran", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - if (unlikely(__Pyx_modinit_type_import_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit_ctest_zran(void)", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error)); - - /* "indexed_gzip/tests/ctest_zran.pyx":10 - * from __future__ import division - * - * import os # <<<<<<<<<<<<<< - * import os.path as op - * import itertools as it - */ - __Pyx_TraceLine(10,0,__PYX_ERR(0, 10, __pyx_L1_error)) - __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":11 - * - * import os - * import os.path as op # <<<<<<<<<<<<<< - * import itertools as it - * import subprocess as sp - */ - __Pyx_TraceLine(11,0,__PYX_ERR(0, 11, __pyx_L1_error)) - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s__73); - __Pyx_GIVEREF(__pyx_n_s__73); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__73); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_os_path, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_op, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":12 - * import os - * import os.path as op - * import itertools as it # <<<<<<<<<<<<<< - * import subprocess as sp - * import sys - */ - __Pyx_TraceLine(12,0,__PYX_ERR(0, 12, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_itertools, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_it, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":13 - * import os.path as op - * import itertools as it - * import subprocess as sp # <<<<<<<<<<<<<< - * import sys - * import time - */ - __Pyx_TraceLine(13,0,__PYX_ERR(0, 13, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_subprocess, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_sp, __pyx_t_2) < 0) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":14 - * import itertools as it - * import subprocess as sp - * import sys # <<<<<<<<<<<<<< - * import time - * import gzip - */ - __Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":15 - * import subprocess as sp - * import sys - * import time # <<<<<<<<<<<<<< - * import gzip - * import shutil - */ - __Pyx_TraceLine(15,0,__PYX_ERR(0, 15, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_time, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":16 - * import sys - * import time - * import gzip # <<<<<<<<<<<<<< - * import shutil - * import random - */ - __Pyx_TraceLine(16,0,__PYX_ERR(0, 16, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_gzip, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_gzip, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":17 - * import time - * import gzip - * import shutil # <<<<<<<<<<<<<< - * import random - * import hashlib - */ - __Pyx_TraceLine(17,0,__PYX_ERR(0, 17, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_shutil, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_shutil, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":18 - * import gzip - * import shutil - * import random # <<<<<<<<<<<<<< - * import hashlib - * import tempfile - */ - __Pyx_TraceLine(18,0,__PYX_ERR(0, 18, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_random, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_random, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":19 - * import shutil - * import random - * import hashlib # <<<<<<<<<<<<<< - * import tempfile - * import threading - */ - __Pyx_TraceLine(19,0,__PYX_ERR(0, 19, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_hashlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":20 - * import random - * import hashlib - * import tempfile # <<<<<<<<<<<<<< - * import threading - * import contextlib - */ - __Pyx_TraceLine(20,0,__PYX_ERR(0, 20, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_tempfile, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempfile, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":21 - * import hashlib - * import tempfile - * import threading # <<<<<<<<<<<<<< - * import contextlib - * - */ - __Pyx_TraceLine(21,0,__PYX_ERR(0, 21, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_threading, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_threading, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":22 - * import tempfile - * import threading - * import contextlib # <<<<<<<<<<<<<< - * - * import numpy as np - */ - __Pyx_TraceLine(22,0,__PYX_ERR(0, 22, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_contextlib, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_contextlib, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":24 - * import contextlib - * - * import numpy as np # <<<<<<<<<<<<<< - * - * # The stdlib resource module is only - */ - __Pyx_TraceLine(24,0,__PYX_ERR(0, 24, __pyx_L1_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_2) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":28 - * # The stdlib resource module is only - * # available on unix-like platforms. - * try: # <<<<<<<<<<<<<< - * import resource - * except ImportError: - */ - __Pyx_TraceLine(28,0,__PYX_ERR(0, 28, __pyx_L1_error)) - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_5); - /*try:*/ { - - /* "indexed_gzip/tests/ctest_zran.pyx":29 - * # available on unix-like platforms. - * try: - * import resource # <<<<<<<<<<<<<< - * except ImportError: - * resource = None - */ - __Pyx_TraceLine(29,0,__PYX_ERR(0, 29, __pyx_L2_error)) - __pyx_t_2 = __Pyx_Import(__pyx_n_s_resource, 0, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L2_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_resource, __pyx_t_2) < 0) __PYX_ERR(0, 29, __pyx_L2_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":28 - * # The stdlib resource module is only - * # available on unix-like platforms. - * try: # <<<<<<<<<<<<<< - * import resource - * except ImportError: - */ - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L7_try_end; - __pyx_L2_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":30 - * try: - * import resource - * except ImportError: # <<<<<<<<<<<<<< - * resource = None - * - */ - __Pyx_TraceLine(30,0,__PYX_ERR(0, 30, __pyx_L4_except_error)) - __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); - if (__pyx_t_6) { - __Pyx_AddTraceback("indexed_gzip.tests.ctest_zran", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_7) < 0) __PYX_ERR(0, 30, __pyx_L4_except_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GOTREF(__pyx_t_7); - - /* "indexed_gzip/tests/ctest_zran.pyx":31 - * import resource - * except ImportError: - * resource = None # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(31,0,__PYX_ERR(0, 31, __pyx_L4_except_error)) - if (PyDict_SetItem(__pyx_d, __pyx_n_s_resource, Py_None) < 0) __PYX_ERR(0, 31, __pyx_L4_except_error) - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L3_exception_handled; - } - goto __pyx_L4_except_error; - __pyx_L4_except_error:; - - /* "indexed_gzip/tests/ctest_zran.pyx":28 - * # The stdlib resource module is only - * # available on unix-like platforms. - * try: # <<<<<<<<<<<<<< - * import resource - * except ImportError: - */ - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); - goto __pyx_L1_error; - __pyx_L3_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5); - __pyx_L7_try_end:; - } - - /* "indexed_gzip/tests/ctest_zran.pyx":37 - * - * from posix.types cimport off_t - * from io import BytesIO # <<<<<<<<<<<<<< - * - * from libc.stdio cimport (SEEK_SET, - */ - __Pyx_TraceLine(37,0,__PYX_ERR(0, 37, __pyx_L1_error)) - __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_INCREF(__pyx_n_s_BytesIO); - __Pyx_GIVEREF(__pyx_n_s_BytesIO); - PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_BytesIO); - __pyx_t_1 = __Pyx_Import(__pyx_n_s_io, __pyx_t_7, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_BytesIO); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_BytesIO, __pyx_t_7) < 0) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":65 - * - * - * from . import poll, check_data_valid, tempdir, compress_inmem # <<<<<<<<<<<<<< - * - * - */ - __Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L1_error)) - __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_n_s_poll); - __Pyx_GIVEREF(__pyx_n_s_poll); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_poll); - __Pyx_INCREF(__pyx_n_s_check_data_valid); - __Pyx_GIVEREF(__pyx_n_s_check_data_valid); - PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_check_data_valid); - __Pyx_INCREF(__pyx_n_s_tempdir); - __Pyx_GIVEREF(__pyx_n_s_tempdir); - PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_tempdir); - __Pyx_INCREF(__pyx_n_s_compress_inmem); - __Pyx_GIVEREF(__pyx_n_s_compress_inmem); - PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_compress_inmem); - __pyx_t_7 = __Pyx_Import(__pyx_kp_s__35, __pyx_t_1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_poll); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_poll, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_check_data_valid); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_data_valid, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_tempdir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_tempdir, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_7, __pyx_n_s_compress_inmem); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_compress_inmem, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":75 - * cimport indexed_gzip.zran_file_util as zran_file_util - * - * np.import_array() # <<<<<<<<<<<<<< - * - * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): - */ - __Pyx_TraceLine(75,0,__PYX_ERR(0, 75, __pyx_L1_error)) - __pyx_t_6 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 75, __pyx_L1_error) - - /* "indexed_gzip/tests/ctest_zran.pyx":77 - * np.import_array() - * - * cdef read_element(zran.zran_index_t *index, element, nelems, seek=True): # <<<<<<<<<<<<<< - * - * cdef void *buffer - */ - __Pyx_TraceLine(77,0,__PYX_ERR(0, 77, __pyx_L1_error)) - - - /* "indexed_gzip/tests/ctest_zran.pyx":232 - * - * - * def error_fn(*args, **kwargs): # <<<<<<<<<<<<<< - * raise Exception("Error") - * - */ - __Pyx_TraceLine(232,0,__PYX_ERR(0, 232, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_1error_fn, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_error_fn, __pyx_t_7) < 0) __PYX_ERR(0, 232, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":236 - * - * - * def return_fn(return_value): # <<<<<<<<<<<<<< - * return lambda *args, **kwargs: return_value - * - */ - __Pyx_TraceLine(236,0,__PYX_ERR(0, 236, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_3return_fn, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 236, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_return_fn, __pyx_t_7) < 0) __PYX_ERR(0, 236, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":240 - * - * - * def test_fread(): # <<<<<<<<<<<<<< - * """Tests Python wrapper C function for fread.""" - * - */ - __Pyx_TraceLine(240,0,__PYX_ERR(0, 240, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_5test_fread, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_fread, __pyx_t_7) < 0) __PYX_ERR(0, 240, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":259 - * - * - * def test_ftell(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __Pyx_TraceLine(259,0,__PYX_ERR(0, 259, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_7test_ftell, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 259, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_ftell, __pyx_t_7) < 0) __PYX_ERR(0, 259, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":275 - * - * - * def test_fseek(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __Pyx_TraceLine(275,0,__PYX_ERR(0, 275, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_9test_fseek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 275, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_fseek, __pyx_t_7) < 0) __PYX_ERR(0, 275, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":294 - * - * - * def test_feof(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __Pyx_TraceLine(294,0,__PYX_ERR(0, 294, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_11test_feof, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 294, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_feof, __pyx_t_7) < 0) __PYX_ERR(0, 294, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":305 - * - * - * def test_ferror(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __Pyx_TraceLine(305,0,__PYX_ERR(0, 305, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_13test_ferror, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 305, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_ferror, __pyx_t_7) < 0) __PYX_ERR(0, 305, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":315 - * - * - * def test_fflush(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __Pyx_TraceLine(315,0,__PYX_ERR(0, 315, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_15test_fflush, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 315, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_fflush, __pyx_t_7) < 0) __PYX_ERR(0, 315, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":329 - * - * - * def test_fwrite(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __Pyx_TraceLine(329,0,__PYX_ERR(0, 329, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_17test_fwrite, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 329, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_fwrite, __pyx_t_7) < 0) __PYX_ERR(0, 329, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":351 - * - * - * def test_getc(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"dbc") - */ - __Pyx_TraceLine(351,0,__PYX_ERR(0, 351, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_19test_getc, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 351, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_getc, __pyx_t_7) < 0) __PYX_ERR(0, 351, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":372 - * - * - * def test_seekable(): # <<<<<<<<<<<<<< - * - * f = BytesIO(b"abc") - */ - __Pyx_TraceLine(372,0,__PYX_ERR(0, 372, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_21test_seekable, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 372, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seekable, __pyx_t_7) < 0) __PYX_ERR(0, 372, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":380 - * - * - * def test_init(testfile, no_fds): # <<<<<<<<<<<<<< - * """Tests a bunch of permutations of the parameters to zran_init. """ - * - */ - __Pyx_TraceLine(380,0,__PYX_ERR(0, 380, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_23test_init, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 380, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init, __pyx_t_7) < 0) __PYX_ERR(0, 380, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":418 - * - * - * def test_init_file_modes(testfile, no_fds): # <<<<<<<<<<<<<< - * - * modes = ['r', 'r+', 'w', 'w+', 'a', 'a+'] - */ - __Pyx_TraceLine(418,0,__PYX_ERR(0, 418, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_25test_init_file_modes, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 418, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_init_file_modes, __pyx_t_7) < 0) __PYX_ERR(0, 418, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":451 - * - * - * def test_no_auto_build(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(451,0,__PYX_ERR(0, 451, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_27test_no_auto_build, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_no_auto_build, __pyx_t_7) < 0) __PYX_ERR(0, 451, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":506 - * - * - * def test_seek_to_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(506,0,__PYX_ERR(0, 506, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_29test_seek_to_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 506, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_to_end, __pyx_t_7) < 0) __PYX_ERR(0, 506, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":535 - * - * - * def test_seek_cur(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(535,0,__PYX_ERR(0, 535, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_31test_seek_cur, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 535, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_cur, __pyx_t_7) < 0) __PYX_ERR(0, 535, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":579 - * - * - * def test_seek_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * cdef zran.zran_index_t index - * - */ - __Pyx_TraceLine(579,0,__PYX_ERR(0, 579, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_33test_seek_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 579, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_end, __pyx_t_7) < 0) __PYX_ERR(0, 579, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":637 - * - * - * def test_seek_beyond_end(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(637,0,__PYX_ERR(0, 637, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_35test_seek_beyond_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 637, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_beyond_end, __pyx_t_7) < 0) __PYX_ERR(0, 637, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":691 - * - * - * def test_sequential_seek_to_end(testfile, no_fds, nelems, niters): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(691,0,__PYX_ERR(0, 691, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_37test_sequential_seek_to_end, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_sequential_seek_to_end, __pyx_t_7) < 0) __PYX_ERR(0, 691, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":738 - * - * - * def test_random_seek(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(738,0,__PYX_ERR(0, 738, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_39test_random_seek, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 738, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_random_seek, __pyx_t_7) < 0) __PYX_ERR(0, 738, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":769 - * - * - * def test_read_all(testfile, no_fds, nelems, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - __Pyx_TraceLine(769,0,__PYX_ERR(0, 769, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_41test_read_all, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 769, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_all, __pyx_t_7) < 0) __PYX_ERR(0, 769, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":805 - * - * - * def test_seek_then_read_block(testfile, no_fds, nelems, niters, seed, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - __Pyx_TraceLine(805,0,__PYX_ERR(0, 805, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_43test_seek_then_read_block, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 805, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_seek_then_read_block, __pyx_t_7) < 0) __PYX_ERR(0, 805, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":870 - * - * - * def test_random_seek_and_read(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(870,0,__PYX_ERR(0, 870, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_45test_random_seek_and_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 870, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_random_seek_and_read, __pyx_t_7) < 0) __PYX_ERR(0, 870, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":907 - * - * - * def test_read_all_sequential(testfile, no_fds, nelems): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(907,0,__PYX_ERR(0, 907, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_47test_read_all_sequential, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 907, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_all_sequential, __pyx_t_7) < 0) __PYX_ERR(0, 907, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":943 - * - * - * def test_build_then_read(testfile, no_fds, nelems, seed, use_mmap): # <<<<<<<<<<<<<< - * - * filesize = nelems * 8 - */ - __Pyx_TraceLine(943,0,__PYX_ERR(0, 943, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_49test_build_then_read, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 943, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_build_then_read, __pyx_t_7) < 0) __PYX_ERR(0, 943, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":990 - * - * - * def test_readbuf_spacing_sizes(testfile, no_fds, nelems, niters, seed): # <<<<<<<<<<<<<< - * - * cdef zran.zran_index_t index - */ - __Pyx_TraceLine(990,0,__PYX_ERR(0, 990, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_51test_readbuf_spacing_sizes, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 990, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_readbuf_spacing_sizes, __pyx_t_7) < 0) __PYX_ERR(0, 990, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1041 - * - * - * cdef _compare_indexes(zran.zran_index_t *index1, # <<<<<<<<<<<<<< - * zran.zran_index_t *index2): - * """Check that two indexes are equivalent. """ - */ - __Pyx_TraceLine(1041,0,__PYX_ERR(0, 1041, __pyx_L1_error)) - - - /* "indexed_gzip/tests/ctest_zran.pyx":1070 - * - * - * def test_export_then_import(testfile, no_fds): # <<<<<<<<<<<<<< - * """Export-import round trip . Test exporting an index, then importing it - * back in. - */ - __Pyx_TraceLine(1070,0,__PYX_ERR(0, 1070, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_53test_export_then_import, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1070, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_export_then_import, __pyx_t_7) < 0) __PYX_ERR(0, 1070, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1122 - * - * - * def test_export_import_no_points(no_fds): # <<<<<<<<<<<<<< - * """Test exporting and importing an index which does not contain any - * seek points. - */ - __Pyx_TraceLine(1122,0,__PYX_ERR(0, 1122, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_55test_export_import_no_points, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_export_import_no_points, __pyx_t_7) < 0) __PYX_ERR(0, 1122, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1179 - * - * - * def test_export_import_format_v0(): # <<<<<<<<<<<<<< - * """Test index export and import on a version 0 index file. """ - * - */ - __Pyx_TraceLine(1179,0,__PYX_ERR(0, 1179, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_57test_export_import_format_v0, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1179, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_export_import_format_v0, __pyx_t_7) < 0) __PYX_ERR(0, 1179, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1215 - * - * - * cdef _write_index_file_v0(zran.zran_index_t *index, dest): # <<<<<<<<<<<<<< - * """Write the given index out to a file, index file version 0 format. """ - * - */ - __Pyx_TraceLine(1215,0,__PYX_ERR(0, 1215, __pyx_L1_error)) - - - /* "indexed_gzip/tests/ctest_zran.pyx":1240 - * - * - * def test_crc_validation(concat): # <<<<<<<<<<<<<< - * """Basic test of CRC validation. """ - * - */ - __Pyx_TraceLine(1240,0,__PYX_ERR(0, 1240, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_59test_crc_validation, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_crc_validation, __pyx_t_7) < 0) __PYX_ERR(0, 1240, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1346 - * - * - * def test_standard_usage_with_null_padding(concat): # <<<<<<<<<<<<<< - * """Make sure standard usage works with files that have null-padding after - * the GZIP footer. - */ - __Pyx_TraceLine(1346,0,__PYX_ERR(0, 1346, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_61test_standard_usage_with_null_padding, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1346, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_standard_usage_with_null_pa_2, __pyx_t_7) < 0) __PYX_ERR(0, 1346, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1421 - * - * # pauldmccarthy/indexed_gzip#82 - * def test_inflateInit_leak_on_error(): # <<<<<<<<<<<<<< - * """Make sure memory is not leaked after a successful call to - * inflateInit2(), but then a failure on subsequent zlib calls. - */ - __Pyx_TraceLine(1421,0,__PYX_ERR(0, 1421, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_63test_inflateInit_leak_on_error, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1421, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_inflateInit_leak_on_error, __pyx_t_7) < 0) __PYX_ERR(0, 1421, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1459 - * - * # pauldmccarthy/indexed_gzip#80 - * def test_read_eof_memmove_rotate_bug(seed): # <<<<<<<<<<<<<< - * - * # This bug was triggered by the read buffer rotation - */ - __Pyx_TraceLine(1459,0,__PYX_ERR(0, 1459, __pyx_L1_error)) - __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_12indexed_gzip_5tests_10ctest_zran_65test_read_eof_memmove_rotate_bug, NULL, __pyx_n_s_indexed_gzip_tests_ctest_zran); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1459, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test_read_eof_memmove_rotate_bug, __pyx_t_7) < 0) __PYX_ERR(0, 1459, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "indexed_gzip/tests/ctest_zran.pyx":1 - * # # <<<<<<<<<<<<<< - * # Tests for the zran module. - * # - */ - __Pyx_TraceLine(1,0,__PYX_ERR(0, 1, __pyx_L1_error)) - __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_7) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":735 - * ctypedef npy_cdouble complex_t - * - * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(1, a) - * - */ - __Pyx_TraceLine(735,0,__PYX_ERR(2, 735, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":738 - * return PyArray_MultiIterNew(1, a) - * - * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(2, a, b) - * - */ - __Pyx_TraceLine(738,0,__PYX_ERR(2, 738, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":741 - * return PyArray_MultiIterNew(2, a, b) - * - * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(3, a, b, c) - * - */ - __Pyx_TraceLine(741,0,__PYX_ERR(2, 741, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":744 - * return PyArray_MultiIterNew(3, a, b, c) - * - * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(4, a, b, c, d) - * - */ - __Pyx_TraceLine(744,0,__PYX_ERR(2, 744, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":747 - * return PyArray_MultiIterNew(4, a, b, c, d) - * - * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - */ - __Pyx_TraceLine(747,0,__PYX_ERR(2, 747, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":750 - * return PyArray_MultiIterNew(5, a, b, c, d, e) - * - * cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<< - * if PyDataType_HASSUBARRAY(d): - * return d.subarray.shape - */ - __Pyx_TraceLine(750,0,__PYX_ERR(2, 750, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":929 - * int _import_umath() except -1 - * - * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< - * Py_INCREF(base) # important to do this before stealing the reference below! - * PyArray_SetBaseObject(arr, base) - */ - __Pyx_TraceLine(929,0,__PYX_ERR(2, 929, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":933 - * PyArray_SetBaseObject(arr, base) - * - * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< - * base = PyArray_BASE(arr) - * if base is NULL: - */ - __Pyx_TraceLine(933,0,__PYX_ERR(2, 933, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":941 - * # Versions of the import_* functions which are more suitable for - * # Cython code. - * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< - * try: - * __pyx_import_array() - */ - __Pyx_TraceLine(941,0,__PYX_ERR(2, 941, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":947 - * raise ImportError("numpy.core.multiarray failed to import") - * - * cdef inline int import_umath() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - __Pyx_TraceLine(947,0,__PYX_ERR(2, 947, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":953 - * raise ImportError("numpy.core.umath failed to import") - * - * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< - * try: - * _import_umath() - */ - __Pyx_TraceLine(953,0,__PYX_ERR(2, 953, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":967 - * - * - * cdef inline bint is_timedelta64_object(object obj): # <<<<<<<<<<<<<< - * """ - * Cython equivalent of `isinstance(obj, np.timedelta64)` - */ - __Pyx_TraceLine(967,0,__PYX_ERR(2, 967, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":982 - * - * - * cdef inline bint is_datetime64_object(object obj): # <<<<<<<<<<<<<< - * """ - * Cython equivalent of `isinstance(obj, np.datetime64)` - */ - __Pyx_TraceLine(982,0,__PYX_ERR(2, 982, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":997 - * - * - * cdef inline npy_datetime get_datetime64_value(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the int64 value underlying scalar numpy datetime64 object - */ - __Pyx_TraceLine(997,0,__PYX_ERR(2, 997, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1007 - * - * - * cdef inline npy_timedelta get_timedelta64_value(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the int64 value underlying scalar numpy timedelta64 object - */ - __Pyx_TraceLine(1007,0,__PYX_ERR(2, 1007, __pyx_L1_error)) - - - /* "venv/lib/python3.7/site-packages/numpy/__init__.pxd":1014 - * - * - * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) nogil: # <<<<<<<<<<<<<< - * """ - * returns the unit part of the dtype for a numpy datetime64 object. - */ - __Pyx_TraceLine(1014,0,__PYX_ERR(2, 1014, __pyx_L1_error)) - - __Pyx_TraceReturn(Py_None, 0); - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_7); - if (__pyx_m) { - if (__pyx_d) { - __Pyx_AddTraceback("init indexed_gzip.tests.ctest_zran", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - Py_CLEAR(__pyx_m); - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init indexed_gzip.tests.ctest_zran"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name); - if (unlikely(!result)) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -} -#endif - -/* Profile */ -#if CYTHON_PROFILE -static int __Pyx_TraceSetupAndCall(PyCodeObject** code, - PyFrameObject** frame, - PyThreadState* tstate, - const char *funcname, - const char *srcfile, - int firstlineno) { - PyObject *type, *value, *traceback; - int retval; - if (*frame == NULL || !CYTHON_PROFILE_REUSE_FRAME) { - if (*code == NULL) { - *code = __Pyx_createFrameCodeObject(funcname, srcfile, firstlineno); - if (*code == NULL) return 0; - } - *frame = PyFrame_New( - tstate, /*PyThreadState *tstate*/ - *code, /*PyCodeObject *code*/ - __pyx_d, /*PyObject *globals*/ - 0 /*PyObject *locals*/ - ); - if (*frame == NULL) return 0; - if (CYTHON_TRACE && (*frame)->f_trace == NULL) { - Py_INCREF(Py_None); - (*frame)->f_trace = Py_None; - } -#if PY_VERSION_HEX < 0x030400B1 - } else { - (*frame)->f_tstate = tstate; -#endif - } - __Pyx_PyFrame_SetLineNumber(*frame, firstlineno); - retval = 1; - __Pyx_EnterTracing(tstate); - __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); - #if CYTHON_TRACE - if (tstate->c_tracefunc) - retval = tstate->c_tracefunc(tstate->c_traceobj, *frame, PyTrace_CALL, NULL) == 0; - if (retval && tstate->c_profilefunc) - #endif - retval = tstate->c_profilefunc(tstate->c_profileobj, *frame, PyTrace_CALL, NULL) == 0; - __Pyx_LeaveTracing(tstate); - if (retval) { - __Pyx_ErrRestoreInState(tstate, type, value, traceback); - return __Pyx_IsTracing(tstate, 0, 0) && retval; - } else { - Py_XDECREF(type); - Py_XDECREF(value); - Py_XDECREF(traceback); - return -1; - } -} -static PyCodeObject *__Pyx_createFrameCodeObject(const char *funcname, const char *srcfile, int firstlineno) { - PyCodeObject *py_code = 0; -#if PY_MAJOR_VERSION >= 3 - py_code = PyCode_NewEmpty(srcfile, funcname, firstlineno); - if (likely(py_code)) { - py_code->co_flags |= CO_OPTIMIZED | CO_NEWLOCALS; - } -#else - PyObject *py_srcfile = 0; - PyObject *py_funcname = 0; - py_funcname = PyString_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - py_srcfile = PyString_FromString(srcfile); - if (unlikely(!py_srcfile)) goto bad; - py_code = PyCode_New( - 0, - 0, - 0, - CO_OPTIMIZED | CO_NEWLOCALS, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - firstlineno, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); -bad: - Py_XDECREF(py_srcfile); - Py_XDECREF(py_funcname); -#endif - return py_code; -} -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - #endif - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -} -#endif - -/* GetException */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type, *local_value, *local_tb; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* PyCFunctionFastCall */ -#if CYTHON_FAST_PYCCALL -static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { - PyCFunctionObject *func = (PyCFunctionObject*)func_obj; - PyCFunction meth = PyCFunction_GET_FUNCTION(func); - PyObject *self = PyCFunction_GET_SELF(func); - int flags = PyCFunction_GET_FLAGS(func); - assert(PyCFunction_Check(func)); - assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS))); - assert(nargs >= 0); - assert(nargs == 0 || args != NULL); - /* _PyCFunction_FastCallDict() must not be called with an exception set, - because it may clear it (directly or indirectly) and so the - caller loses its exception */ - assert(!PyErr_Occurred()); - if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) { - return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL); - } else { - return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs); - } -} -#endif - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -#if 1 || PY_VERSION_HEX < 0x030600B1 -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { - return NULL; - } - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif -#endif - -/* PyObjectCall2Args */ -static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args, *result = NULL; - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyFunction_FastCall(function, args, 2); - } - #endif - #if CYTHON_FAST_PYCCALL - if (__Pyx_PyFastCFunction_Check(function)) { - PyObject *args[2] = {arg1, arg2}; - return __Pyx_PyCFunction_FastCall(function, args, 2); - } - #endif - args = PyTuple_New(2); - if (unlikely(!args)) goto done; - Py_INCREF(arg1); - PyTuple_SET_ITEM(args, 0, arg1); - Py_INCREF(arg2); - PyTuple_SET_ITEM(args, 1, arg2); - Py_INCREF(function); - result = __Pyx_PyObject_Call(function, args, NULL); - Py_DECREF(args); - Py_DECREF(function); -done: - return result; -} - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = PyCFunction_GET_FUNCTION(func); - self = PyCFunction_GET_SELF(func); - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallOneArg */ -#if CYTHON_COMPILING_IN_CPYTHON -static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_New(1); - if (unlikely(!args)) return NULL; - Py_INCREF(arg); - PyTuple_SET_ITEM(args, 0, arg); - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, &arg, 1); - } -#endif - if (likely(PyCFunction_Check(func))) { - if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { - return __Pyx_PyObject_CallMethO(func, arg); -#if CYTHON_FAST_PYCCALL - } else if (__Pyx_PyFastCFunction_Check(func)) { - return __Pyx_PyCFunction_FastCall(func, &arg, 1); -#endif - } - } - return __Pyx__PyObject_CallOneArg(func, arg); -} -#else -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *result; - PyObject *args = PyTuple_Pack(1, arg); - if (unlikely(!args)) return NULL; - result = __Pyx_PyObject_Call(func, args, NULL); - Py_DECREF(args); - return result; -} -#endif - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - x = (long)((unsigned long)a + b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - if (likely(__Pyx_sst_abs(size) <= 1)) { - a = likely(size) ? digits[0] : 0; - if (size == -1) a = -a; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - double result; - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* GetItemInt */ -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return m->sq_item(o, i); - } - } -#else - if (is_list || PySequence_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* RaiseDoubleKeywords */ -static void __Pyx_RaiseDoubleKeywordsError( - const char* func_name, - PyObject* kw_name) -{ - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION >= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - while (PyDict_Next(kwds, &pos, &key, &value)) { - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; - continue; - } - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = (**name == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - return -1; -} - -/* RaiseArgTupleInvalid */ -static void __Pyx_RaiseArgtupleInvalid( - const char* func_name, - int exact, - Py_ssize_t num_min, - Py_ssize_t num_max, - Py_ssize_t num_found) -{ - Py_ssize_t num_expected; - const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; - } else { - num_expected = num_max; - more_or_less = "at most"; - } - if (exact) { - more_or_less = "exactly"; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", - func_name, more_or_less, num_expected, - (num_expected == 1) ? "" : "s", num_found); -} - -/* None */ -static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) { - PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname); -} - -/* PyObjectCallNoArg */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { -#if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCall(func, NULL, 0); - } -#endif -#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG) - if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) -#else - if (likely(PyCFunction_Check(func))) -#endif - { - if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { - return __Pyx_PyObject_CallMethO(func, NULL); - } - } - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL); -} -#endif - -/* RaiseTooManyValuesToUnpack */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { - PyErr_Format(PyExc_ValueError, - "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); -} - -/* RaiseNeedMoreValuesToUnpack */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", - index, (index == 1) ? "" : "s"); -} - -/* IterFinish */ -static CYTHON_INLINE int __Pyx_IterFinish(void) { -#if CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* exc_type = tstate->curexc_type; - if (unlikely(exc_type)) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) { - PyObject *exc_value, *exc_tb; - exc_value = tstate->curexc_value; - exc_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - Py_DECREF(exc_type); - Py_XDECREF(exc_value); - Py_XDECREF(exc_tb); - return 0; - } else { - return -1; - } - } - return 0; -#else - if (unlikely(PyErr_Occurred())) { - if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) { - PyErr_Clear(); - return 0; - } else { - return -1; - } - } - return 0; -#endif -} - -/* UnpackItemEndCheck */ -static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { - if (unlikely(retval)) { - Py_DECREF(retval); - __Pyx_RaiseTooManyValuesError(expected); - return -1; - } - return __Pyx_IterFinish(); -} - -/* FetchCommonType */ -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* fake_module; - PyTypeObject* cached_type = NULL; - fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); - if (!fake_module) return NULL; - Py_INCREF(fake_module); - cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); - if (cached_type) { - if (!PyType_Check((PyObject*)cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", - type->tp_name); - goto bad; - } - if (cached_type->tp_basicsize != type->tp_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - type->tp_name); - goto bad; - } - } else { - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; - } -done: - Py_DECREF(fake_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} - -/* CythonFunctionShared */ -#include -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure) -{ - if (unlikely(op->func_doc == NULL)) { - if (op->func.m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(op->func.m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp = op->func_doc; - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - op->func_doc = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - if (unlikely(op->func_name == NULL)) { -#if PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(op->func.m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - tmp = op->func_name; - Py_INCREF(value); - op->func_name = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - tmp = op->func_qualname; - Py_INCREF(value); - op->func_qualname = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure) -{ - PyObject *self; - self = m->func_closure; - if (self == NULL) - self = Py_None; - Py_INCREF(self); - return self; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) -{ - PyObject *tmp; - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - tmp = op->func_dict; - Py_INCREF(value); - op->func_dict = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value) { - value = Py_None; - } else if (value != Py_None && !PyTuple_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - Py_INCREF(value); - tmp = op->defaults_tuple; - op->defaults_tuple = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->defaults_tuple; - if (unlikely(!result)) { - if (op->defaults_getter) { - if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value) { - value = Py_None; - } else if (value != Py_None && !PyDict_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - Py_INCREF(value); - tmp = op->defaults_kwdict; - op->defaults_kwdict = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->defaults_kwdict; - if (unlikely(!result)) { - if (op->defaults_getter) { - if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { - PyObject* tmp; - if (!value || value == Py_None) { - value = NULL; - } else if (!PyDict_Check(value)) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - tmp = op->func_annotations; - op->func_annotations = value; - Py_XDECREF(tmp); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { - PyObject* result = op->func_annotations; - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0}, - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) -{ -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(m->func.m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - if (unlikely(op == NULL)) - return NULL; - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; - op->func.m_ml = ml; - op->func.m_self = (PyObject *) op; - Py_XINCREF(closure); - op->func_closure = closure; - Py_XINCREF(module); - op->func.m_module = module; - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; - op->func_classobj = NULL; - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); - Py_CLEAR(m->func.m_module); - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); - Py_CLEAR(m->func_classobj); - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - PyObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); - Py_VISIT(m->func.m_module); - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); - Py_VISIT(m->func_classobj); - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) -{ -#if PY_MAJOR_VERSION < 3 - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { - Py_INCREF(func); - return func; - } - if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { - if (type == NULL) - type = (PyObject *)(Py_TYPE(obj)); - return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); - } - if (obj == Py_None) - obj = NULL; -#endif - return __Pyx_PyMethod_New(func, obj, type); -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - Py_ssize_t size; - switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { - size = PyTuple_GET_SIZE(arg); - if (likely(size == 0)) - return (*meth)(self, NULL); - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { - size = PyTuple_GET_SIZE(arg); - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags in " - "__Pyx_CyFunction_Call. METH_OLDARGS is no " - "longer supported!"); - return NULL; - } - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; - argc = PyTuple_GET_SIZE(args); - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, - 0, - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_CyFunction_descr_get, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 - 0, -#endif -}; -static int __pyx_CyFunction_init(void) { - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, - CYTHON_UNUSED PyObject *cause) { - __Pyx_PyThreadState_declare - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { -#if CYTHON_COMPILING_IN_PYPY - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#else - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* WriteUnraisableException */ -static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, - CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename, - int full_traceback, CYTHON_UNUSED int nogil) { - PyObject *old_exc, *old_val, *old_tb; - PyObject *ctx; - __Pyx_PyThreadState_declare -#ifdef WITH_THREAD - PyGILState_STATE state; - if (nogil) - state = PyGILState_Ensure(); - else state = (PyGILState_STATE)0; -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&old_exc, &old_val, &old_tb); - if (full_traceback) { - Py_XINCREF(old_exc); - Py_XINCREF(old_val); - Py_XINCREF(old_tb); - __Pyx_ErrRestore(old_exc, old_val, old_tb); - PyErr_PrintEx(1); - } - #if PY_MAJOR_VERSION < 3 - ctx = PyString_FromString(name); - #else - ctx = PyUnicode_FromString(name); - #endif - __Pyx_ErrRestore(old_exc, old_val, old_tb); - if (!ctx) { - PyErr_WriteUnraisable(Py_None); - } else { - PyErr_WriteUnraisable(ctx); - Py_DECREF(ctx); - } -#ifdef WITH_THREAD - if (nogil) - PyGILState_Release(state); -#endif -} - -/* KeywordStringCheck */ -static int __Pyx_CheckKeywordStrings( - PyObject *kwdict, - const char* function_name, - int kw_allowed) -{ - PyObject* key = 0; - Py_ssize_t pos = 0; -#if CYTHON_COMPILING_IN_PYPY - if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0)) - goto invalid_keyword; - return 1; -#else - while (PyDict_Next(kwdict, &pos, &key, 0)) { - #if PY_MAJOR_VERSION < 3 - if (unlikely(!PyString_Check(key))) - #endif - if (unlikely(!PyUnicode_Check(key))) - goto invalid_keyword_type; - } - if ((!kw_allowed) && unlikely(key)) - goto invalid_keyword; - return 1; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - return 0; -#endif -invalid_keyword: - PyErr_Format(PyExc_TypeError, - #if PY_MAJOR_VERSION < 3 - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif - return 0; -} - -/* PyIntCompare */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { - if (op1 == op2) { - Py_RETURN_TRUE; - } - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - int unequal; - unsigned long uintval; - Py_ssize_t size = Py_SIZE(op1); - const digit* digits = ((PyLongObject*)op1)->ob_digit; - if (intval == 0) { - if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } else if (intval < 0) { - if (size >= 0) - Py_RETURN_FALSE; - intval = -intval; - size = -size; - } else { - if (size <= 0) - Py_RETURN_FALSE; - } - uintval = (unsigned long) intval; -#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 4)) { - unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 3)) { - unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 2)) { - unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 1)) { - unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif - unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); - if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; - } - return ( - PyObject_RichCompare(op1, op2, Py_EQ)); -} - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* PyObjectSetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_setattro)) - return tp->tp_setattro(obj, attr_name, value); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_setattr)) - return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); -#endif - return PyObject_SetAttr(obj, attr_name, value); -} -#endif - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -#if PY_MAJOR_VERSION < 3 || CYTHON_USE_PYLONG_INTERNALS -#define __Pyx_PyInt_FloorDivideObjC_ZeroDivisionError(operand)\ - if (unlikely(zerodivision_check && ((operand) == 0))) {\ - PyErr_SetString(PyExc_ZeroDivisionError, "integer division by zero");\ - return NULL;\ - } -#endif -static PyObject* __Pyx_PyInt_FloorDivideObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - __Pyx_PyInt_FloorDivideObjC_ZeroDivisionError(b) - if (unlikely(b == -1 && ((unsigned long)a) == 0-(unsigned long)a)) - return PyInt_Type.tp_as_number->nb_floor_divide(op1, op2); - else { - long q, r; - q = a / b; - r = a - q*b; - q -= ((r != 0) & ((r ^ b) < 0)); - x = q; - } - return PyInt_FromLong(x); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - if (likely(__Pyx_sst_abs(size) <= 1)) { - a = likely(size) ? digits[0] : 0; - if (size == -1) a = -a; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_floor_divide(op1, op2); - } - } - __Pyx_PyInt_FloorDivideObjC_ZeroDivisionError(b) - { - long q, r; - q = a / b; - r = a - q*b; - q -= ((r != 0) & ((r ^ b) < 0)); - x = q; - } - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - { - PY_LONG_LONG q, r; - q = lla / llb; - r = lla - q*llb; - q -= ((r != 0) & ((r ^ llb) < 0)); - llx = q; - } - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - return (inplace ? PyNumber_InPlaceFloorDivide : PyNumber_FloorDivide)(op1, op2); -} -#endif - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - x = (long)((unsigned long)a - b); - if (likely((x^a) >= 0 || (x^~b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_subtract(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - if (likely(__Pyx_sst_abs(size) <= 1)) { - a = likely(size) ? digits[0] : 0; - if (size == -1) a = -a; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2); - } - } - x = a - b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla - llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; - double a = PyFloat_AS_DOUBLE(op1); - double result; - PyFPE_START_PROTECT("subtract", return NULL) - result = ((double)a) - (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); -} -#endif - -/* PyFloatBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyFloat_TrueDivideObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) { - const double b = floatval; - double a, result; - (void)inplace; - (void)zerodivision_check; - if (likely(PyFloat_CheckExact(op1))) { - a = PyFloat_AS_DOUBLE(op1); - - } else - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - a = (double) PyInt_AS_LONG(op1); - - } else - #endif - if (likely(PyLong_CheckExact(op1))) { - #if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - switch (size) { - case 0: a = 0.0; break; - case -1: a = -(double) digits[0]; break; - case 1: a = (double) digits[0]; break; - case -2: - case 2: - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) { - a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -2) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - case -3: - case 3: - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) { - a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -3) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - case -4: - case 4: - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) { - a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) { - if (size == -4) - a = -a; - break; - } - } - CYTHON_FALLTHROUGH; - default: - #else - { - #endif - a = PyLong_AsDouble(op1); - if (unlikely(a == -1.0 && PyErr_Occurred())) return NULL; - - } - } else { - return (inplace ? PyNumber_InPlaceTrueDivide : PyNumber_TrueDivide)(op1, op2); - } - - PyFPE_START_PROTECT("divide", return NULL) - result = a / b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); -} -#endif - -/* None */ - static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) { - PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname); -} - -/* SetItemInt */ - static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) { - int r; - if (!j) return -1; - r = PyObject_SetItem(o, j, v); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list, - CYTHON_NCP_UNUSED int wraparound, CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o)); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) { - PyObject* old = PyList_GET_ITEM(o, n); - Py_INCREF(v); - PyList_SET_ITEM(o, n, v); - Py_DECREF(old); - return 1; - } - } else { - PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence; - if (likely(m && m->sq_ass_item)) { - if (wraparound && unlikely(i < 0) && likely(m->sq_length)) { - Py_ssize_t l = m->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return -1; - PyErr_Clear(); - } - } - return m->sq_ass_item(o, i, v); - } - } -#else -#if CYTHON_COMPILING_IN_PYPY - if (is_list || (PySequence_Check(o) && !PyDict_Check(o))) -#else - if (is_list || PySequence_Check(o)) -#endif - { - return PySequence_SetItem(o, i, v); - } -#endif - return __Pyx_SetItemInt_Generic(o, PyInt_FromSsize_t(i), v); -} - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -#if PY_MAJOR_VERSION < 3 || CYTHON_USE_PYLONG_INTERNALS -#define __Pyx_PyInt_RemainderObjC_ZeroDivisionError(operand)\ - if (unlikely(zerodivision_check && ((operand) == 0))) {\ - PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");\ - return NULL;\ - } -#endif -static PyObject* __Pyx_PyInt_RemainderObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { - (void)inplace; - (void)zerodivision_check; - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - __Pyx_PyInt_RemainderObjC_ZeroDivisionError(b) - x = a % b; - x += ((x != 0) & ((x ^ b) < 0)) * b; - return PyInt_FromLong(x); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - const digit* digits = ((PyLongObject*)op1)->ob_digit; - const Py_ssize_t size = Py_SIZE(op1); - if (likely(__Pyx_sst_abs(size) <= 1)) { - a = likely(size) ? digits[0] : 0; - if (size == -1) a = -a; - } else { - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; -#ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; -#endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_remainder(op1, op2); - } - } - __Pyx_PyInt_RemainderObjC_ZeroDivisionError(b) - x = a % b; - x += ((x != 0) & ((x ^ b) < 0)) * b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla % llb; - llx += ((llx != 0) & ((llx ^ llb) < 0)) * llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - return (inplace ? PyNumber_InPlaceRemainder : PyNumber_Remainder)(op1, op2); -} -#endif - -/* SliceObject */ - static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, - Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, - int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { -#if CYTHON_USE_TYPE_SLOTS - PyMappingMethods* mp; -#if PY_MAJOR_VERSION < 3 - PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; - if (likely(ms && ms->sq_slice)) { - if (!has_cstart) { - if (_py_start && (*_py_start != Py_None)) { - cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); - if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstart = 0; - } - if (!has_cstop) { - if (_py_stop && (*_py_stop != Py_None)) { - cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); - if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstop = PY_SSIZE_T_MAX; - } - if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { - Py_ssize_t l = ms->sq_length(obj); - if (likely(l >= 0)) { - if (cstop < 0) { - cstop += l; - if (cstop < 0) cstop = 0; - } - if (cstart < 0) { - cstart += l; - if (cstart < 0) cstart = 0; - } - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - goto bad; - PyErr_Clear(); - } - } - return ms->sq_slice(obj, cstart, cstop); - } -#endif - mp = Py_TYPE(obj)->tp_as_mapping; - if (likely(mp && mp->mp_subscript)) -#endif - { - PyObject* result; - PyObject *py_slice, *py_start, *py_stop; - if (_py_slice) { - py_slice = *_py_slice; - } else { - PyObject* owned_start = NULL; - PyObject* owned_stop = NULL; - if (_py_start) { - py_start = *_py_start; - } else { - if (has_cstart) { - owned_start = py_start = PyInt_FromSsize_t(cstart); - if (unlikely(!py_start)) goto bad; - } else - py_start = Py_None; - } - if (_py_stop) { - py_stop = *_py_stop; - } else { - if (has_cstop) { - owned_stop = py_stop = PyInt_FromSsize_t(cstop); - if (unlikely(!py_stop)) { - Py_XDECREF(owned_start); - goto bad; - } - } else - py_stop = Py_None; - } - py_slice = PySlice_New(py_start, py_stop, Py_None); - Py_XDECREF(owned_start); - Py_XDECREF(owned_stop); - if (unlikely(!py_slice)) goto bad; - } -#if CYTHON_USE_TYPE_SLOTS - result = mp->mp_subscript(obj, py_slice); -#else - result = PyObject_GetItem(obj, py_slice); -#endif - if (!_py_slice) { - Py_DECREF(py_slice); - } - return result; - } - PyErr_Format(PyExc_TypeError, - "'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name); -bad: - return NULL; -} - -/* ObjectGetItem */ - #if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) { - PyObject *runerr = NULL; - Py_ssize_t key_value; - PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence; - if (unlikely(!(m && m->sq_item))) { - PyErr_Format(PyExc_TypeError, "'%.200s' object is not subscriptable", Py_TYPE(obj)->tp_name); - return NULL; - } - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - PyErr_Clear(); - PyErr_Format(PyExc_IndexError, "cannot fit '%.200s' into an index-sized integer", Py_TYPE(index)->tp_name); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject* key) { - PyMappingMethods *m = Py_TYPE(obj)->tp_as_mapping; - if (likely(m && m->mp_subscript)) { - return m->mp_subscript(obj, key); - } - return __Pyx_PyObject_GetIndex(obj, key); -} -#endif - -/* SliceObject */ - static CYTHON_INLINE int __Pyx_PyObject_SetSlice(PyObject* obj, PyObject* value, - Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, - int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { -#if CYTHON_USE_TYPE_SLOTS - PyMappingMethods* mp; -#if PY_MAJOR_VERSION < 3 - PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; - if (likely(ms && ms->sq_ass_slice)) { - if (!has_cstart) { - if (_py_start && (*_py_start != Py_None)) { - cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); - if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstart = 0; - } - if (!has_cstop) { - if (_py_stop && (*_py_stop != Py_None)) { - cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); - if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstop = PY_SSIZE_T_MAX; - } - if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { - Py_ssize_t l = ms->sq_length(obj); - if (likely(l >= 0)) { - if (cstop < 0) { - cstop += l; - if (cstop < 0) cstop = 0; - } - if (cstart < 0) { - cstart += l; - if (cstart < 0) cstart = 0; - } - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - goto bad; - PyErr_Clear(); - } - } - return ms->sq_ass_slice(obj, cstart, cstop, value); - } -#endif - mp = Py_TYPE(obj)->tp_as_mapping; - if (likely(mp && mp->mp_ass_subscript)) -#endif - { - int result; - PyObject *py_slice, *py_start, *py_stop; - if (_py_slice) { - py_slice = *_py_slice; - } else { - PyObject* owned_start = NULL; - PyObject* owned_stop = NULL; - if (_py_start) { - py_start = *_py_start; - } else { - if (has_cstart) { - owned_start = py_start = PyInt_FromSsize_t(cstart); - if (unlikely(!py_start)) goto bad; - } else - py_start = Py_None; - } - if (_py_stop) { - py_stop = *_py_stop; - } else { - if (has_cstop) { - owned_stop = py_stop = PyInt_FromSsize_t(cstop); - if (unlikely(!py_stop)) { - Py_XDECREF(owned_start); - goto bad; - } - } else - py_stop = Py_None; - } - py_slice = PySlice_New(py_start, py_stop, Py_None); - Py_XDECREF(owned_start); - Py_XDECREF(owned_stop); - if (unlikely(!py_slice)) goto bad; - } -#if CYTHON_USE_TYPE_SLOTS - result = mp->mp_ass_subscript(obj, py_slice, value); -#else - result = value ? PyObject_SetItem(obj, py_slice, value) : PyObject_DelItem(obj, py_slice); -#endif - if (!_py_slice) { - Py_DECREF(py_slice); - } - return result; - } - PyErr_Format(PyExc_TypeError, - "'%.200s' object does not support slice %.10s", - Py_TYPE(obj)->tp_name, value ? "assignment" : "deletion"); -bad: - return -1; -} - -/* PyErrExceptionMatches */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; icurexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; - if (unlikely(PyTuple_Check(err))) - return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - return __Pyx_PyErr_GivenExceptionMatches(exc_type, err); -} -#endif - -/* PyObject_GenericGetAttrNoDict */ - #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'%.50s' object has no attribute '%U'", - tp->tp_name, attr_name); -#else - "'%.50s' object has no attribute '%.400s'", - tp->tp_name, PyString_AS_STRING(attr_name)); -#endif - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* PyObject_GenericGetAttr */ - #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { - if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { - return PyObject_GenericGetAttr(obj, attr_name); - } - return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError */ - static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -} - -/* SetupReduce */ - static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { - int ret; - PyObject *name_attr; - name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); - if (likely(name_attr)) { - ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); - } else { - ret = -1; - } - if (unlikely(ret < 0)) { - PyErr_Clear(); - ret = 0; - } - Py_XDECREF(name_attr); - return ret; -} -static int __Pyx_setup_reduce(PyObject* type_obj) { - int ret = 0; - PyObject *object_reduce = NULL; - PyObject *object_getstate = NULL; - PyObject *object_reduce_ex = NULL; - PyObject *reduce = NULL; - PyObject *reduce_ex = NULL; - PyObject *reduce_cython = NULL; - PyObject *setstate = NULL; - PyObject *setstate_cython = NULL; - PyObject *getstate = NULL; -#if CYTHON_USE_PYTYPE_LOOKUP - getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate); -#else - getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate); - if (!getstate && PyErr_Occurred()) { - goto __PYX_BAD; - } -#endif - if (getstate) { -#if CYTHON_USE_PYTYPE_LOOKUP - object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate); -#else - object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate); - if (!object_getstate && PyErr_Occurred()) { - goto __PYX_BAD; - } -#endif - if (object_getstate != getstate) { - goto __PYX_GOOD; - } - } -#if CYTHON_USE_PYTYPE_LOOKUP - object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; -#else - object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD; -#endif - reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD; - if (reduce_ex == object_reduce_ex) { -#if CYTHON_USE_PYTYPE_LOOKUP - object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; -#else - object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD; -#endif - reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD; - if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { - reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython); - if (likely(reduce_cython)) { - ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - } else if (reduce == object_reduce || PyErr_Occurred()) { - goto __PYX_BAD; - } - setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); - if (!setstate) PyErr_Clear(); - if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { - setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython); - if (likely(setstate_cython)) { - ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD; - } else if (!setstate || PyErr_Occurred()) { - goto __PYX_BAD; - } - } - PyType_Modified((PyTypeObject*)type_obj); - } - } - goto __PYX_GOOD; -__PYX_BAD: - if (!PyErr_Occurred()) - PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); - ret = -1; -__PYX_GOOD: -#if !CYTHON_USE_PYTYPE_LOOKUP - Py_XDECREF(object_reduce); - Py_XDECREF(object_reduce_ex); - Py_XDECREF(object_getstate); - Py_XDECREF(getstate); -#endif - Py_XDECREF(reduce); - Py_XDECREF(reduce_ex); - Py_XDECREF(reduce_cython); - Py_XDECREF(setstate); - Py_XDECREF(setstate_cython); - return ret; -} - -/* TypeImport */ - #ifndef __PYX_HAVE_RT_ImportType -#define __PYX_HAVE_RT_ImportType -static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, - size_t size, enum __Pyx_ImportType_CheckSize check_size) -{ - PyObject *result = 0; - char warning[200]; - Py_ssize_t basicsize; -#ifdef Py_LIMITED_API - PyObject *py_basicsize; -#endif - result = PyObject_GetAttrString(module, class_name); - if (!result) - goto bad; - if (!PyType_Check(result)) { - PyErr_Format(PyExc_TypeError, - "%.200s.%.200s is not a type object", - module_name, class_name); - goto bad; - } -#ifndef Py_LIMITED_API - basicsize = ((PyTypeObject *)result)->tp_basicsize; -#else - py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); - if (!py_basicsize) - goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) - goto bad; -#endif - if ((size_t)basicsize < size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - goto bad; - } - if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { - PyErr_Format(PyExc_ValueError, - "%.200s.%.200s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - goto bad; - } - else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { - PyOS_snprintf(warning, sizeof(warning), - "%s.%s size changed, may indicate binary incompatibility. " - "Expected %zd from C header, got %zd from PyObject", - module_name, class_name, size, basicsize); - if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; - } - return (PyTypeObject *)result; -bad: - Py_XDECREF(result); - return NULL; -} -#endif - -/* Import */ - static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *empty_list = 0; - PyObject *module = 0; - PyObject *global_dict = 0; - PyObject *empty_dict = 0; - PyObject *list; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (!py_import) - goto bad; - #endif - if (from_list) - list = from_list; - else { - empty_list = PyList_New(0); - if (!empty_list) - goto bad; - list = empty_list; - } - global_dict = PyModule_GetDict(__pyx_m); - if (!global_dict) - goto bad; - empty_dict = PyDict_New(); - if (!empty_dict) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, 1); - if (!module) { - if (!PyErr_ExceptionMatches(PyExc_ImportError)) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (!py_level) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, global_dict, empty_dict, list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, global_dict, empty_dict, list, level); - #endif - } - } -bad: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - Py_XDECREF(empty_list); - Py_XDECREF(empty_dict); - return module; -} - -/* ImportFrom */ - static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Format(PyExc_ImportError, - #if PY_MAJOR_VERSION < 3 - "cannot import name %.230s", PyString_AS_STRING(name)); - #else - "cannot import name %S", name); - #endif - } - return value; -} - -/* CLineInTraceback */ - #ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ - static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} - -/* AddTraceback */ - #include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} - -/* CIntFromPyVerify */ - #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* Declarations */ - #if CYTHON_CCOMPLEX - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return ::std::complex< float >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return x + y*(__pyx_t_float_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - __pyx_t_float_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ - #if CYTHON_CCOMPLEX -#else - static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - if (b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabsf(b.real) >= fabsf(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - float r = b.imag / b.real; - float s = (float)(1.0) / (b.real + b.imag * r); - return __pyx_t_float_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - float r = b.real / b.imag; - float s = (float)(1.0) / (b.imag + b.real * r); - return __pyx_t_float_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - if (b.imag == 0) { - return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - float denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_float_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrtf(z.real*z.real + z.imag*z.imag); - #else - return hypotf(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - float r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - float denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_float(a, a); - case 3: - z = __Pyx_c_prod_float(a, a); - return __Pyx_c_prod_float(z, a); - case 4: - z = __Pyx_c_prod_float(a, a); - return __Pyx_c_prod_float(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if ((b.imag == 0) && (a.real >= 0)) { - z.real = powf(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2f(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_float(a); - theta = atan2f(a.imag, a.real); - } - lnr = logf(r); - z_r = expf(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cosf(z_theta); - z.imag = z_r * sinf(z_theta); - return z; - } - #endif -#endif - -/* Declarations */ - #if CYTHON_CCOMPLEX - #ifdef __cplusplus - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return ::std::complex< double >(x, y); - } - #else - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return x + y*(__pyx_t_double_complex)_Complex_I; - } - #endif -#else - static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - __pyx_t_double_complex z; - z.real = x; - z.imag = y; - return z; - } -#endif - -/* Arithmetic */ - #if CYTHON_CCOMPLEX -#else - static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - return (a.real == b.real) && (a.imag == b.imag); - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - #if 1 - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - if (b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else if (fabs(b.real) >= fabs(b.imag)) { - if (b.real == 0 && b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag); - } else { - double r = b.imag / b.real; - double s = (double)(1.0) / (b.real + b.imag * r); - return __pyx_t_double_complex_from_parts( - (a.real + a.imag * r) * s, (a.imag - a.real * r) * s); - } - } else { - double r = b.real / b.imag; - double s = (double)(1.0) / (b.imag + b.real * r); - return __pyx_t_double_complex_from_parts( - (a.real * r + a.imag) * s, (a.imag * r - a.real) * s); - } - } - #else - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - if (b.imag == 0) { - return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real); - } else { - double denom = b.real * b.real + b.imag * b.imag; - return __pyx_t_double_complex_from_parts( - (a.real * b.real + a.imag * b.imag) / denom, - (a.imag * b.real - a.real * b.imag) / denom); - } - } - #endif - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) { - return (a.real == 0) && (a.imag == 0); - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = a.real; - z.imag = -a.imag; - return z; - } - #if 1 - static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) { - #if !defined(HAVE_HYPOT) || defined(_MSC_VER) - return sqrt(z.real*z.real + z.imag*z.imag); - #else - return hypot(z.real, z.imag); - #endif - } - static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - double r, lnr, theta, z_r, z_theta; - if (b.imag == 0 && b.real == (int)b.real) { - if (b.real < 0) { - double denom = a.real * a.real + a.imag * a.imag; - a.real = a.real / denom; - a.imag = -a.imag / denom; - b.real = -b.real; - } - switch ((int)b.real) { - case 0: - z.real = 1; - z.imag = 0; - return z; - case 1: - return a; - case 2: - return __Pyx_c_prod_double(a, a); - case 3: - z = __Pyx_c_prod_double(a, a); - return __Pyx_c_prod_double(z, a); - case 4: - z = __Pyx_c_prod_double(a, a); - return __Pyx_c_prod_double(z, z); - } - } - if (a.imag == 0) { - if (a.real == 0) { - return a; - } else if ((b.imag == 0) && (a.real >= 0)) { - z.real = pow(a.real, b.real); - z.imag = 0; - return z; - } else if (a.real > 0) { - r = a.real; - theta = 0; - } else { - r = -a.real; - theta = atan2(0.0, -1.0); - } - } else { - r = __Pyx_c_abs_double(a); - theta = atan2(a.imag, a.real); - } - lnr = log(r); - z_r = exp(lnr * b.real - theta * b.imag); - z_theta = theta * b.real + lnr * b.imag; - z.real = z_r * cos(z_theta); - z.imag = z_r * sin(z_theta); - return z; - } - #endif -#endif - -/* CIntFromPy */ - static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const size_t neg_one = (size_t) -1, const_zero = (size_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(size_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (size_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (size_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0]) - case 2: - if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) { - return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) { - return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) >= 4 * PyLong_SHIFT) { - return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (size_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(size_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (size_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, +digits[0]) - case -2: - if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { - return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { - return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { - return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { - return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { - return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT) { - return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(size_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - size_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (size_t) -1; - } - } else { - size_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (size_t) -1; - val = __Pyx_PyInt_As_size_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to size_t"); - return (size_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to size_t"); - return (size_t) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE int64_t __Pyx_PyInt_As_int64_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(int64_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(int64_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int64_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int64_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, digits[0]) - case 2: - if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) >= 2 * PyLong_SHIFT) { - return (int64_t) (((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) >= 3 * PyLong_SHIFT) { - return (int64_t) (((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) >= 4 * PyLong_SHIFT) { - return (int64_t) (((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int64_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(int64_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int64_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(int64_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(int64_t, digit, +digits[0]) - case -2: - if (8 * sizeof(int64_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { - return (int64_t) (((int64_t)-1)*(((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(int64_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { - return (int64_t) ((((((int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(int64_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { - return (int64_t) (((int64_t)-1)*(((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(int64_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { - return (int64_t) ((((((((int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(int64_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) { - return (int64_t) (((int64_t)-1)*(((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(int64_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int64_t) - 1 > 4 * PyLong_SHIFT) { - return (int64_t) ((((((((((int64_t)digits[3]) << PyLong_SHIFT) | (int64_t)digits[2]) << PyLong_SHIFT) | (int64_t)digits[1]) << PyLong_SHIFT) | (int64_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(int64_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(int64_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int64_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - int64_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (int64_t) -1; - } - } else { - int64_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int64_t) -1; - val = __Pyx_PyInt_As_int64_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int64_t"); - return (int64_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int64_t"); - return (int64_t) -1; -} - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint64_t(uint64_t value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(uint64_t) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(uint64_t) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(uint64_t) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(uint64_t), - little, !is_unsigned); - } -} - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(int) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(int) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(int) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int), - little, !is_unsigned); - } -} - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); - } -} - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int64_t(int64_t value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int64_t neg_one = (int64_t) -1, const_zero = (int64_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(int64_t) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(int64_t) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int64_t) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(int64_t) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(int64_t) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(int64_t), - little, !is_unsigned); - } -} - -/* CIntFromPy */ - static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(int) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0]) - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(int) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (int) 0; - case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0]) - case -2: - if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(int) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(int) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(int) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } -#endif - if (sizeof(int) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - int val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (int) -1; - } - } else { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(uint32_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(uint32_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (uint32_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint32_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, digits[0]) - case 2: - if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) >= 2 * PyLong_SHIFT) { - return (uint32_t) (((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) >= 3 * PyLong_SHIFT) { - return (uint32_t) (((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) >= 4 * PyLong_SHIFT) { - return (uint32_t) (((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (uint32_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(uint32_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint32_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(uint32_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(uint32_t, digit, +digits[0]) - case -2: - if (8 * sizeof(uint32_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { - return (uint32_t) (((uint32_t)-1)*(((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(uint32_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { - return (uint32_t) ((((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { - return (uint32_t) (((uint32_t)-1)*(((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(uint32_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { - return (uint32_t) ((((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) { - return (uint32_t) (((uint32_t)-1)*(((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(uint32_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT) { - return (uint32_t) ((((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(uint32_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint32_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint32_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - uint32_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (uint32_t) -1; - } - } else { - uint32_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (uint32_t) -1; - val = __Pyx_PyInt_As_uint32_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to uint32_t"); - return (uint32_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to uint32_t"); - return (uint32_t) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE uint16_t __Pyx_PyInt_As_uint16_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint16_t neg_one = (uint16_t) -1, const_zero = (uint16_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(uint16_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(uint16_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (uint16_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint16_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, digits[0]) - case 2: - if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) >= 2 * PyLong_SHIFT) { - return (uint16_t) (((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) >= 3 * PyLong_SHIFT) { - return (uint16_t) (((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) >= 4 * PyLong_SHIFT) { - return (uint16_t) (((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (uint16_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(uint16_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint16_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint16_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint16_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(uint16_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(uint16_t, digit, +digits[0]) - case -2: - if (8 * sizeof(uint16_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { - return (uint16_t) (((uint16_t)-1)*(((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(uint16_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { - return (uint16_t) ((((((uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(uint16_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { - return (uint16_t) (((uint16_t)-1)*(((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(uint16_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { - return (uint16_t) ((((((((uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(uint16_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) { - return (uint16_t) (((uint16_t)-1)*(((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(uint16_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint16_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint16_t) - 1 > 4 * PyLong_SHIFT) { - return (uint16_t) ((((((((((uint16_t)digits[3]) << PyLong_SHIFT) | (uint16_t)digits[2]) << PyLong_SHIFT) | (uint16_t)digits[1]) << PyLong_SHIFT) | (uint16_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(uint16_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint16_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint16_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint16_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - uint16_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (uint16_t) -1; - } - } else { - uint16_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (uint16_t) -1; - val = __Pyx_PyInt_As_uint16_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to uint16_t"); - return (uint16_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to uint16_t"); - return (uint16_t) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE uint64_t __Pyx_PyInt_As_uint64_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint64_t neg_one = (uint64_t) -1, const_zero = (uint64_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(uint64_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(uint64_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (uint64_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint64_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, digits[0]) - case 2: - if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) >= 2 * PyLong_SHIFT) { - return (uint64_t) (((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) >= 3 * PyLong_SHIFT) { - return (uint64_t) (((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) >= 4 * PyLong_SHIFT) { - return (uint64_t) (((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (uint64_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(uint64_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint64_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint64_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (uint64_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(uint64_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(uint64_t, digit, +digits[0]) - case -2: - if (8 * sizeof(uint64_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { - return (uint64_t) (((uint64_t)-1)*(((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(uint64_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { - return (uint64_t) ((((((uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(uint64_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { - return (uint64_t) (((uint64_t)-1)*(((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(uint64_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { - return (uint64_t) ((((((((uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(uint64_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT) { - return (uint64_t) (((uint64_t)-1)*(((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(uint64_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(uint64_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(uint64_t) - 1 > 4 * PyLong_SHIFT) { - return (uint64_t) ((((((((((uint64_t)digits[3]) << PyLong_SHIFT) | (uint64_t)digits[2]) << PyLong_SHIFT) | (uint64_t)digits[1]) << PyLong_SHIFT) | (uint64_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(uint64_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(uint64_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint64_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(uint64_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - uint64_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (uint64_t) -1; - } - } else { - uint64_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (uint64_t) -1; - val = __Pyx_PyInt_As_uint64_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to uint64_t"); - return (uint64_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to uint64_t"); - return (uint64_t) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE Py_intptr_t __Pyx_PyInt_As_Py_intptr_t(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const Py_intptr_t neg_one = (Py_intptr_t) -1, const_zero = (Py_intptr_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(Py_intptr_t) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (Py_intptr_t) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (Py_intptr_t) 0; - case 1: __PYX_VERIFY_RETURN_INT(Py_intptr_t, digit, digits[0]) - case 2: - if (8 * sizeof(Py_intptr_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) >= 2 * PyLong_SHIFT) { - return (Py_intptr_t) (((((Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(Py_intptr_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) >= 3 * PyLong_SHIFT) { - return (Py_intptr_t) (((((((Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(Py_intptr_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) >= 4 * PyLong_SHIFT) { - return (Py_intptr_t) (((((((((Py_intptr_t)digits[3]) << PyLong_SHIFT) | (Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (Py_intptr_t) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(Py_intptr_t) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(Py_intptr_t, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(Py_intptr_t) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(Py_intptr_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (Py_intptr_t) 0; - case -1: __PYX_VERIFY_RETURN_INT(Py_intptr_t, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(Py_intptr_t, digit, +digits[0]) - case -2: - if (8 * sizeof(Py_intptr_t) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) - 1 > 2 * PyLong_SHIFT) { - return (Py_intptr_t) (((Py_intptr_t)-1)*(((((Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(Py_intptr_t) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) - 1 > 2 * PyLong_SHIFT) { - return (Py_intptr_t) ((((((Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(Py_intptr_t) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) - 1 > 3 * PyLong_SHIFT) { - return (Py_intptr_t) (((Py_intptr_t)-1)*(((((((Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(Py_intptr_t) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) - 1 > 3 * PyLong_SHIFT) { - return (Py_intptr_t) ((((((((Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(Py_intptr_t) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) - 1 > 4 * PyLong_SHIFT) { - return (Py_intptr_t) (((Py_intptr_t)-1)*(((((((((Py_intptr_t)digits[3]) << PyLong_SHIFT) | (Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(Py_intptr_t) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(Py_intptr_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(Py_intptr_t) - 1 > 4 * PyLong_SHIFT) { - return (Py_intptr_t) ((((((((((Py_intptr_t)digits[3]) << PyLong_SHIFT) | (Py_intptr_t)digits[2]) << PyLong_SHIFT) | (Py_intptr_t)digits[1]) << PyLong_SHIFT) | (Py_intptr_t)digits[0]))); - } - } - break; - } -#endif - if (sizeof(Py_intptr_t) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(Py_intptr_t, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(Py_intptr_t) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(Py_intptr_t, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - Py_intptr_t val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (Py_intptr_t) -1; - } - } else { - Py_intptr_t val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (Py_intptr_t) -1; - val = __Pyx_PyInt_As_Py_intptr_t(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to Py_intptr_t"); - return (Py_intptr_t) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to Py_intptr_t"); - return (Py_intptr_t) -1; -} - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(uint32_t) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(uint32_t) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(uint32_t) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - int one = 1; int little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&value; - return _PyLong_FromByteArray(bytes, sizeof(uint32_t), - little, !is_unsigned); - } -} - -/* CIntFromPy */ - static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if (sizeof(long) < sizeof(long)) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } else -#endif - if (likely(PyLong_Check(x))) { - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0]) - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if (sizeof(long) <= sizeof(unsigned long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)x)->ob_digit; - switch (Py_SIZE(x)) { - case 0: return (long) 0; - case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0])) - case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0]) - case -2: - if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if (8 * sizeof(long) > 1 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if (8 * sizeof(long) > 2 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if (8 * sizeof(long) > 3 * PyLong_SHIFT) { - if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } -#endif - if (sizeof(long) <= sizeof(long)) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { -#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray) - PyErr_SetString(PyExc_RuntimeError, - "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers"); -#else - long val; - PyObject *v = __Pyx_PyNumber_IntOrLong(x); - #if PY_MAJOR_VERSION < 3 - if (likely(v) && !PyLong_Check(v)) { - PyObject *tmp = v; - v = PyNumber_Long(tmp); - Py_DECREF(tmp); - } - #endif - if (likely(v)) { - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - int ret = _PyLong_AsByteArray((PyLongObject *)v, - bytes, sizeof(val), - is_little, !is_unsigned); - Py_DECREF(v); - if (likely(!ret)) - return val; - } -#endif - return (long) -1; - } - } else { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* FastTypeChecks */ - #if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = a->tp_base; - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0; - if (!res) { - res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } - return res; -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i '9'); - break; - } - if (rt_from_call[i] != ctversion[i]) { - same = 0; - break; - } - } - if (!same) { - char rtversion[5] = {'\0'}; - char message[200]; - for (i=0; i<4; ++i) { - if (rt_from_call[i] == '.') { - if (found_dot) break; - found_dot = 1; - } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { - break; - } - rtversion[i] = rt_from_call[i]; - } - PyOS_snprintf(message, sizeof(message), - "compiletime version %s of module '%.100s' " - "does not match runtime version %s", - ctversion, __Pyx_MODULE_NAME, rtversion); - return PyErr_WarnEx(NULL, message, 1); - } - return 0; -} - -/* InitStrings */ - static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION < 3 - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - #else - if (t->is_unicode | t->is_str) { - if (t->intern) { - *t->p = PyUnicode_InternFromString(t->s); - } else if (t->encoding) { - *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); - } else { - *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); - } - } else { - *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); - } - #endif - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - ++t; - } - return 0; -} - -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type %.200s). " - "The ability to return an instance of a strict subclass of int " - "is deprecated, and may be removed in a future version of Python.", - Py_TYPE(result)->tp_name)) { - Py_DECREF(result); - return NULL; - } - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type %.200s)", - type_name, type_name, Py_TYPE(result)->tp_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - const digit* digits = ((PyLongObject*)b)->ob_digit; - const Py_ssize_t size = Py_SIZE(b); - if (likely(__Pyx_sst_abs(size) <= 1)) { - ival = likely(size) ? digits[0] : 0; - if (size == -1) ival = -ival; - return ival; - } else { - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -#endif /* Py_PYTHON_H */ diff --git a/indexed_gzip/tests/ctest_zran.cpython-36m-darwin.so b/indexed_gzip/tests/ctest_zran.cpython-36m-darwin.so deleted file mode 100755 index a01dfd7bdaf0ae1523ca597b70c047f52a4e342f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 484944 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 I`Q?}Y2cg;(^b diff --git a/indexed_gzip/tests/ctest_zran.cpython-37m-darwin.so b/indexed_gzip/tests/ctest_zran.cpython-37m-darwin.so deleted file mode 100755 index 41e559c1fa4804f653b2a700f78cdecfb5cb6248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 743664 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

    *3%qwL=9x3M-1@ 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 z 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 z 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 Date: Tue, 21 Feb 2023 16:07:46 -0800 Subject: [PATCH 7/7] test reading large files --- indexed_gzip/tests/ctest_indexed_gzip.pyx | 29 +++++++++++++---------- indexed_gzip/zran.c | 4 ++-- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/indexed_gzip/tests/ctest_indexed_gzip.pyx b/indexed_gzip/tests/ctest_indexed_gzip.pyx index 72046011..021adb7f 100644 --- a/indexed_gzip/tests/ctest_indexed_gzip.pyx +++ b/indexed_gzip/tests/ctest_indexed_gzip.pyx @@ -1026,19 +1026,17 @@ def test_build_index_from_unseekable(): fname = op.join(td, 'test.gz') idxfname = op.join(td, 'test.gzidx') - tmp_filename = op.join(td, 'test.txt') - # make a test file - data = b"apache-beam[azure]==2.36.0\n\n# GCP requirements for apache-beam. Note: when upgrading\n# apache-beam, make sure these requirements are also upgraded\n# accordingly according to Beam's GCP requirements\n# (https://github.com/apache/beam/blob/master/sdks/python/setup.py).\ncachetools>=3.1.0,<5\ngoogle-apitools>=0.5.31,<0.5.32\ngoogle-auth>=1.18.0,<3\n\n# Remaining requirements\nbottle==0.12.20\ndataclasses==0.7;python_version<'3.7'\ndocker==4.3.0\nmarshmallow-jsonapi==0.15.1\nmarshmallow==2.15.1\nsetuptools>=40.0.0\nargcomplete==1.12.3\nindexed_gzip==1.7.0\nratarmountcore==0.1.3\nPyYAML==5.4\npsutil==5.7.2\nsix==1.15.0\nSQLAlchemy==1.3.19\nwatchdog>=2.0.0\nfusepy==2.0.4\npygments>=2.12,<2.13\nclick==8.0.2\npython-dateutil==2.8.1\ndiffimg==0.2.3\nselenium==3.141.0\nrequests==2.25.0\nazure-storage-blob==12.4.0\nazure-core==1.8.0\nsentry-sdk==0.18.0\nrequests-oauthlib==1.1.0\noauthlib==2.1.0\nmarkdown2==2.4.0\nwheel==0.35.1\nurllib3==1.26.5\nretry==0.9.2\nspython==0.1.14\nflufl.lock==6.0\nkubernetes==12.0.1\ngoogle-cloud-storage==2.0.0\n" + data = np.arange(1024 * 1024, dtype=np.uint64) - # with gzip.open(fname, 'wb') as f: - # f.write(data) + with gzip.open(fname, 'wb') as f: + f.write(data.tostring()) # Test creating the index when file is unseekable, # then using the index when file is seekable. - # with open(fname, 'rb') as f: - # b = f.read() - # fileobj = BytesIO(b) + with open(fname, 'rb') as f: + b = f.read() + fileobj = BytesIO(b) fileobj = GzipStream(BytesIO(data)) @@ -1054,12 +1052,19 @@ def test_build_index_from_unseekable(): # generate an index file - with igzip._IndexedGzipFile(fileobj, spacing=131072) as f: - f.build_full_index() - f.export_index(idxfname) - points = list(f.seek_points()) + with igzip._IndexedGzipFile(fileobj, drop_handles=False, spacing=4194304) as f: + while 1: + data = f.read(1024 * 1024) + if len(data) == 0: + break + else: + print(f.fileobj().tell()) + #f.build_full_index() + #f.export_index(idxfname) + #points = list(f.seek_points()) return + fileobj.seek = old_seek fileobj.tell = old_tell fileobj.seekable = lambda: True diff --git a/indexed_gzip/zran.c b/indexed_gzip/zran.c index 7460cf9a..c9323fbb 100644 --- a/indexed_gzip/zran.c +++ b/indexed_gzip/zran.c @@ -1609,7 +1609,7 @@ static int _zran_inflate(zran_index_t *index, * return_val/error_return_val is * the return value for this function. */ - int z_ret = -100; + int z_ret; int off; int return_val = ZRAN_INFLATE_OK; int error_return_val = ZRAN_INFLATE_ERROR; @@ -2143,7 +2143,7 @@ static int _zran_inflate(zran_index_t *index, * data - this is the responsibility of the caller, * so bail out. */ - if (strm->avail_out == 0) { + if (strm->avail_out == 0) { // Jiani: Here error happens zran_log("Output buffer full - stopping inflation\n");

    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 z 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

  • }dk& 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∋Z{$k5>Op%4=9(gB@Z< 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